iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
27 lines • 945 B
JavaScript
/** An iterator that concatenates other iterators together, in the order they are in the `iterators` arg. */
var ConcatIterator = /** @class */ (function () {
function ConcatIterator(iterators) {
this.iterators = iterators;
}
ConcatIterator.prototype[Symbol.iterator] = function () {
return this;
};
ConcatIterator.prototype.next = function () {
var _a;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (!this.iterators.length)
return { done: true, value: undefined };
var next = (_a = this.iterators[0]).next.apply(_a, args);
if (!next.done)
return next;
this.iterators.shift();
return this.next.apply(this, args);
};
return ConcatIterator;
}());
export { ConcatIterator };
export default ConcatIterator;
//# sourceMappingURL=ConcatIterator.js.map