{"version":3,"file":"utils/loader.mjs","sources":["../../src/utils/loader.ts"],"sourcesContent":["import { Loader } from '@rsdoctor/utils/common';\nimport { SDK } from '@rsdoctor/types';\n\nconst { findLoaderTotalTiming, getLoaderCosts } = Loader;\nexport { findLoaderTotalTiming, getLoaderCosts };\n\nexport function flattenLoaderData(loaderData: SDK.LoaderData) {\n  return loaderData.flatMap((e) => e.loaders);\n}\n\nexport function filterLoaders(\n  loaderData: SDK.ResourceLoaderData,\n  keyword: string,\n  loaderNames: string[],\n  layer?: string,\n) {\n  return loaderData.loaders.filter((item) => {\n    return filterLoader(\n      loaderData.resource.path,\n      item.loader,\n      keyword,\n      loaderNames,\n      loaderData.resource.layer,\n      layer,\n    );\n  });\n}\n\nexport function filterLoader(\n  resourcePath: string,\n  loader: string,\n  keyword: string,\n  loaderNames: string[],\n  resorceLayer?: string,\n  layer?: string,\n) {\n  if (keyword) {\n    if (resourcePath.indexOf(keyword) === -1) return false;\n  }\n\n  if (resorceLayer && layer && resorceLayer !== layer) {\n    return false;\n  }\n\n  if (loaderNames?.length) {\n    if (!loaderNames.includes(loader)) return false;\n  }\n\n  return true;\n}\n"],"names":["findLoaderTotalTiming","getLoaderCosts","Loader","flattenLoaderData","loaderData","e","filterLoaders","keyword","loaderNames","layer","item","filterLoader","resourcePath","loader","resorceLayer"],"mappings":";AAGA,MAAM,EAAEA,uBAAAA,qBAAqB,EAAEC,gBAAAA,cAAc,EAAE,GAAGC;AAG3C,SAASC,kBAAkBC,UAA0B;IAC1D,OAAOA,WAAW,OAAO,CAAC,CAACC,IAAMA,EAAE,OAAO;AAC5C;AAEO,SAASC,cACdF,UAAkC,EAClCG,OAAe,EACfC,WAAqB,EACrBC,KAAc;IAEd,OAAOL,WAAW,OAAO,CAAC,MAAM,CAAC,CAACM,OACzBC,aACLP,WAAW,QAAQ,CAAC,IAAI,EACxBM,KAAK,MAAM,EACXH,SACAC,aACAJ,WAAW,QAAQ,CAAC,KAAK,EACzBK;AAGN;AAEO,SAASE,aACdC,YAAoB,EACpBC,MAAc,EACdN,OAAe,EACfC,WAAqB,EACrBM,YAAqB,EACrBL,KAAc;IAEd,IAAIF,SACF;QAAA,IAAIK,AAAkC,OAAlCA,aAAa,OAAO,CAACL,UAAiB,OAAO;IAAK;IAGxD,IAAIO,gBAAgBL,SAASK,iBAAiBL,OAC5C,OAAO;IAGT,IAAID,aAAa,QACf;QAAA,IAAI,CAACA,YAAY,QAAQ,CAACK,SAAS,OAAO;IAAK;IAGjD,OAAO;AACT"}