using.js 733 B

123456789101112131415161718192021
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.using = void 0;
  4. var Observable_1 = require("../Observable");
  5. var innerFrom_1 = require("./innerFrom");
  6. var empty_1 = require("./empty");
  7. function using(resourceFactory, observableFactory) {
  8. return new Observable_1.Observable(function (subscriber) {
  9. var resource = resourceFactory();
  10. var result = observableFactory(resource);
  11. var source = result ? innerFrom_1.innerFrom(result) : empty_1.EMPTY;
  12. source.subscribe(subscriber);
  13. return function () {
  14. if (resource) {
  15. resource.unsubscribe();
  16. }
  17. };
  18. });
  19. }
  20. exports.using = using;
  21. //# sourceMappingURL=using.js.map