UNPKG

sequency

Version:

Functional sequences for processing iterable data in JavaScript

36 lines 1.22 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.TakeWhile = void 0; var Sequence_1 = require("./Sequence"); var TakeWhileIterator = /** @class */ (function () { function TakeWhileIterator(iterator, predicate) { this.iterator = iterator; this.predicate = predicate; } TakeWhileIterator.prototype.next = function (value) { var item = this.iterator.next(); if (!item.done) { var result = this.predicate(item.value); if (result) { return { done: false, value: item.value }; } } return { done: true, value: undefined }; }; return TakeWhileIterator; }()); var TakeWhile = /** @class */ (function () { function TakeWhile() { } /** * Takes all elements of the sequence as long as the given `predicate` evaluates to true. * * @param {(item: T) => boolean} predicate * @returns {Sequence<T>} */ TakeWhile.prototype.takeWhile = function (predicate) { return (0, Sequence_1.createSequence)(new TakeWhileIterator(this.iterator, predicate)); }; return TakeWhile; }()); exports.TakeWhile = TakeWhile; //# sourceMappingURL=takeWhile.js.map