@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 1.62 kB
Source Map (JSON)
{"version":3,"file":"formatValue.mjs","names":[],"sources":["../../../src/base-ui/Statistic/formatValue.ts"],"sourcesContent":["const grouping = new Intl.NumberFormat('en-US', { maximumFractionDigits: 0 });\n\nexport const formatStatisticValue = (\n value: number | string | undefined,\n precision?: number,\n): string => {\n if (value === undefined || value === null) return '';\n if (typeof value === 'string') {\n if (!/^-?\\d+(\\.\\d+)?$/.test(value)) return value;\n return formatStatisticValue(Number(value), precision);\n }\n if (!Number.isFinite(value)) return String(value);\n\n if (precision !== undefined) {\n return new Intl.NumberFormat('en-US', {\n maximumFractionDigits: precision,\n minimumFractionDigits: precision,\n }).format(value);\n }\n\n const raw = String(value);\n if (raw.includes('e')) return raw;\n\n const [integer, decimal] = raw.split('.');\n const grouped = grouping.format(Number(integer));\n\n return decimal ? `${grouped}.${decimal}` : grouped;\n};\n"],"mappings":";AAAA,MAAM,WAAW,IAAI,KAAK,aAAa,SAAS,EAAE,uBAAuB,EAAE,CAAC;AAE5E,MAAa,wBACX,OACA,cACW;CACX,IAAI,UAAU,KAAA,KAAa,UAAU,MAAM,OAAO;CAClD,IAAI,OAAO,UAAU,UAAU;EAC7B,IAAI,CAAC,kBAAkB,KAAK,KAAK,GAAG,OAAO;EAC3C,OAAO,qBAAqB,OAAO,KAAK,GAAG,SAAS;CACtD;CACA,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG,OAAO,OAAO,KAAK;CAEhD,IAAI,cAAc,KAAA,GAChB,OAAO,IAAI,KAAK,aAAa,SAAS;EACpC,uBAAuB;EACvB,uBAAuB;CACzB,CAAC,CAAC,CAAC,OAAO,KAAK;CAGjB,MAAM,MAAM,OAAO,KAAK;CACxB,IAAI,IAAI,SAAS,GAAG,GAAG,OAAO;CAE9B,MAAM,CAAC,SAAS,WAAW,IAAI,MAAM,GAAG;CACxC,MAAM,UAAU,SAAS,OAAO,OAAO,OAAO,CAAC;CAE/C,OAAO,UAAU,GAAG,QAAQ,GAAG,YAAY;AAC7C"}