@codibre/fluent-iterable
Version:
Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).
12 lines (11 loc) • 531 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.reduceAndMapRecipe = reduceAndMapRecipe;
const prepare_1 = require("../types-internal/prepare");
function reduceAndMapRecipe({ forEach, resolver }) {
return function (reducer, initial, baseResult) {
let accumulator = initial;
const result = (0, prepare_1.prepare)(baseResult);
return resolver(forEach.call(this, (t) => resolver(reducer(accumulator, t), (r) => (accumulator = r))), () => result(accumulator));
};
}