(num: number, digits = 2)
| 184 | const decimalFormatters: Map<number, Intl.NumberFormat> = new Map() |
| 185 | /** Format number to x decimal places, maintaining trailing zeros */ |
| 186 | export function decimalString(num: number, digits = 2) { |
| 187 | if (digits === 0) { |
| 188 | return Math.ceil(num).toString() |
| 189 | } |
| 190 | let formatter = decimalFormatters.get(digits) |
| 191 | if (!formatter) { |
| 192 | formatter = new Intl.NumberFormat(undefined, { |
| 193 | minimumFractionDigits: digits, |
| 194 | maximumFractionDigits: digits, |
| 195 | }) |
| 196 | decimalFormatters.set(digits, formatter) |
| 197 | } |
| 198 | return formatter.format(num) |
| 199 | } |
| 200 | |
| 201 | /** Get value from local or session storage */ |
| 202 | function getStorageValue(key: string, defaultValue: unknown, storageInterface: Storage = localStorage) { |
no outgoing calls
no test coverage detected