UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

34 lines 1.15 kB
var ZipLongestIterator = /** @class */ (function () { function ZipLongestIterator(iterators) { this.iterators = iterators; this.done = new Set(); } ZipLongestIterator.prototype[Symbol.iterator] = function () { return this; }; ZipLongestIterator.prototype.next = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var values = []; for (var i = 0; i < this.iterators.length; i++) { if (!this.done.has(i)) { var next = (_a = this.iterators[i]).next.apply(_a, args); if (next.done) this.done.add(i); values.push(next.value); } else values.push(undefined); } if (values.length === this.done.size) return { done: true, value: undefined }; return { value: values, done: false }; }; return ZipLongestIterator; }()); export { ZipLongestIterator }; export default ZipLongestIterator; //# sourceMappingURL=ZipLongestIterator.js.map