UNPKG

react-async-iterators

Version:

The magic of JavaScript async iterators in React ⛓️ 🧬 🔃

33 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.iterateFormatted = iterateFormatted; const ReactAsyncIterable_js_1 = require("../common/ReactAsyncIterable.js"); const asyncIterSyncMap_js_1 = require("../common/asyncIterSyncMap.js"); const isAsyncIter_js_1 = require("../common/isAsyncIter.js"); function iterateFormatted(source, formatFn) { if (!(0, isAsyncIter_js_1.isAsyncIter)(source)) { return formatFn(source, 0); } const { baseIter, formatFn: precedingFormatFn } = (0, ReactAsyncIterable_js_1.parseReactAsyncIterable)(source); return { [Symbol.asyncIterator]: () => (0, asyncIterSyncMap_js_1.asyncIterSyncMap)(source, formatFn)[Symbol.asyncIterator](), get value() { return !source.value ? undefined : { get current() { const result = precedingFormatFn(source.value.current, 0); return formatFn(result, 0); }, }; }, [ReactAsyncIterable_js_1.reactAsyncIterSpecialInfoSymbol]: { origSource: baseIter, formatFn: (value, i) => { const result = precedingFormatFn(value, i); return formatFn(result, i); }, }, }; } //# sourceMappingURL=index.js.map