UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

27 lines 819 B
export 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 }; } } export default ZipLongestIterator; //# sourceMappingURL=ZipLongestIterator.js.map