@tidyjs/tidy
Version:
Tidy up your data with JavaScript, inspired by dplyr and the tidyverse
39 lines (36 loc) • 1.21 kB
JavaScript
import { mutate } from './mutate.js';
import { summarize, summarizeAll, summarizeIf, summarizeAt } from './summarize.js';
function total(summarizeSpec, mutateSpec) {
const _total = (items) => {
const summarized = summarize(summarizeSpec)(items);
const mutated = mutate(mutateSpec)(summarized);
return [...items, ...mutated];
};
return _total;
}
function totalAll(summaryFn, mutateSpec) {
const _totalAll = (items) => {
const summarized = summarizeAll(summaryFn)(items);
const mutated = mutate(mutateSpec)(summarized);
return [...items, ...mutated];
};
return _totalAll;
}
function totalIf(predicateFn, summaryFn, mutateSpec) {
const _totalIf = (items) => {
const summarized = summarizeIf(predicateFn, summaryFn)(items);
const mutated = mutate(mutateSpec)(summarized);
return [...items, ...mutated];
};
return _totalIf;
}
function totalAt(keys, summaryFn, mutateSpec) {
const _totalAt = (items) => {
const summarized = summarizeAt(keys, summaryFn)(items);
const mutated = mutate(mutateSpec)(summarized);
return [...items, ...mutated];
};
return _totalAt;
}
export { total, totalAll, totalAt, totalIf };
//# sourceMappingURL=total.js.map