{"version":3,"sources":["../src/tree/utils.ts"],"names":["buildPathGenerator","pathParam","idKey","defaultGenerator","node","getFullPath","paths","delimiter","p"],"mappings":";;;;AAeO,SAASA,CAAyDC,CAAAA,CAAAA,CAAmDC,CAAiC,CAAA,CACzJ,IAAMC,CAAAA,CAAwCC,CAAYA,EAAAA,CAAAA,CAAKF,CAAK,CAAA,CACpE,OAAID,CAAAA,CACD,OAAOA,CAAY,EAAA,UAAA,CACVA,CACF,CAAA,OAAOA,CAAY,EAAA,QAAA,CACfG,CAAYA,EAAAA,CAAAA,CAAKH,CAAS,CAAKG,EAAAA,CAAAA,CAAKF,CAAK,CAAA,CAE5CC,CANWA,CAAAA,CAQzB,CASM,SAASE,EAAyBC,CAAaJ,CAAAA,CAAAA,CAAa,IAAKK,CAAAA,CAAAA,CAAiB,GAAW,CAAA,CAEhG,OAAOD,CAAAA,CAAM,IAAIE,CAAG,EAAA,OAAOA,CAAI,EAAA,QAAA,CAAYN,CAASM,IAAAA,CAAAA,CAAI,MAAOA,CAAAA,CAAAA,CAAEN,CAAK,CAAC,CAAA,CAAG,MAAOM,CAAAA,CAAAA,CAAE,MAAO,CAAA,IAAA,CAAKA,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAK,CAAA,MAAA,CAAOA,CAAC,CAAE,CAAE,CAAA,IAAA,CAAKD,CAAS,CACxI","file":"chunk-LVUSN7DE.mjs","sourcesContent":["import { TreeNode, TreeNodeBase } from \"./types\"\n\nexport type PathGenerator<Node extends TreeNodeBase = TreeNode > = (node:Node)=> any\n\n/**\n * 根据输入的path参数生成一个path生成器\n * \n * path参数可以是一个函数，也可以是一个字符串代表节点的属性名\n * \n * \n * @param node \n * @param pathParam \n * @param idKey \n * @returns \n */\nexport function buildPathGenerator<Node extends TreeNodeBase = TreeNode>(pathParam:string | ((node:Node)=>any) | undefined ,idKey:string):PathGenerator<Node>{\n    const defaultGenerator:PathGenerator<Node> = (node:Node)=>node[idKey]\n    if(!pathParam) return defaultGenerator\n    if(typeof(pathParam)=='function'){\n         return pathParam as PathGenerator<Node>\n     }else if(typeof(pathParam)=='string'){\n         return ( node:Node)=>node[pathParam] || node[idKey]\n     }else{\n        return defaultGenerator\n     }\n }\n/**\n * 将[1,2,3],[{id,...},{id,...}]转换为'1/2/3'\n * 如果path中的元素是对象，则取对象的idKey属性作为路径元素\n * \n * @param path \n * @param idKey \n * @returns \n */\nexport function getFullPath<Path=string>(paths:Path[],idKey:string=\"id\",delimiter:string=\"/\"):string{\n   // @ts-ignore\n    return paths.map(p=>typeof(p)=='object' ? (idKey in p ? String(p[idKey]): String(p[Object.keys(p)[0]])) : String(p) ).join(delimiter)\n}"]}