iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
30 lines • 1.04 kB
JavaScript
/** Drops/skips values in the input `iterator` while the predicate returns a truthy value. */
var DropWhileIterator = /** @class */ (function () {
function DropWhileIterator(iterator, predicate) {
this.iterator = iterator;
this.predicate = predicate;
this.dropped = false;
}
DropWhileIterator.prototype[Symbol.iterator] = function () {
return this;
};
DropWhileIterator.prototype.next = function () {
var _a, _b;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (this.dropped)
return (_a = this.iterator).next.apply(_a, args);
var next;
do
next = (_b = this.iterator).next.apply(_b, args);
while (!next.done && this.predicate(next.value));
this.dropped = true;
return next;
};
return DropWhileIterator;
}());
export { DropWhileIterator };
export default DropWhileIterator;
//# sourceMappingURL=DropWhileIterator.js.map