UNPKG

350 BJavaScriptView Raw
1'use strict';
2function accumulate(x, fr, acc) {
3 var init = arguments.length <= 2;
4 var a = [], i = -1;
5 for (var v of x) {
6 if (init) {
7 acc = v;
8 ++i;
9 init = false;
10 }
11 else
12 acc = fr(acc, v, ++i, x);
13 a.push(acc);
14 }
15 return a;
16}
17module.exports = accumulate;