{"version":3,"file":"components/Charts/treeMapSize.mjs","sources":["../../../src/components/Charts/treeMapSize.ts"],"sourcesContent":["export type TreeMapSizeType = 'stat' | 'parsed' | 'gzip' | 'value';\n\nexport interface TreeMapSizeNode {\n  value?: number;\n  children?: TreeMapSizeNode[];\n  sourceSize?: number;\n  bundledSize?: number;\n  gzipSize?: number;\n}\n\nfunction getOwnSize(node: TreeMapSizeNode, sizeType: TreeMapSizeType) {\n  if (sizeType === 'stat') return node.sourceSize ?? 0;\n  if (sizeType === 'parsed') return node.bundledSize ?? 0;\n  if (sizeType === 'gzip') return node.gzipSize ?? 0;\n  return node.value ?? 0;\n}\n\nexport function calculateTreeNodeTotalSize(\n  node: TreeMapSizeNode,\n  sizeType: TreeMapSizeType,\n): number {\n  const ownSize = getOwnSize(node, sizeType);\n  if (ownSize > 0 || !node.children?.length) {\n    return ownSize;\n  }\n\n  return node.children.reduce(\n    (total, child) => total + calculateTreeNodeTotalSize(child, sizeType),\n    0,\n  );\n}\n\nexport function calculateTreeNodesTotalSize(\n  nodes: TreeMapSizeNode[],\n  sizeType: TreeMapSizeType,\n): number {\n  return nodes.reduce(\n    (total, node) => total + calculateTreeNodeTotalSize(node, sizeType),\n    0,\n  );\n}\n"],"names":["getOwnSize","node","sizeType","calculateTreeNodeTotalSize","ownSize","total","child","calculateTreeNodesTotalSize","nodes"],"mappings":"AAUA,SAASA,WAAWC,IAAqB,EAAEC,QAAyB;IAClE,IAAIA,AAAa,WAAbA,UAAqB,OAAOD,KAAK,UAAU,IAAI;IACnD,IAAIC,AAAa,aAAbA,UAAuB,OAAOD,KAAK,WAAW,IAAI;IACtD,IAAIC,AAAa,WAAbA,UAAqB,OAAOD,KAAK,QAAQ,IAAI;IACjD,OAAOA,KAAK,KAAK,IAAI;AACvB;AAEO,SAASE,2BACdF,IAAqB,EACrBC,QAAyB;IAEzB,MAAME,UAAUJ,WAAWC,MAAMC;IACjC,IAAIE,UAAU,KAAK,CAACH,KAAK,QAAQ,EAAE,QACjC,OAAOG;IAGT,OAAOH,KAAK,QAAQ,CAAC,MAAM,CACzB,CAACI,OAAOC,QAAUD,QAAQF,2BAA2BG,OAAOJ,WAC5D;AAEJ;AAEO,SAASK,4BACdC,KAAwB,EACxBN,QAAyB;IAEzB,OAAOM,MAAM,MAAM,CACjB,CAACH,OAAOJ,OAASI,QAAQF,2BAA2BF,MAAMC,WAC1D;AAEJ"}