{"version":3,"sources":["../../../src/readable/number/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["export function formatTokenValue(amount_?: string | null, decimals?: number) {\n\tlet result = \"0.00\";\n\tlet money: string;\n\tlet amount = amount_;\n\n\tif (amount) {\n\t\tif (Number.isNaN(Number(amount)) || Number(amount) === 0) {\n\t\t\treturn \"0.00\";\n\t\t}\n\n\t\tif (Number(amount) > 0 && decimals !== undefined) {\n\t\t\tamount = formatUnits(amount, decimals);\n\t\t}\n\n\t\tconst matched = amount.match(/^(0.0+)(.*)/);\n\t\tif (Number(amount) > 0 && Number(amount) < 1) {\n\t\t\tmoney = matched\n\t\t\t\t? // biome-ignore lint/style/noNonNullAssertion: Already checked the matched value is not null\n\t\t\t\t\tmatched[1] + matched[2]!.slice(0, 3)\n\t\t\t\t: `0.${amount.split(\"0.\")[1]?.slice(0, 3) ?? \"0\"}`;\n\t\t} else {\n\t\t\tmoney = Number(Number(amount).toFixed(3)).toString();\n\t\t}\n\n\t\tif (!money.includes(\".\")) {\n\t\t\tmoney = Number(amount).toFixed(2);\n\t\t}\n\n\t\tresult = money.replace(/(\\d)(?=(\\d{3})+\\.\\d+)/g, \"$1,\");\n\t}\n\n\treturn result;\n}\n\nexport function formatUnits(bigNum: string, unit: number) {\n\treturn (\n\t\tbigNum.length > unit\n\t\t\t? `${bigNum.slice(0, bigNum.length - unit)}.${bigNum.slice(-unit)}`\n\t\t\t: `0.${\"0\".repeat(unit - bigNum.length)}${bigNum}`\n\t).replace(/0+$/, \"\");\n}\n\nexport function formatThousands(num: number) {\n\tif (Number.isNaN(num)) return num.toString();\n\n\tconst withDecimal = Number(num > 1 ? num.toFixed(2) : num.toFixed(4))\n\t\t.toString()\n\t\t.split(\".\");\n\n\tif (withDecimal.length > 0) {\n\t\t// biome-ignore lint/style/noNonNullAssertion: Already checked the length of withDecimal is greater than 0\n\t\twithDecimal[0] = withDecimal[0]!.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\t}\n\n\treturn withDecimal.join(\".\");\n}\n\nexport function formatPrecision(num: number, n = 2) {\n\tconst scale = 10 ** n;\n\treturn Math.round(num * scale) / scale;\n}\n"]}