@tidyjs/tidy
Version:
Tidy up your data with JavaScript, inspired by dplyr and the tidyverse
16 lines (14 loc) • 538 B
JavaScript
function groupTraversal(grouped, outputGrouped, keys, addSubgroup, addLeaves, level = 0) {
for (const [key, value] of grouped.entries()) {
const keysHere = [...keys, key];
if (value instanceof Map) {
const subgroup = addSubgroup(outputGrouped, keysHere, level);
groupTraversal(value, subgroup, keysHere, addSubgroup, addLeaves, level + 1);
} else {
addLeaves(outputGrouped, keysHere, value, level);
}
}
return outputGrouped;
}
export { groupTraversal };
//# sourceMappingURL=groupTraversal.js.map