{"version":3,"file":"getAliases.mjs","sources":[""],"sourcesContent":["import path from \"path\";\r\n\r\ntype TImport = {\r\n  [key: string]: string | {\r\n    import: string;\r\n  };\r\n} | string[];\r\n\r\ntype TGetPath = (path: string) => string;\r\n\r\ntype TAliases = Record<string, string>;\r\n\r\n/**\r\n * Возвращает объект с абсолютными путями\r\n * @param imports{Object|Array=} поле импортов из package\r\n * @param basePath{String=} базовый путь\r\n * @param getPath{Function=} callback для получения имени пути\r\n * @returns {Record<string, string>}\r\n * @example\r\n * import { getAliases } from \"@delement/ui/utils/node\";\r\n *\r\n * const aliases = getAliases({ \"#package/*\": \"./src/package/*\" }, process.cwd());\r\n */\r\nconst getAliases = (imports: TImport, basePath: string = \"\", getPath: TGetPath = (path) => path): TAliases => {\r\n\r\n  if (Array.isArray(imports)) {\r\n\r\n    return Object.fromEntries(imports\r\n      .map((folder) => [ folder.split(\"/\").pop(), path.resolve(basePath, getPath(folder)) ]));\r\n  \r\n  } else {\r\n\r\n    return Object.fromEntries(Object.entries(imports)\r\n      .filter(([ , p ]) => {\r\n\r\n        return typeof p === \"object\" ? !!p.import : p;\r\n      \r\n      })\r\n      .map(([ name = \"\", p ]) => {\r\n\r\n        const value = typeof p === \"object\" ? p.import : p;\r\n        return [ name, path.resolve(basePath, getPath(value.toString())) ];\r\n      \r\n      }));\r\n  \r\n  }\r\n\r\n};\r\n\r\nexport {\r\n  getAliases,\r\n};\r\n"],"names":["getAliases","imports","basePath","getPath","path","Array","isArray","Object","fromEntries","map","folder","split","pop","resolve","entries","filter","p","import","name","value","toString"],"mappings":";;;;;;;;;;;GAuBA,MAAMA,WAAa,CAACC,QAAkBC,SAAmB,GAAIC,QAAqBC,MAASA,QAEzF,GAAIC,MAAMC,QAAQL,SAEhB,OAAOM,OAAOC,YAAYP,QACvBQ,IAAKC,QAAW,CAAEA,OAAOC,MAAM,KAAKC,MAAOR,KAAKS,QAAQX,SAAUC,QAAQO,iBAI7E,OAAOH,OAAOC,YAAYD,OAAOO,QAAQb,SACtCc,OAAO,EAAC,CAAIC,YAEGA,IAAM,WAAaA,EAAEC,OAASD,GAG7CP,IAAI,EAAGS,KAAO,GAAIF,MAEjB,MAAMG,aAAeH,IAAM,SAAWA,EAAEC,OAASD,EACjD,MAAO,CAAEE,KAAMd,KAAKS,QAAQX,SAAUC,QAAQgB,MAAMC"}