UNPKG

yanzhen-design-vue

Version:

33 lines (32 loc) 970 B
import { ref, shallowRef, watchEffect } from "vue"; function useMaxLevel(keyEntities) { const maxLevel = ref(0); const levelEntities = shallowRef(/* @__PURE__ */ new Map()); watchEffect(() => { const newLevelEntities = /* @__PURE__ */ new Map(); let newMaxLevel = 0; const keyEntitiesValue = keyEntities.value || {}; for (const key in keyEntitiesValue) { if (Object.prototype.hasOwnProperty.call(keyEntitiesValue, key)) { const entity = keyEntitiesValue[key]; const { level } = entity; let levelSet = newLevelEntities.get(level); if (!levelSet) { levelSet = /* @__PURE__ */ new Set(); newLevelEntities.set(level, levelSet); } levelSet.add(entity); newMaxLevel = Math.max(newMaxLevel, level); } } maxLevel.value = newMaxLevel; levelEntities.value = newLevelEntities; }); return { maxLevel, levelEntities }; } export { useMaxLevel };