UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

31 lines 1.15 kB
/** An iterator that collects (triplets) from the input `Iterator<T>`, like: [T, T, T]. */ var TriplewiseIterator = /** @class */ (function () { function TriplewiseIterator(iterator) { this.iterator = iterator; this.prev = []; } TriplewiseIterator.prototype[Symbol.iterator] = function () { return this; }; TriplewiseIterator.prototype.next = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } while (this.prev.length !== 3) { var next = (_a = this.iterator).next.apply(_a, args); // if (next.done) return (this.next = () => ({ done: true, value: undefined }))(); if (next.done) return { done: true, value: undefined }; this.prev.push(next.value); } var value = this.prev.slice(); this.prev.shift(); return { done: false, value: value }; }; return TriplewiseIterator; }()); export { TriplewiseIterator }; export default TriplewiseIterator; //# sourceMappingURL=TriplewiseIterator.js.map