{"version":3,"file":"util.mjs","names":[],"sources":["../../../../../../../packages/components/tree/src/model/util.ts"],"sourcesContent":["import type Node from './node'\nimport type { TreeEmits } from '../tree'\nimport type { RootTreeType, TreeKey, TreeNodeData } from '../tree.type'\n\nexport const NODE_KEY = '$treeNodeId'\n\nexport const markNodeData = function (\n  node: Node,\n  data: TreeNodeData | null\n): void {\n  if (!data || data[NODE_KEY]) return\n  Object.defineProperty(data, NODE_KEY, {\n    value: node.id,\n    enumerable: false,\n    configurable: false,\n    writable: false,\n  })\n}\n\nexport const getNodeKey = (key: TreeKey | undefined, data: TreeNodeData) =>\n  data?.[key || NODE_KEY]\n\nexport const handleCurrentChange = (\n  store: RootTreeType['store'],\n  emit: TreeEmits,\n  setCurrent: () => void\n) => {\n  const preCurrentNode = store.value.currentNode\n  setCurrent()\n  const currentNode = store.value.currentNode\n  if (preCurrentNode === currentNode) return\n\n  emit('current-change', currentNode ? currentNode.data : null, currentNode)\n}\n"],"mappings":";AAIA,MAAa,WAAW;AAExB,MAAa,eAAe,SAC1B,MACA,MACM;AACN,KAAI,CAAC,QAAQ,KAAK,UAAW;AAC7B,QAAO,eAAe,MAAM,UAAU;EACpC,OAAO,KAAK;EACZ,YAAY;EACZ,cAAc;EACd,UAAU;EACX,CAAC;;AAGJ,MAAa,cAAc,KAA0B,SACnD,OAAO,OAAO;AAEhB,MAAa,uBACX,OACA,MACA,eACG;CACH,MAAM,iBAAiB,MAAM,MAAM;AACnC,aAAY;CACZ,MAAM,cAAc,MAAM,MAAM;AAChC,KAAI,mBAAmB,YAAa;AAEpC,MAAK,kBAAkB,cAAc,YAAY,OAAO,MAAM,YAAY"}