UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

22 lines 750 B
/** An iterator that pairs adjacent values in the input `Iterator<T>` together like: [T, T] */ export class PairwiseIterator { constructor(iterator) { this.iterator = iterator; this.prev = null; } [Symbol.iterator]() { return this; } next(...args) { if (!this.prev && (this.prev = this.iterator.next(...args)).done) return { done: true, value: undefined }; const next = this.iterator.next(...args); if (next.done) return { done: true, value: undefined }; const value = [this.prev.value, next.value]; this.prev = next; return { done: false, value }; } } export default PairwiseIterator; //# sourceMappingURL=PairwiseIterator.js.map