iterama
Version:
Composable functional (async) iterable helpers
20 lines (15 loc) • 347 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.reduce = void 0;
const reduce = (reduceFn, initial) => iterable => ({
*[Symbol.iterator]() {
let state = initial;
let i = 0;
for (const value of iterable) {
state = reduceFn(state, value, i++);
}
yield state;
}
});
exports.reduce = reduce;