iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
19 lines • 637 B
JavaScript
import toIterator from './toIterator';
export function reduce() {
var _a;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (typeof args[0] === 'function')
return function (it) { return reduce(it, args[0], args[1]); };
var it = toIterator(args[0]);
var next;
var accumulator = (_a = args[2]) !== null && _a !== void 0 ? _a : it.next().value;
var reducer = args[1];
while (!(next = it.next()).done)
accumulator = reducer(accumulator, next.value);
return accumulator;
}
export default reduce;
//# sourceMappingURL=reduce.js.map