@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
18 lines (17 loc) • 604 B
JavaScript
import { collapseChild } from "./collapse-child.js";
export const collapse = (node) => {
if (node.kind === "leaf")
return;
// This node has multiple children. For each child we should call collapse, but this node
// itself will not be collapsed.
if (node.children.size > 1) {
const values = node.children.values();
for (const v of values) {
collapse(v);
}
return;
}
// If we've reached here it means that this node has a single child. This means we need to
// replace it in its parent.
collapse(collapseChild(node));
};