UNPKG

@tidyjs/tidy

Version:

Tidy up your data with JavaScript, inspired by dplyr and the tidyverse

19 lines (16 loc) 588 B
import { groupTraversal } from './groupTraversal.js'; function groupMap(grouped, groupFn, keyFn = (keys) => keys[keys.length - 1]) { function addSubgroup(parentGrouped, keys) { const subgroup = new Map(); parentGrouped.set(keyFn(keys), subgroup); return subgroup; } function addLeaves(parentGrouped, keys, values) { parentGrouped.set(keyFn(keys), groupFn(values, keys)); } const outputGrouped = new Map(); groupTraversal(grouped, outputGrouped, [], addSubgroup, addLeaves); return outputGrouped; } export { groupMap }; //# sourceMappingURL=groupMap.js.map