iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
29 lines • 920 B
JavaScript
/**
* An iterator that filters the values from the input Iterator<T>, to only those that return a truthy value in the
* `predicate`.
*/
var FilterIterator = /** @class */ (function () {
function FilterIterator(iterator, predicate) {
this.iterator = iterator;
this.predicate = predicate;
}
FilterIterator.prototype[Symbol.iterator] = function () {
return this;
};
FilterIterator.prototype.next = function () {
var _a;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var result;
do
result = (_a = this.iterator).next.apply(_a, args);
while (!result.done && !this.predicate(result.value));
return result;
};
return FilterIterator;
}());
export { FilterIterator };
export default FilterIterator;
//# sourceMappingURL=FilterIterator.js.map