currency.ts 678 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. export type CurrencyCode =
  2. | 'AUD'
  3. | 'BRL'
  4. | 'CAD'
  5. | 'CHF'
  6. | 'CLP'
  7. | 'COP'
  8. | 'DKK'
  9. | 'EUR'
  10. | 'GBP'
  11. | 'INR'
  12. | 'MXN'
  13. | 'NOK'
  14. | 'NZD'
  15. | 'PEN'
  16. | 'SEK'
  17. | 'SGD'
  18. | 'USD'
  19. export function formatCurrencyLocalized(
  20. amount: number,
  21. currency: CurrencyCode,
  22. locale: string,
  23. stripIfInteger = false
  24. ): string {
  25. if (stripIfInteger && Number.isInteger(amount)) {
  26. return amount.toLocaleString(locale, {
  27. style: 'currency',
  28. currency,
  29. minimumFractionDigits: 0,
  30. currencyDisplay: 'narrowSymbol',
  31. })
  32. }
  33. return amount.toLocaleString(locale, {
  34. style: 'currency',
  35. currency,
  36. currencyDisplay: 'narrowSymbol',
  37. })
  38. }