UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

30 lines 1.02 kB
var RoundrobinIterator = /** @class */ (function () { function RoundrobinIterator(iterators) { this.iterators = iterators; this.i = 0; } RoundrobinIterator.prototype[Symbol.iterator] = function () { return this; }; RoundrobinIterator.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[this.i]).next.apply(_a, args); if (next.done) { this.iterators.splice(this.i, 1); this.i %= this.iterators.length; return this.next.apply(this, args); } this.i = (this.i + 1) % this.iterators.length; return next; }; return RoundrobinIterator; }()); export { RoundrobinIterator }; export default RoundrobinIterator; //# sourceMappingURL=RoundrobinIterator.js.map