{"version":3,"file":"useMaxLevel.cjs","sources":["../../../../../../packages/vue-components/vc-tree/src/useMaxLevel.ts"],"sourcesContent":["import type { Key } from '@antdv/types';\nimport type { ShallowRef } from 'vue';\nimport type { BasicDataNode, DataEntity, DataNode } from './interface';\nimport { ref, shallowRef, watchEffect } from 'vue';\n\nexport default function useMaxLevel<TreeDataType extends BasicDataNode = DataNode>(\n  keyEntities: ShallowRef<Record<Key, DataEntity<TreeDataType>>>,\n) {\n  const maxLevel = ref(0);\n  const levelEntities = shallowRef<Map<number, Set<DataEntity<TreeDataType>>>>();\n  watchEffect(() => {\n    const newLevelEntities = new Map<number, Set<DataEntity<TreeDataType>>>();\n    let newMaxLevel = 0;\n    const keyEntitiesValue = keyEntities.value || {};\n    // Convert entities by level for calculation\n    for (const key in keyEntitiesValue) {\n      if (Object.prototype.hasOwnProperty.call(keyEntitiesValue, key)) {\n        const entity = keyEntitiesValue[key];\n        const { level } = entity;\n\n        let levelSet: Set<DataEntity<TreeDataType>> = newLevelEntities.get(level);\n        if (!levelSet) {\n          levelSet = new Set();\n          newLevelEntities.set(level, levelSet);\n        }\n\n        levelSet.add(entity);\n\n        newMaxLevel = Math.max(newMaxLevel, level);\n      }\n    }\n    maxLevel.value = newMaxLevel;\n    levelEntities.value = newLevelEntities;\n  });\n  return {\n    maxLevel,\n    levelEntities,\n  };\n}\n"],"names":["ref","shallowRef","watchEffect"],"mappings":";;;;;;AAKA,SAAwB,YACtB,WACA,EAAA;AACA,EAAM,MAAA,QAAA,GAAWA,QAAI,CAAC,CAAA,CAAA;AACtB,EAAA,MAAM,gBAAgBC,cAAuD,EAAA,CAAA;AAC7E,EAAAC,eAAA,CAAY,MAAM;AAChB,IAAM,MAAA,gBAAA,uBAAuB,GAA2C,EAAA,CAAA;AACxE,IAAA,IAAI,WAAc,GAAA,CAAA,CAAA;AAClB,IAAM,MAAA,gBAAA,GAAmB,WAAY,CAAA,KAAA,IAAS,EAAC,CAAA;AAE/C,IAAA,KAAA,MAAW,OAAO,gBAAkB,EAAA;AAClC,MAAA,IAAI,OAAO,SAAU,CAAA,cAAA,CAAe,IAAK,CAAA,gBAAA,EAAkB,GAAG,CAAG,EAAA;AAC/D,QAAM,MAAA,MAAA,GAAS,iBAAiB,GAAG,CAAA,CAAA;AACnC,QAAM,MAAA,EAAE,OAAU,GAAA,MAAA,CAAA;AAElB,QAAI,IAAA,QAAA,GAA0C,gBAAiB,CAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AACxE,QAAA,IAAI,CAAC,QAAU,EAAA;AACb,UAAA,QAAA,uBAAe,GAAI,EAAA,CAAA;AACnB,UAAiB,gBAAA,CAAA,GAAA,CAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,SACtC;AAEA,QAAA,QAAA,CAAS,IAAI,MAAM,CAAA,CAAA;AAEnB,QAAc,WAAA,GAAA,IAAA,CAAK,GAAI,CAAA,WAAA,EAAa,KAAK,CAAA,CAAA;AAAA,OAC3C;AAAA,KACF;AACA,IAAA,QAAA,CAAS,KAAQ,GAAA,WAAA,CAAA;AACjB,IAAA,aAAA,CAAc,KAAQ,GAAA,gBAAA,CAAA;AAAA,GACvB,CAAA,CAAA;AACD,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA;AACF;;;;"}