reductio
Version:
Reductio: Crossfilter groupings
26 lines (25 loc) • 512 B
JavaScript
var count = {
add: function(prior, path, propName) {
return function (p, v, nf) {
if(prior) prior(p, v, nf);
path(p)[propName]++;
return p;
};
},
remove: function(prior, path, propName) {
return function (p, v, nf) {
if(prior) prior(p, v, nf);
path(p)[propName]--;
return p;
};
},
initial: function(prior, path, propName) {
return function (p) {
if(prior) p = prior(p);
// if(p === undefined) p = {};
path(p)[propName] = 0;
return p;
};
}
};
export default count;