iter-tools-es
Version:
The iterable toolbox
24 lines (20 loc) • 516 B
JavaScript
const {
asyncIterableCurry
} = require('../../internal/async-iterable.js');
async function* __asyncDropWhile(source, predicate) {
let drop = true;
let c = 0;
for await (const value of source) {
if (!drop) {
yield value;
} else {
drop = await predicate(value, c++);
if (!drop) {
yield value;
}
}
}
}
exports.__asyncDropWhile = __asyncDropWhile;
const asyncDropWhile = /*#__PURE__*/asyncIterableCurry(__asyncDropWhile);
exports.asyncDropWhile = asyncDropWhile;