iter-tools-es
Version:
The iterable toolbox
21 lines (19 loc) • 419 B
JavaScript
const {
iterableCurry,
callReturn
} = require('../../internal/iterable.js');
function __firstOr(iterable, whenEmpty) {
const iter = iterable[Symbol.iterator]();
const {
value,
done
} = iter.next();
if (done) return whenEmpty;
callReturn(iter);
return value;
}
exports.__firstOr = __firstOr;
const firstOr = /*#__PURE__*/iterableCurry(__firstOr, {
reduces: true
});
exports.firstOr = firstOr;