UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

25 lines 875 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FilterMapIterator = void 0; /** Maps the input iterator to a new value of type `R` and filters out any values that are nullish. */ class FilterMapIterator { constructor(iterator, iteratee) { this.iterator = iterator; this.iteratee = iteratee; } [Symbol.iterator]() { return this; } next(...args) { const next = this.iterator.next(...args); if (next.done) return { value: undefined, done: true }; const value = this.iteratee(next.value); if (value === null || value === undefined) return this.next(...args); return { value: value, done: false }; } } exports.FilterMapIterator = FilterMapIterator; exports.default = FilterMapIterator; //# sourceMappingURL=FilterMapIterator.js.map