@reactivex/ix-es5-esm
Version:
The Interactive Extensions for JavaScript
91 lines (89 loc) • 3.89 kB
JavaScript
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