uncumulate = function(series, sortBy, attributes = uncumulateAttributes) {
return _(series)
.sortBy(sortBy)
.map((s, index, ss) => {
if (index === 0) return s;
const prev = ss[index - 1];
const curr = { ...s };
_.forEach(attributes, attr => {
const pAttr = prev[attr],
cAttr = curr[attr];
if (pAttr !== undefined && cAttr !== undefined) {
curr[attr] = cAttr - pAttr;
}
});
return curr;
})
.value();
}