UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

31 lines 978 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ZipLongestIterator = void 0; class ZipLongestIterator { constructor(iterators) { this.iterators = iterators; this.done = new Set(); } [Symbol.iterator]() { return this; } next(...args) { const values = []; for (let i = 0; i < this.iterators.length; i++) { if (!this.done.has(i)) { const next = this.iterators[i].next(...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 }; } } exports.ZipLongestIterator = ZipLongestIterator; exports.default = ZipLongestIterator; //# sourceMappingURL=ZipLongestIterator.js.map