packages/utils/README.md
Collection of useful internationalization (i18n) utilities for working with locales, countries, currencies, and timezones.
npm install @formatjs/utils
canonicalizeCountryCode(alpha3OrAlpha2?: string): string | undefinedCanonicalize a country code to an ISO 3166 alpha-2 country code (uppercase).
import {canonicalizeCountryCode} from '@formatjs/utils'
canonicalizeCountryCode('usa') // 'US'
canonicalizeCountryCode('USA') // 'US'
canonicalizeCountryCode('us') // 'US'
canonicalizeCountryCode('US') // 'US'
defaultCurrency(countryCode?: string): stringLook up the default currency for a country code. Returns USD if not found.
import {defaultCurrency} from '@formatjs/utils'
defaultCurrency('US') // 'USD'
defaultCurrency('GB') // 'GBP'
defaultCurrency('JP') // 'JPY'
countriesUsingDefaultCurrency(currencyCode: string): string[]Look up countries that use a specific currency as their default.
import {countriesUsingDefaultCurrency} from '@formatjs/utils'
countriesUsingDefaultCurrency('EUR') // ['AT', 'BE', 'CY', 'DE', 'EE', ...]
countriesUsingDefaultCurrency('USD') // ['US', 'EC', 'SV', ...]
currencyMinorScale(currencyCode: string): numberReturns the minor unit scale for a given ISO 4217 currency code. The minor unit scale is the power of 10 representing the number of decimal places used for the currency.
import {currencyMinorScale} from '@formatjs/utils'
currencyMinorScale('USD') // 100 (2 decimal places)
currencyMinorScale('JPY') // 1 (0 decimal places)
currencyMinorScale('BHD') // 1000 (3 decimal places)
defaultLocale(): stringReturns the default locale for the current environment.
import {defaultLocale} from '@formatjs/utils'
defaultLocale() // e.g., 'en-US'
defaultTimezone(): stringReturns the default timezone for the current environment.
import {defaultTimezone} from '@formatjs/utils'
defaultTimezone() // e.g., 'America/New_York'
MIT