Resource.js 407 B

12345678910111213141516171819202122232425
  1. 'use strict';
  2. const defer = require('./utils').defer;
  3. const now = require('./utils').now;
  4. class Resource {
  5. constructor(resource) {
  6. this.resource = resource;
  7. this.timestamp = now();
  8. this.deferred = defer();
  9. }
  10. get promise() {
  11. return this.deferred.promise;
  12. }
  13. resolve() {
  14. this.deferred.resolve();
  15. return new Resource(this.resource);
  16. }
  17. }
  18. module.exports = {
  19. Resource
  20. };