reductio
Version:
Reductio: Crossfilter groupings
25 lines (24 loc) • 463 B
JavaScript
var sum = {
add: function (a, prior, path) {
return function (p, v, nf) {
if(prior) prior(p, v, nf);
path(p).sum = path(p).sum + a(v);
return p;
};
},
remove: function (a, prior, path) {
return function (p, v, nf) {
if(prior) prior(p, v, nf);
path(p).sum = path(p).sum - a(v);
return p;
};
},
initial: function (prior, path) {
return function (p) {
p = prior(p);
path(p).sum = 0;
return p;
};
}
};
export default sum;