{"version":3,"sources":["intl-utils.js"],"names":["formatCurrency","amount","taxRate","arguments","length","undefined","locale","parts","split","formatNumber","parseNumber","style","currency","config","baseCurrency","currencyDisplay","formatDate","date","includeTime","longTime","Intl","DateTimeFormat","year","month","day","hour","minute","second","formatToParts","Date","reduce","a","p","type","value","concat","getOrdinal","formatDateTime","options","format","number","NumberFormat","getCurrencySymbol","minimumFractionDigits","maximumFractionDigits","replace","trim","isNumber","string","isNaN","thousandSeparator","decimalSeparator","parseFloat","RegExp","round","digits","toMinorUnits"],"mappings":"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","file":"intl-utils.js","sourcesContent":["export function formatCurrency(amount, taxRate = 0, locale = null) {\r\n const parts = amount.split(' ');\r\n\r\n return formatNumber(parseNumber(parts[0], locale) / 100 * (100 + taxRate), {\r\n style: 'currency',\r\n currency: parts.length > 1 ? parts[1] : config.baseCurrency,\r\n currencyDisplay: 'narrowSymbol'\r\n }, locale);\r\n}\r\n\r\nexport function formatDate(date, includeTime = false, longTime = false, locale = null) {\r\n const parts = new Intl.DateTimeFormat(locale ?? config.locale, {\r\n year: 'numeric',\r\n month: 'short',\r\n day: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n }).formatToParts(date instanceof Date ? date : new Date(date)).reduce((a, p) => (a[p.type] = p.value, a), {});\r\n\r\n return `${parts.day}${getOrdinal(parts.day)} ${parts.month} ${parts.year}${(includeTime ? ` - ${parts.hour}:${parts.minute}${(longTime ? `:${parts.second}` : '')}` : '')}`;\r\n}\r\n\r\nexport function formatDateTime(date, options = {}, locale = null) {\r\n return new Intl.DateTimeFormat(locale ?? config.locale, options).format(date instanceof Date ? date : new Date(date));\r\n}\r\n\r\nexport function formatNumber(number, options = {}, locale = null) {\r\n return new Intl.NumberFormat(locale ?? config.locale, options).format(number);\r\n}\r\n\r\nexport function getCurrencySymbol(currency, locale = null) {\r\n return formatNumber(0, {\r\n style: 'currency',\r\n currency: currency,\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0,\r\n currencyDisplay: 'narrowSymbol'\r\n }, locale).replace(/\\d/g, '').trim();\r\n}\r\n\r\nexport function getOrdinal(day) {\r\n if (day == 1 || day == 21 || day == 31)\r\n return 'st';\r\n else if (day == 2 || day == 22)\r\n return 'nd';\r\n else if (day == 3 || day == 23)\r\n return 'rd';\r\n else\r\n return 'th';\r\n}\r\n\r\nexport function isNumber(string, locale = null) {\r\n return string != null && !isNaN(parseNumber(string, locale));\r\n}\r\n\r\nexport function parseNumber(string, locale = null) {\r\n const thousandSeparator = Intl.NumberFormat(locale ?? config.locale).format(11111).replace(/\\p{Number}/gu, '');\r\n const decimalSeparator = Intl.NumberFormat(locale ?? config.locale).format(1.1).replace(/\\p{Number}/gu, '');\r\n\r\n return parseFloat(string.replace(new RegExp('\\\\' + thousandSeparator, 'g'), '').replace(new RegExp('\\\\' + decimalSeparator), '.'));\r\n}\r\n\r\nexport function round(number, digits = 0, locale = null) {\r\n return parseNumber(formatNumber(number, {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: digits\r\n }, locale), locale);\r\n}\r\n\r\nexport function toMinorUnits(number) {\r\n return round(number * 100);\r\n}"]}