UNPKG

dtable-utils

Version:

dtable common utils

37 lines (33 loc) 973 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); /** * Get group by paths * @param {array} paths e.g. [ 0, 1, 2 ] * @param {array} groups grouped rows * @returns group, object */ var getGroupByPath = function getGroupByPath(paths, groups) { if (!Array.isArray(paths) || !Array.isArray(groups)) { return null; } var level0GroupIndex = paths[0]; if (level0GroupIndex < 0 || level0GroupIndex >= groups.length) { return null; } var level = 1; var foundGroup = groups[level0GroupIndex]; while (level < paths.length) { if (!foundGroup) { break; } var subGroups = foundGroup.subgroups; var currentLevelGroupIndex = paths[level]; if (!Array.isArray(subGroups) || currentLevelGroupIndex < 0 || currentLevelGroupIndex >= subGroups.length) { break; } foundGroup = subGroups[currentLevelGroupIndex]; level += 1; } return foundGroup; }; exports.getGroupByPath = getGroupByPath;