iter-tools-es
Version:
The iterable toolbox
22 lines (18 loc) • 409 B
JavaScript
const {
iterableCurry
} = require('../../internal/iterable.js');
function* __takeWhile(source, predicate) {
let take = true;
let c = 0;
for (const value of source) {
take = predicate(value, c++);
if (take) {
yield value;
} else {
break;
}
}
}
exports.__takeWhile = __takeWhile;
const takeWhile = /*#__PURE__*/iterableCurry(__takeWhile);
exports.takeWhile = takeWhile;