iter-tools-es
Version:
The iterable toolbox
22 lines (18 loc) • 468 B
JavaScript
const {
asyncIterableCurry
} = require('../../internal/async-iterable.js');
async function __asyncFindOr(iterable, notFoundValue, func) {
let c = 0;
for await (const value of iterable) {
if (await func(value, c++)) {
return value;
}
}
return notFoundValue;
}
exports.__asyncFindOr = __asyncFindOr;
const asyncFindOr = /*#__PURE__*/asyncIterableCurry(__asyncFindOr, {
growRight: true,
reduces: true
});
exports.asyncFindOr = asyncFindOr;