UNPKG

iter-tools-es

Version:
21 lines (19 loc) 503 B
const { asyncIterableCurry, asyncCallReturn } = require('../../internal/async-iterable.js'); async function __asyncFirstOr(iterable, whenEmpty) { const iter = iterable[Symbol.asyncIterator](); const { value, done } = await iter.next(); if (done) return whenEmpty; await asyncCallReturn(iter); return value; } exports.__asyncFirstOr = __asyncFirstOr; const asyncFirstOr = /*#__PURE__*/asyncIterableCurry(__asyncFirstOr, { reduces: true }); exports.asyncFirstOr = asyncFirstOr;