UNPKG

@reactivex/ix-es5-esm

Version:

The Interactive Extensions for JavaScript

111 lines (109 loc) 4.63 kB
import { __asyncGenerator, __asyncValues, __await, __extends, __generator, __values } from "tslib"; import { AsyncIterableX } from '../asynciterablex.js'; import { wrapWithAbort } from './withabort.js'; import { throwIfAborted } from '../../aborterror.js'; /** @ignore */ var StartWithAsyncIterable = /** @class */ (function (_super) { __extends(StartWithAsyncIterable, _super); function StartWithAsyncIterable(source, args) { var _this = _super.call(this) || this; _this._source = source; _this._args = args; return _this; } StartWithAsyncIterable.prototype[Symbol.asyncIterator] = function (signal) { return __asyncGenerator(this, arguments, function _a() { var _b, _c, x, e_1_1, _d, _e, _f, item, e_2_1; var e_1, _g; var _h, e_2, _j, _k; return __generator(this, function (_l) { switch (_l.label) { case 0: throwIfAborted(signal); _l.label = 1; case 1: _l.trys.push([1, 7, 8, 9]); _b = __values(this._args), _c = _b.next(); _l.label = 2; case 2: if (!!_c.done) return [3 /*break*/, 6]; x = _c.value; return [4 /*yield*/, __await(x)]; case 3: return [4 /*yield*/, _l.sent()]; case 4: _l.sent(); _l.label = 5; case 5: _c = _b.next(); return [3 /*break*/, 2]; case 6: return [3 /*break*/, 9]; case 7: e_1_1 = _l.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 9]; case 8: try { if (_c && !_c.done && (_g = _b.return)) _g.call(_b); } finally { if (e_1) throw e_1.error; } return [7 /*endfinally*/]; case 9: _l.trys.push([9, 16, 17, 22]); _d = true, _e = __asyncValues(wrapWithAbort(this._source, signal)); _l.label = 10; case 10: return [4 /*yield*/, __await(_e.next())]; case 11: if (!(_f = _l.sent(), _h = _f.done, !_h)) return [3 /*break*/, 15]; _k = _f.value; _d = false; item = _k; return [4 /*yield*/, __await(item)]; case 12: return [4 /*yield*/, _l.sent()]; case 13: _l.sent(); _l.label = 14; case 14: _d = true; return [3 /*break*/, 10]; case 15: return [3 /*break*/, 22]; case 16: e_2_1 = _l.sent(); e_2 = { error: e_2_1 }; return [3 /*break*/, 22]; case 17: _l.trys.push([17, , 20, 21]); if (!(!_d && !_h && (_j = _e.return))) return [3 /*break*/, 19]; return [4 /*yield*/, __await(_j.call(_e))]; case 18: _l.sent(); _l.label = 19; case 19: return [3 /*break*/, 21]; case 20: if (e_2) throw e_2.error; return [7 /*endfinally*/]; case 21: return [7 /*endfinally*/]; case 22: return [2 /*return*/]; } }); }); }; return StartWithAsyncIterable; }(AsyncIterableX)); export { StartWithAsyncIterable }; /** * Prepend a value to an async-iterable sequence. * * @template TSource The type of the elements in the source sequence. * @param {...TSource[]} args Elements to prepend to the specified sequence. * @returns The source sequence prepended with the specified values. */ export function startWith() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return function startWithOperatorFunction(source) { return new StartWithAsyncIterable(source, args); }; } //# sourceMappingURL=startwith.js.map