UNPKG

sequency

Version:

Functional sequences for processing iterable data in JavaScript

34 lines 1.16 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.Filter = void 0; var Sequence_1 = require("./Sequence"); var FilterIterator = /** @class */ (function () { function FilterIterator(predicate, iterator) { this.predicate = predicate; this.iterator = iterator; } FilterIterator.prototype.next = function (value) { for (var item = this.iterator.next(); !item.done; item = this.iterator.next()) { if (this.predicate(item.value)) { return { done: false, value: item.value }; } } return { done: true, value: undefined }; }; return FilterIterator; }()); var Filter = /** @class */ (function () { function Filter() { } /** * Returns a new sequence consisting of all elements that match the given `predicate`. * * @param {(T) => boolean} predicate * @returns {Sequence<T>} */ Filter.prototype.filter = function (predicate) { return (0, Sequence_1.createSequence)(new FilterIterator(predicate, this.iterator)); }; return Filter; }()); exports.Filter = Filter; //# sourceMappingURL=filter.js.map