{"version":3,"sources":["../src/tree/getTreeNodeInfo.ts"],"names":["getTreeNodeInfo","treeObj","nodeId","options","result","opts","DefaultTreeOptions","idKey","forEachTreeByDfs","node","parent","level","path","index","ABORT"],"mappings":";;;;AAuBO,SAASA,CAA8FC,CAAAA,CAAAA,CAAsBC,CAAoBC,CAAAA,CAAAA,CAAqE,CACxN,IAAIC,CACEC,CAAAA,CAAAA,CAAQ,MAAO,CAAA,MAAA,CAAO,EAAC,CAAGC,CAAoBH,CAAAA,CAAAA,EAAW,EAAE,CAC7D,CAAA,CAAE,KAAAI,CAAAA,CAAM,CAAIF,CAAAA,CAAAA,CAChB,OAAAG,GAAAA,CAA4BP,CAAQ,CAAA,CAAC,CAAC,IAAA,CAAAQ,EAAK,MAAAC,CAAAA,CAAAA,CAAO,KAAAC,CAAAA,CAAAA,CAAM,IAAAC,CAAAA,CAAAA,CAAK,KAAAC,CAAAA,CAAK,CAAI,GAAA,CACjE,GAAGJ,CAAAA,CAAKF,CAAK,CAAA,EAAKL,CAChB,CAAA,OAAAE,CAAS,CAAA,CAAC,IAAAK,CAAAA,CAAAA,CAAK,MAAAC,CAAAA,CAAAA,CAAO,KAAAC,CAAAA,CAAAA,CAAM,IAAAC,CAAAA,CAAAA,CAAK,KAAAC,CAAAA,CAAK,CAC/BC,CAAAA,GAEd,CAAET,CAAAA,CAAI,EACCD,CACX","file":"chunk-675DBMVA.mjs","sourcesContent":["/**\n * \n * 根据ID获取节点对象 \n * \n */\nimport { ABORT } from \"../object\";\nimport { DefaultTreeOptions } from \"./consts\";\nimport { forEachTreeByDfs } from \"./forEachTreeByDfs\";\nimport { TreeNode, TreeNodeBase, TreeNodeOptions } from \"./types\";\n \n  \n export interface GetTreeNodeInfoOptions extends TreeNodeOptions{\n      \n }  \n \nexport interface TreeNodeInfo<Node,Path=string>{\n    node:Node\n    parent:Node | undefined | null\n    path:Path[]\n    level:number\n    index:number\n}\n\nexport function getTreeNodeInfo<Node extends TreeNodeBase = TreeNode,IdKey extends string = 'id',Path=string>(treeObj:Node | Node[],nodeId: Node[IdKey],options?:GetTreeNodeInfoOptions):TreeNodeInfo<Node,Path> | undefined {\n     let result:TreeNodeInfo<Node,Path> | undefined;     \n     const opts =  Object.assign({}, DefaultTreeOptions ,options || {}) as Required<GetTreeNodeInfoOptions>     \n     let { idKey } = opts\n     forEachTreeByDfs<Node,Path>(treeObj,({node,parent,level,path,index})=>{\n          if(node[idKey] == nodeId){\n            result = {node,parent,level,path,index};\n            return ABORT\n          }\n     },opts) \n     return result\n }\n "]}