{"version":3,"file":"currency.cjs","names":["getCachedIntl","internationalization"],"sources":["../../../src/formatters/currency.ts"],"sourcesContent":["import { internationalization } from '@intlayer/config/built';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport { getCachedIntl } from '../utils/intl';\n\n/**\n * Formats a numeric or string value into a localized currency string using the Intl API.\n *\n * @example\n * currency(1234.5, { currency: 'EUR' });\n * // \"€1,234.50\"\n *\n * @example\n * currency(\"5000\", { locale: Locales.FRENCH, currency: \"CAD\", currencyDisplay: \"code\" });\n * // \"5 000,00 CAD\"\n */\nexport const currency = (\n  value: string | number,\n  options?: Intl.NumberFormatOptions & { locale?: LocalesValues }\n): string =>\n  getCachedIntl(\n    Intl.NumberFormat,\n    options?.locale ?? internationalization?.defaultLocale,\n\n    {\n      style: 'currency',\n      currency: options?.currency ?? 'USD',\n      currencyDisplay: options?.currencyDisplay ?? 'symbol',\n      minimumFractionDigits: options?.minimumFractionDigits ?? 2,\n      maximumFractionDigits: options?.maximumFractionDigits ?? 2,\n      ...options,\n    }\n  ).format(Number(value));\n"],"mappings":";;;;;;;;;;;;;;;;;AAeA,MAAa,YACX,OACA,YAEAA,iCACE,KAAK,cACL,SAAS,UAAUC,6CAAsB,eAEzC;CACE,OAAO;CACP,UAAU,SAAS,YAAY;CAC/B,iBAAiB,SAAS,mBAAmB;CAC7C,uBAAuB,SAAS,yBAAyB;CACzD,uBAAuB,SAAS,yBAAyB;CACzD,GAAG;CACJ,CACF,CAAC,OAAO,OAAO,MAAM,CAAC"}