Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / rxjs / internal / observable / using.js
1 "use strict";
2 Object.defineProperty(exports, "__esModule", { value: true });
3 var Observable_1 = require("../Observable");
4 var from_1 = require("./from");
5 var empty_1 = require("./empty");
6 function using(resourceFactory, observableFactory) {
7     return new Observable_1.Observable(function (subscriber) {
8         var resource;
9         try {
10             resource = resourceFactory();
11         }
12         catch (err) {
13             subscriber.error(err);
14             return undefined;
15         }
16         var result;
17         try {
18             result = observableFactory(resource);
19         }
20         catch (err) {
21             subscriber.error(err);
22             return undefined;
23         }
24         var source = result ? from_1.from(result) : empty_1.EMPTY;
25         var subscription = source.subscribe(subscriber);
26         return function () {
27             subscription.unsubscribe();
28             if (resource) {
29                 resource.unsubscribe();
30             }
31         };
32     });
33 }
34 exports.using = using;
35 //# sourceMappingURL=using.js.map