mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
220 lines
2.4 KiB
220 lines
2.4 KiB
import locale from 'locale-codes' |
|
|
|
export const currencyCodes = [ |
|
'AED', |
|
'AFN', |
|
'ALL', |
|
'AMD', |
|
'ANG', |
|
'AOA', |
|
'ARS', |
|
'AUD', |
|
'AWG', |
|
'AZN', |
|
'BAM', |
|
'BBD', |
|
'BDT', |
|
'BGN', |
|
'BHD', |
|
'BIF', |
|
'BMD', |
|
'BND', |
|
'BOB', |
|
'BOV', |
|
'BRL', |
|
'BSD', |
|
'BTN', |
|
'BWP', |
|
'BYR', |
|
'BZD', |
|
'CAD', |
|
'CDF', |
|
'CHE', |
|
'CHF', |
|
'CHW', |
|
'CLF', |
|
'CLP', |
|
'CNY', |
|
'COP', |
|
'COU', |
|
'CRC', |
|
'CUP', |
|
'CVE', |
|
'CYP', |
|
'CZK', |
|
'DJF', |
|
'DKK', |
|
'DOP', |
|
'DZD', |
|
'EEK', |
|
'EGP', |
|
'ERN', |
|
'ETB', |
|
'EUR', |
|
'FJD', |
|
'FKP', |
|
'GBP', |
|
'GEL', |
|
'GHC', |
|
'GIP', |
|
'GMD', |
|
'GNF', |
|
'GTQ', |
|
'GYD', |
|
'HKD', |
|
'HNL', |
|
'HRK', |
|
'HTG', |
|
'HUF', |
|
'IDR', |
|
'ILS', |
|
'INR', |
|
'IQD', |
|
'IRR', |
|
'ISK', |
|
'JMD', |
|
'JOD', |
|
'JPY', |
|
'KES', |
|
'KGS', |
|
'KHR', |
|
'KMF', |
|
'KPW', |
|
'KRW', |
|
'KWD', |
|
'KYD', |
|
'KZT', |
|
'LAK', |
|
'LBP', |
|
'LKR', |
|
'LRD', |
|
'LSL', |
|
'LTL', |
|
'LVL', |
|
'LYD', |
|
'MAD', |
|
'MDL', |
|
'MGA', |
|
'MKD', |
|
'MMK', |
|
'MNT', |
|
'MOP', |
|
'MRO', |
|
'MTL', |
|
'MUR', |
|
'MVR', |
|
'MWK', |
|
'MXN', |
|
'MXV', |
|
'MYR', |
|
'MZN', |
|
'NAD', |
|
'NGN', |
|
'NIO', |
|
'NOK', |
|
'NPR', |
|
'NZD', |
|
'OMR', |
|
'PAB', |
|
'PEN', |
|
'PGK', |
|
'PHP', |
|
'PKR', |
|
'PLN', |
|
'PYG', |
|
'QAR', |
|
'ROL', |
|
'RON', |
|
'RSD', |
|
'RUB', |
|
'RWF', |
|
'SAR', |
|
'SBD', |
|
'SCR', |
|
'SDD', |
|
'SEK', |
|
'SGD', |
|
'SHP', |
|
'SIT', |
|
'SKK', |
|
'SLL', |
|
'SOS', |
|
'SRD', |
|
'STD', |
|
'SYP', |
|
'SZL', |
|
'THB', |
|
'TJS', |
|
'TMM', |
|
'TND', |
|
'TOP', |
|
'TRY', |
|
'TTD', |
|
'TWD', |
|
'TZS', |
|
'UAH', |
|
'UGX', |
|
'USD', |
|
'USN', |
|
'USS', |
|
'UYU', |
|
'UZS', |
|
'VEB', |
|
'VND', |
|
'VUV', |
|
'WST', |
|
'XAF', |
|
'XAG', |
|
'XAU', |
|
'XBA', |
|
'XBB', |
|
'XBC', |
|
'XBD', |
|
'XCD', |
|
'XDR', |
|
'XFO', |
|
'XFU', |
|
'XOF', |
|
'XPD', |
|
'XPF', |
|
'XPT', |
|
'XTS', |
|
'XXX', |
|
'YER', |
|
'ZAR', |
|
'ZMK', |
|
'ZWD', |
|
] |
|
|
|
export function validateCurrencyCode(v: string) { |
|
return currencyCodes.includes(v) |
|
} |
|
|
|
export function currencyLocales() { |
|
const localeList = locale.all |
|
.filter((l: Record<string, any>) => { |
|
try { |
|
if (Intl.NumberFormat.supportedLocalesOf(l.tag).length > 0) { |
|
return true |
|
} |
|
return false |
|
} catch (e) { |
|
return false |
|
} |
|
}) |
|
.map((l: Record<string, any>) => { |
|
return { |
|
text: `${l.name} (${l.tag})`, |
|
value: l.tag, |
|
} |
|
}) |
|
return localeList |
|
} |
|
|
|
export function validateCurrencyLocale(v: string) { |
|
try { |
|
return Intl.NumberFormat.supportedLocalesOf(v).length > 0 |
|
} catch (e) { |
|
return false |
|
} |
|
}
|
|
|