{"version":3,"sources":["../src/tree/getTreeNode.ts"],"names":["getTreeNode","treeObj","nodeId","options","result","opts","DefaultTreeOptions","idKey","forEachTreeByDfs","node","ABORT"],"mappings":";;;;AAeQ,SAASA,EAA8EC,CAAsBC,CAAAA,CAAAA,CAAoBC,EAA8C,CAClL,IAAIC,EACEC,CAAO,CAAA,MAAA,CAAO,OAAO,EAAC,CAAGC,EAAoBH,CAAW,EAAA,EAAE,CAC1D,CAAA,CAAE,MAAAI,CAAM,CAAA,CAAIF,EAClB,OAAAG,GAAAA,CAAuBP,EAAQ,CAAC,CAAC,KAAAQ,CAAI,CAAA,GAAI,CACpC,GAAGA,CAAAA,CAAKF,CAAK,CAAKL,EAAAA,CAAAA,CAChB,OAAAE,CAAUK,CAAAA,CAAAA,CACHC,GAEd,CAAEL,CAAAA,CAAI,EACCD,CACX","file":"chunk-OAYDUFWH.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 GetTreeNodeOptions extends TreeNodeOptions{\n     includeParent?:boolean         // 当指定时返回[Node,ParantNode]\n }  \n \n export function getTreeNode<Node extends TreeNodeBase = TreeNode,IdKey extends string = 'id'>(treeObj:Node | Node[],nodeId: Node[IdKey],options?:GetTreeNodeOptions):Node | undefined {\n     let result:Node | undefined;\n     const opts = Object.assign({}, DefaultTreeOptions ,options || {}) as Required<GetTreeNodeOptions>     \n     const { idKey } = opts\n     forEachTreeByDfs<Node>(treeObj,({node})=>{\n          if(node[idKey] == nodeId){\n            result =  node;\n            return ABORT\n          }\n     },opts) \n     return result\n }\n "]}