UNPKG

@reactivex/ix-es5-esm

Version:

The Interactive Extensions for JavaScript

91 lines (89 loc) 3.89 kB
import { __asyncGenerator, __await, __extends, __generator, __values } from "tslib"; import { AsyncIterableX } from './asynciterablex.js'; import { wrapWithAbort } from './operators/withabort.js'; import { throwIfAborted } from '../aborterror.js'; /** @ignore */ var OnErrorResumeNextAsyncIterable = /** @class */ (function (_super) { __extends(OnErrorResumeNextAsyncIterable, _super); function OnErrorResumeNextAsyncIterable(source) { var _this = _super.call(this) || this; _this._source = source; return _this; } OnErrorResumeNextAsyncIterable.prototype[Symbol.asyncIterator] = function (signal) { return __asyncGenerator(this, arguments, function _a() { var _b, _c, item, it_1, next, e_1, e_2_1; var e_2, _d; return __generator(this, function (_e) { switch (_e.label) { case 0: throwIfAborted(signal); _e.label = 1; case 1: _e.trys.push([1, 12, 13, 14]); _b = __values(this._source), _c = _b.next(); _e.label = 2; case 2: if (!!_c.done) return [3 /*break*/, 11]; item = _c.value; it_1 = wrapWithAbort(item, signal)[Symbol.asyncIterator](); _e.label = 3; case 3: if (!1) return [3 /*break*/, 10]; next = void 0; _e.label = 4; case 4: _e.trys.push([4, 6, , 7]); return [4 /*yield*/, __await(it_1.next())]; case 5: next = _e.sent(); return [3 /*break*/, 7]; case 6: e_1 = _e.sent(); return [3 /*break*/, 10]; case 7: if (next.done) { return [3 /*break*/, 10]; } return [4 /*yield*/, __await(next.value)]; case 8: return [4 /*yield*/, _e.sent()]; case 9: _e.sent(); return [3 /*break*/, 3]; case 10: _c = _b.next(); return [3 /*break*/, 2]; case 11: return [3 /*break*/, 14]; case 12: e_2_1 = _e.sent(); e_2 = { error: e_2_1 }; return [3 /*break*/, 14]; case 13: try { if (_c && !_c.done && (_d = _b.return)) _d.call(_b); } finally { if (e_2) throw e_2.error; } return [7 /*endfinally*/]; case 14: return [2 /*return*/]; } }); }); }; return OnErrorResumeNextAsyncIterable; }(AsyncIterableX)); export { OnErrorResumeNextAsyncIterable }; /** * Concatenates all of the specified async-iterable sequences, even if the previous async-iterable sequence terminated exceptionally. * * @template T The type of the elements in the source sequences. * @param {...AsyncIterable<T>[]} args Async-iterable sequences to concatenate. * @returns {AsyncIterableX<T>} An async-iterable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. */ export function onErrorResumeNext() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return new OnErrorResumeNextAsyncIterable(args); } //# sourceMappingURL=onerrorresumenext.js.map