1 | "use strict";
|
2 | exports.__esModule = true;
|
3 | exports.toAsyncIterable = exports.asyncIterableFromObservable = void 0;
|
4 | var tslib_1 = require("tslib");
|
5 | var _1 = require(".");
|
6 | function asyncIterableFromObservable(observable) {
|
7 | var _a = tslib_1.__read((0, _1.iterateLater)(), 3), iterable = _a[0], next = _a[1], complete = _a[2];
|
8 | observable.subscribe(next, function (error) { return next(Promise.reject(error)); }, complete);
|
9 | return iterable;
|
10 | }
|
11 | exports.asyncIterableFromObservable = asyncIterableFromObservable;
|
12 | function _toAsyncIterable(value) {
|
13 | if (typeof value[Symbol.asyncIterator] === 'function')
|
14 | return value;
|
15 | if (typeof value.subscribe === 'function')
|
16 | return asyncIterableFromObservable(value);
|
17 | var iterate;
|
18 | if (typeof value[Symbol.iterator] === 'function') {
|
19 | iterate = function () {
|
20 | return tslib_1.__asyncGenerator(this, arguments, function () {
|
21 | var _a, _b, element, e_1_1;
|
22 | var e_1, _c;
|
23 | return tslib_1.__generator(this, function (_d) {
|
24 | switch (_d.label) {
|
25 | case 0:
|
26 | _d.trys.push([0, 7, 8, 9]);
|
27 | _a = tslib_1.__values(value), _b = _a.next();
|
28 | _d.label = 1;
|
29 | case 1:
|
30 | if (!!_b.done) return [3 , 6];
|
31 | element = _b.value;
|
32 | return [4 , tslib_1.__await(element)];
|
33 | case 2: return [4 , tslib_1.__await.apply(void 0, [_d.sent()])];
|
34 | case 3: return [4 , _d.sent()];
|
35 | case 4:
|
36 | _d.sent();
|
37 | _d.label = 5;
|
38 | case 5:
|
39 | _b = _a.next();
|
40 | return [3 , 1];
|
41 | case 6: return [3 , 9];
|
42 | case 7:
|
43 | e_1_1 = _d.sent();
|
44 | e_1 = { error: e_1_1 };
|
45 | return [3 , 9];
|
46 | case 8:
|
47 | try {
|
48 | if (_b && !_b.done && (_c = _a["return"])) _c.call(_a);
|
49 | }
|
50 | finally { if (e_1) throw e_1.error; }
|
51 | return [7 ];
|
52 | case 9: return [2 ];
|
53 | }
|
54 | });
|
55 | });
|
56 | };
|
57 | }
|
58 | else {
|
59 | iterate = function () {
|
60 | return tslib_1.__asyncGenerator(this, arguments, function () {
|
61 | return tslib_1.__generator(this, function (_a) {
|
62 | switch (_a.label) {
|
63 | case 0: return [4 , tslib_1.__await(value)];
|
64 | case 1: return [4 , tslib_1.__await.apply(void 0, [(_a.sent())])];
|
65 | case 2: return [4 , _a.sent()];
|
66 | case 3:
|
67 | _a.sent();
|
68 | return [2 ];
|
69 | }
|
70 | });
|
71 | });
|
72 | };
|
73 | }
|
74 | return iterate();
|
75 | }
|
76 | function toAsyncIterable(value) {
|
77 | return typeof value === 'undefined'
|
78 | ? function (curriedValue) { return _toAsyncIterable(curriedValue); }
|
79 | : _toAsyncIterable(value);
|
80 | }
|
81 | exports.toAsyncIterable = toAsyncIterable;
|