UNPKG

es-grid-template

Version:

es-grid-template

23 lines (22 loc) 643 B
"use strict"; 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); } } } }