UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

23 lines 676 B
export class RoundrobinIterator { constructor(iterators) { this.iterators = iterators; this.i = 0; } [Symbol.iterator]() { return this; } next(...args) { if (!this.iterators.length) return { done: true, value: undefined }; const next = this.iterators[this.i].next(...args); if (next.done) { this.iterators.splice(this.i, 1); this.i %= this.iterators.length; return this.next(...args); } this.i = (this.i + 1) % this.iterators.length; return next; } } export default RoundrobinIterator; //# sourceMappingURL=RoundrobinIterator.js.map