UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

26 lines 903 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PairwiseIterator = void 0; /** An iterator that pairs adjacent values in the input `Iterator<T>` together like: [T, T] */ 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 }; } } exports.PairwiseIterator = PairwiseIterator; exports.default = PairwiseIterator; //# sourceMappingURL=PairwiseIterator.js.map