es-grid-template
Version:
es-grid-template
23 lines (22 loc) • 643 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getTreeDepth;
var _isLeafNode = _interopRequireDefault(require("./isLeafNode"));
/** Get the height/depth of a tree (0-based) */
function getTreeDepth(nodes) {
let maxDepth = -1;
dfs(nodes, 0);
return maxDepth;
function dfs(columns, depth) {
for (const column of columns) {
if ((0, _isLeafNode.default)(column)) {
maxDepth = Math.max(maxDepth, depth);
} else {
dfs(column.children ?? [], depth + 1);
}
}
}
}