| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.using = void 0; |
| var Observable_1 = require("../Observable"); |
| var innerFrom_1 = require("./innerFrom"); |
| var empty_1 = require("./empty"); |
| function using(resourceFactory, observableFactory) { |
| return new Observable_1.Observable(function (subscriber) { |
| var resource = resourceFactory(); |
| var result = observableFactory(resource); |
| var source = result ? innerFrom_1.innerFrom(result) : empty_1.EMPTY; |
| source.subscribe(subscriber); |
| return function () { |
| if (resource) { |
| resource.unsubscribe(); |
| } |
| }; |
| }); |
| } |
| exports.using = using; |
| //# sourceMappingURL=using.js.map |