UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

30 lines 1.04 kB
/** Take values from the input `iterator` while the predicate returns a truthy value. */ var TakeWhileIterator = /** @class */ (function () { function TakeWhileIterator(iterator, predicate) { this.iterator = iterator; this.predicate = predicate; this.done = false; } TakeWhileIterator.prototype[Symbol.iterator] = function () { return this; }; TakeWhileIterator.prototype.next = function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (this.done) return { done: true, value: undefined }; var next = (_a = this.iterator).next.apply(_a, args); if (next.done || !this.predicate(next.value)) { this.done = true; return this.next.apply(this, args); } return next; }; return TakeWhileIterator; }()); export { TakeWhileIterator }; export default TakeWhileIterator; //# sourceMappingURL=TakeWhileIterator.js.map