UNPKG

iso-country-currency

Version:

Get country name, currency and currency symbol via ISO2 country abbreviation

1,705 lines (1,676 loc) 31.9 kB
const dataJSON = { AD: { countryName: "Andorra", currency: "EUR", symbol: "€", numericCode: 978 }, AE: { countryName: "United Arab Emirates", currency: "AED", symbol: "AED", dateFormat: "dd/MM/yyyy", numericCode: 784, }, AF: { countryName: "Afghanistan", currency: "AFN", symbol: "Af", numericCode: 971, }, AG: { countryName: "Antigua and Barbuda", currency: "XCD", symbol: "XCD", numericCode: 951, }, AI: { countryName: "Anguilla", currency: "XCD", symbol: "XCD", numericCode: 951, }, AL: { countryName: "Albania", currency: "ALL", symbol: "ALL", dateFormat: "yyyy-MM-dd", numericCode: 8, }, AM: { countryName: "Armenia", currency: "AMD", symbol: "AMD", numericCode: 51, }, AO: { countryName: "Angola", currency: "AOA", symbol: "AOA", numericCode: 973, }, AR: { countryName: "Argentina", currency: "ARS", symbol: "AR$", dateFormat: "dd/MM/yyyy", numericCode: 32, }, AS: { countryName: "American Samoa", currency: "USD", symbol: "$", numericCode: 840, }, AT: { countryName: "Austria", currency: "EUR", symbol: "€", dateFormat: "dd.MM.yyyy", numericCode: 978, }, AU: { countryName: "Australia", currency: "AUD", symbol: "$", dateFormat: "d/MM/yyyy", numericCode: 36, }, AW: { countryName: "Aruba", currency: "AWG", symbol: "AWG", numericCode: 533, }, AX: { countryName: "Aland Islands", currency: "EUR", symbol: "€", numericCode: 978, }, AZ: { countryName: "Azerbaijan", currency: "AZN", symbol: "man.", numericCode: 944, }, BA: { countryName: "Bosnia and Herzegovina", currency: "BAM", symbol: "KM", dateFormat: "yyyy-MM-dd", numericCode: 977, }, BB: { countryName: "Barbados", currency: "BBD", symbol: "BBD", numericCode: 52, }, BD: { countryName: "Bangladesh", currency: "BDT", symbol: "Tk", numericCode: 50, }, BE: { countryName: "Belgium", currency: "EUR", symbol: "€", dateFormat: "d/MM/yyyy", numericCode: 978, }, BF: { countryName: "Burkina Faso", currency: "XOF", symbol: "CFA", numericCode: 952, }, BG: { countryName: "Bulgaria", currency: "BGN", symbol: "BGN", dateFormat: "yyyy-M-d", numericCode: 975, }, BH: { countryName: "Bahrain", currency: "BHD", symbol: "BD", dateFormat: "dd/MM/yyyy", numericCode: 48, }, BI: { countryName: "Burundi", currency: "BIF", symbol: "FBu", numericCode: 108, }, BJ: { countryName: "Benin", currency: "XOF", symbol: "CFA", numericCode: 952, }, BL: { countryName: "Saint Barthelemy", currency: "EUR", symbol: "€", numericCode: 978, }, BM: { countryName: "Bermuda", currency: "BMD", symbol: "BMD", numericCode: 60, }, BN: { countryName: "Brunei", currency: "BND", symbol: "BN$", numericCode: 96 }, BO: { countryName: "Bolivia", currency: "BOB", symbol: "Bs", dateFormat: "dd-MM-yyyy", numericCode: 68, }, BQ: { countryName: "Bonaire, Saint Eustatius and Saba ", currency: "USD", symbol: "$", numericCode: 840, }, BR: { countryName: "Brazil", currency: "BRL", symbol: "R$", dateFormat: "dd/MM/yyyy", numericCode: 986, }, BS: { countryName: "Bahamas", currency: "BSD", symbol: "BSD", numericCode: 44, }, BT: { countryName: "Bhutan", currency: "BTN", symbol: "BTN", numericCode: 64, }, BV: { countryName: "Bouvet Island", currency: "NOK", symbol: "Nkr", numericCode: 578, }, BW: { countryName: "Botswana", currency: "BWP", symbol: "BWP", numericCode: 72, }, BY: { countryName: "Belarus", currency: "BYN", symbol: "BYN", dateFormat: "d.M.yyyy", numericCode: 933, }, BZ: { countryName: "Belize", currency: "BZD", symbol: "BZ$", numericCode: 84, }, CA: { countryName: "Canada", currency: "CAD", symbol: "CA$", dateFormat: "dd/MM/yyyy", numericCode: 124, }, CC: { countryName: "Cocos Islands", currency: "AUD", symbol: "AU$", numericCode: 36 }, CD: { countryName: "Democratic Republic of the Congo", currency: "CDF", symbol: "CDF", numericCode: 976, }, CF: { countryName: "Central African Republic", currency: 'XAF', symbol: 'FCFA', numericCode: 950, }, CG: { countryName: 'Republic of the Congo', currency: 'XAF', symbol: 'FCFA', numericCode: 950, }, CH: { countryName: 'Switzerland', currency: 'CHF', symbol: 'CHF', dateFormat: "dd.MM.yyyy", numericCode: 756, }, CI: { countryName: 'Ivory Coast', currency: 'XOF', symbol: 'CFA', numericCode: 952, }, CK: { countryName: 'Cook Islands', currency: 'NZD', symbol: 'NZ$', numericCode: 554, }, CL: { countryName: 'Chile', currency: 'CLP', symbol: 'CL$', dateFormat: "dd-MM-yyyy", numericCode: 152, }, CM: { countryName: 'Cameroon', currency: 'XAF', symbol: 'FCFA', numericCode: 950, }, CN: { countryName: 'China', currency: 'CNY', symbol: 'CN¥', dateFormat: "yyyy-M-d", numericCode: 156, }, CO: { countryName: 'Colombia', currency: 'COP', symbol: 'CO$', dateFormat: "d/MM/yyyy", numericCode: 170, }, CR: { countryName: 'Costa Rica', currency: 'CRC', symbol: '₡', dateFormat: "dd/MM/yyyy", numericCode: 188, }, CU: { countryName: 'Cuba', currency: 'CUP', symbol: 'CUP', numericCode: 192, }, CV: { countryName: 'Cape Verde', currency: 'CVE', symbol: 'CV$', numericCode: 132, }, CW: { countryName: 'Curacao', currency: 'ANG', symbol: 'ANG', numericCode: 532, }, CX: { countryName: 'Christmas Island', currency: 'AUD', symbol: 'AU$', numericCode: 36, }, CY: { countryName: 'Cyprus', currency: 'EUR', symbol: '€', dateFormat: "dd/MM/yyyy", numericCode: 978, }, CZ: { countryName: 'Czech Republic', currency: 'CZK', symbol: 'Kč', dateFormat: "d.M.yyyy", numericCode: 203, }, DE: { countryName: 'Germany', currency: 'EUR', symbol: '€', dateFormat: "dd.MM.yyyy", numericCode: 978, }, DJ: { countryName: 'Djibouti', currency: 'DJF', symbol: 'Fdj', numericCode: 262, }, DK: { countryName: 'Denmark', currency: 'DKK', symbol: 'Dkr', dateFormat: "dd-MM-yyyy", numericCode: 208, }, DM: { countryName: 'Dominica', currency: 'XCD', symbol: 'XCD', numericCode: 951, }, DO: { countryName: 'Dominican Republic', currency: 'DOP', symbol: 'RD$', dateFormat: "MM/dd/yyyy", numericCode: 214, }, DZ: { countryName: 'Algeria', currency: 'DZD', symbol: 'DA', dateFormat: "dd/MM/yyyy", numericCode: 12, }, EC: { countryName: 'Ecuador', currency: 'USD', symbol: '$', dateFormat: "dd/MM/yyyy", numericCode: 840, }, EE: { countryName: 'Estonia', currency: 'EUR', symbol: '€', dateFormat: "d.MM.yyyy", numericCode: 978, }, EG: { countryName: 'Egypt', currency: 'EGP', symbol: 'EGP', dateFormat: "dd/MM/yyyy", numericCode: 818, }, EH: { countryName: 'Western Sahara', currency: 'MAD', symbol: 'MAD', numericCode: 504, }, ER: { countryName: 'Eritrea', currency: 'ERN', symbol: 'Nfk', numericCode: 232, }, ES: { countryName: 'Spain', currency: 'EUR', symbol: '€', dateFormat: "dd/MM/yyyy", numericCode: 978, }, ET: { countryName: 'Ethiopia', currency: 'ETB', symbol: 'Br', numericCode: 230, }, FI: { countryName: 'Finland', currency: 'EUR', symbol: '€', dateFormat: "d.M.yyyy", numericCode: 978, }, FJ: { countryName: 'Fiji', currency: 'FJD', symbol: 'FJD', numericCode: 242, }, FK: { countryName: 'Falkland Islands', currency: 'FKP', symbol: 'FKP', numericCode: 238, }, FM: { countryName: 'Micronesia', currency: 'USD', symbol: '$', numericCode: 840, }, FO: { countryName: 'Faroe Islands', currency: 'DKK', symbol: 'Dkr', numericCode: 208, }, FR: { countryName: 'France', currency: 'EUR', symbol: '€', dateFormat: "dd/MM/yyyy", numericCode: 978, }, GA: { countryName: 'Gabon', currency: 'XAF', symbol: 'FCFA', numericCode: 950, }, GB: { countryName: 'United Kingdom', currency: 'GBP', symbol: '£', dateFormat: "dd/MM/yyyy", numericCode: 826, }, GD: { countryName: 'Grenada', currency: 'XCD', symbol: 'XCD', numericCode: 951, }, GE: { countryName: 'Georgia', currency: 'GEL', symbol: 'GEL', numericCode: 981, }, GF: { countryName: 'French Guiana', currency: 'EUR', symbol: '€', numericCode: 978, }, GG: { countryName: 'Guernsey', currency: 'GBP', symbol: '£', numericCode: 826, }, GH: { countryName: 'Ghana', currency: 'GHS', symbol: 'GH₵', numericCode: 936, }, GI: { countryName: 'Gibraltar', currency: 'GIP', symbol: 'GIP', numericCode: 292, }, GL: { countryName: 'Greenland', currency: 'DKK', symbol: 'Dkr', numericCode: 208, }, GM: { countryName: 'Gambia', currency: 'GMD', symbol: 'GMD', numericCode: 270, }, GN: { countryName: 'Guinea', currency: 'GNF', symbol: 'FG', numericCode: 324, }, GP: { countryName: 'Guadeloupe', currency: 'EUR', symbol: '€', numericCode: 978, }, GQ: { countryName: 'Equatorial Guinea', currency: 'XAF', symbol: 'FCFA', numericCode: 950, }, GR: { countryName: 'Greece', currency: 'EUR', symbol: '€', dateFormat: "d/M/yyyy", numericCode: 978, }, GS: { countryName: 'South Georgia and the South Sandwich Islands', currency: 'GBP', symbol: '£', numericCode: 826, }, GT: { countryName: 'Guatemala', currency: 'GTQ', symbol: 'GTQ', dateFormat: "d/MM/yyyy", numericCode: 320, }, GU: { countryName: 'Guam', currency: 'USD', symbol: '$', numericCode: 840, }, GW: { countryName: 'Guinea-Bissau', currency: 'XOF', symbol: 'CFA', numericCode: 952, }, GY: { countryName: 'Guyana', currency: 'GYD', symbol: 'GYD', numericCode: 328, }, HK: { countryName: 'Hong Kong', currency: 'HKD', symbol: 'HK$', dateFormat: "yyyy年M月d日", numericCode: 344, }, HM: { countryName: 'Heard Island and McDonald Islands', currency: 'AUD', symbol: 'AU$', numericCode: 36, }, HN: { countryName: 'Honduras', currency: 'HNL', symbol: 'HNL', dateFormat: "MM-dd-yyyy", numericCode: 340, }, HR: { countryName: "Croatia", currency: "EUR", symbol: "€", dateFormat: "dd.MM.yyyy.", numericCode: 978, }, HT: { countryName: 'Haiti', currency: 'HTG', symbol: 'HTG', numericCode: 332, }, HU: { countryName: 'Hungary', currency: 'HUF', symbol: 'Ft', dateFormat: "yyyy.MM.dd.", numericCode: 348, }, ID: { countryName: 'Indonesia', currency: 'IDR', symbol: 'Rp', dateFormat: "dd/MM/yyyy", numericCode: 360, }, IE: { countryName: 'Ireland', currency: 'EUR', symbol: '€', dateFormat: "dd/MM/yyyy", numericCode: 978, }, IL: { countryName: 'Israel', currency: 'ILS', symbol: '₪', dateFormat: "dd/MM/yyyy", numericCode: 376, }, IM: { countryName: 'Isle of Man', currency: 'GBP', symbol: '£', numericCode: 826, }, IN: { countryName: 'India', currency: 'INR', symbol: '₹', dateFormat: "d/M/yyyy", numericCode: 356, }, IO: { countryName: 'British Indian Ocean Territory', currency: 'USD', symbol: '$', numericCode: 840, }, IQ: { countryName: 'Iraq', currency: 'IQD', symbol: 'IQD', dateFormat: "dd/MM/yyyy", numericCode: 368, }, IR: { countryName: 'Iran', currency: 'IRR', symbol: 'IRR', numericCode: 364, }, IS: { countryName: 'Iceland', currency: 'ISK', symbol: 'Ikr', dateFormat: "d.M.yyyy", numericCode: 352, }, IT: { countryName: 'Italy', currency: 'EUR', symbol: '€', dateFormat: "dd/MM/yyyy", numericCode: 978, }, JE: { countryName: 'Jersey', currency: 'GBP', symbol: '£', numericCode: 826, }, JM: { countryName: 'Jamaica', currency: 'JMD', symbol: 'J$', numericCode: 388, }, JO: { countryName: 'Jordan', currency: 'JOD', symbol: 'JD', dateFormat: "dd/MM/yyyy", numericCode: 400, }, JP: { countryName: 'Japan', currency: 'JPY', symbol: '¥', dateFormat: "H24.MM.dd", numericCode: 392, }, KE: { countryName: 'Kenya', currency: 'KES', symbol: 'Ksh', numericCode: 404, }, KG: { countryName: 'Kyrgyzstan', currency: 'KGS', symbol: 'KGS', numericCode: 417, }, KH: { countryName: 'Cambodia', currency: 'KHR', symbol: 'KHR', numericCode: 116, }, KI: { countryName: 'Kiribati', currency: 'AUD', symbol: 'AU$', numericCode: 36, }, KM: { countryName: 'Comoros', currency: 'KMF', symbol: 'CF', numericCode: 174, }, KN: { countryName: 'Saint Kitts and Nevis', currency: 'XCD', symbol: 'XCD', numericCode: 951, }, KP: { countryName: 'North Korea', currency: 'KPW', symbol: 'KPW', numericCode: 408, }, KR: { countryName: 'South Korea', currency: 'KRW', symbol: '₩', dateFormat: "yyyy. M. d", numericCode: 410, }, KW: { countryName: 'Kuwait', currency: 'KWD', symbol: 'KD', dateFormat: "dd/MM/yyyy", numericCode: 414, }, KY: { countryName: 'Cayman Islands', currency: 'KYD', symbol: 'KYD', numericCode: 136, }, KZ: { countryName: 'Kazakhstan', currency: 'KZT', symbol: 'KZT', numericCode: 398, }, LA: { countryName: 'Laos', currency: 'LAK', symbol: 'LAK', numericCode: 418, }, LB: { countryName: 'Lebanon', currency: 'LBP', symbol: 'LB£', dateFormat: "dd/MM/yyyy", numericCode: 422, }, LC: { countryName: 'Saint Lucia', currency: 'XCD', symbol: 'XCD', numericCode: 951, }, LI: { countryName: 'Liechtenstein', currency: 'CHF', symbol: 'CHF', numericCode: 756, }, LK: { countryName: 'Sri Lanka', currency: 'LKR', symbol: 'SLRs', numericCode: 144, }, LR: { countryName: 'Liberia', currency: 'LRD', symbol: 'LRD', numericCode: 430, }, LS: { countryName: 'Lesotho', currency: 'LSL', symbol: 'LSL', numericCode: 426, }, LT: { countryName: 'Lithuania', currency: 'EUR', symbol: '€', dateFormat: "yyyy.M.d", numericCode: 978, }, LU: { countryName: 'Luxembourg', currency: 'EUR', symbol: '€', dateFormat: "dd.MM.yyyy", numericCode: 978, }, LV: { countryName: 'Latvia', currency: 'EUR', symbol: '€', dateFormat: "yyyy.d.M", numericCode: 978, }, LY: { countryName: 'Libya', currency: 'LYD', symbol: 'LD', dateFormat: "dd/MM/yyyy", numericCode: 434, }, MA: { countryName: 'Morocco', currency: 'MAD', symbol: 'MAD', dateFormat: "dd/MM/yyyy", numericCode: 504, }, MC: { countryName: 'Monaco', currency: 'EUR', symbol: '€', numericCode: 978, }, MD: { countryName: 'Moldova', currency: 'MDL', symbol: 'MDL', numericCode: 498, }, ME: { countryName: 'Montenegro', currency: 'EUR', symbol: '€', dateFormat: "d.M.yyyy.", numericCode: 978, }, MF: { countryName: 'Saint Martin', currency: 'EUR', symbol: '€', numericCode: 978, }, MG: { countryName: 'Madagascar', currency: 'MGA', symbol: 'MGA', numericCode: 969, }, MH: { countryName: 'Marshall Islands', currency: 'USD', symbol: '$', numericCode: 840, }, MK: { countryName: 'Macedonia', currency: 'MKD', symbol: 'MKD', dateFormat: "d.M.yyyy", numericCode: 807, }, ML: { countryName: 'Mali', currency: 'XOF', symbol: 'CFA', numericCode: 952, }, MM: { countryName: 'Myanmar', currency: 'MMK', symbol: 'MMK', numericCode: 104, }, MN: { countryName: 'Mongolia', currency: 'MNT', symbol: 'MNT', numericCode: 496, }, MO: { countryName: 'Macao', currency: 'MOP', symbol: 'MOP$', numericCode: 446, }, MP: { countryName: 'Northern Mariana Islands', currency: 'USD', symbol: '$', numericCode: 840, }, MQ: { countryName: 'Martinique', currency: 'EUR', symbol: '€', numericCode: 978, }, MR: { countryName: 'Mauritania', currency: 'MRU', symbol: 'MRU', numericCode: 929, }, MS: { countryName: 'Montserrat', currency: 'XCD', symbol: 'XCD', numericCode: 951, }, MT: { countryName: 'Malta', currency: 'EUR', symbol: '€', dateFormat: "dd/MM/yyyy", numericCode: 978, }, MU: { countryName: 'Mauritius', currency: 'MUR', symbol: 'MURs', numericCode: 480, }, MV: { countryName: 'Maldives', currency: 'MVR', symbol: 'MVR', numericCode: 462, }, MW: { countryName: 'Malawi', currency: 'MWK', symbol: 'MWK', numericCode: 454, }, MX: { countryName: 'Mexico', currency: 'MXN', symbol: 'MX$', dateFormat: "d/MM/yyyy", numericCode: 484, }, MY: { countryName: 'Malaysia', currency: 'MYR', symbol: 'RM', dateFormat: "dd/MM/yyyy", numericCode: 458, }, MZ: { countryName: 'Mozambique', currency: 'MZN', symbol: 'MTn', numericCode: 943, }, NA: { countryName: 'Namibia', currency: 'NAD', symbol: 'N$', numericCode: 516, }, NC: { countryName: 'New Caledonia', currency: 'XPF', symbol: 'XPF', numericCode: 953, }, NE: { countryName: 'Niger', currency: 'XOF', symbol: 'CFA', numericCode: 952, }, NF: { countryName: 'Norfolk Island', currency: 'AUD', symbol: 'AU$', numericCode: 36, }, NG: { countryName: 'Nigeria', currency: 'NGN', symbol: '₦', numericCode: 566, }, NI: { countryName: 'Nicaragua', currency: 'NIO', symbol: 'C$', dateFormat: "MM-dd-yyyy", numericCode: 558, }, NL: { countryName: 'Netherlands', currency: 'EUR', symbol: '€', dateFormat: "d-M-yyyy", numericCode: 978, }, NO: { countryName: 'Norway', currency: 'NOK', symbol: 'Nkr', dateFormat: "dd.MM.yyyy", numericCode: 578, }, NP: { countryName: 'Nepal', currency: 'NPR', symbol: 'NPRs', numericCode: 524, }, NR: { countryName: 'Nauru', currency: 'AUD', symbol: 'AU$', numericCode: 36, }, NU: { countryName: 'Niue', currency: 'NZD', symbol: 'NZ$', numericCode: 554, }, NZ: { countryName: 'New Zealand', currency: 'NZD', symbol: 'NZ$', dateFormat: "d/MM/yyyy", numericCode: 554, }, OM: { countryName: 'Oman', currency: 'OMR', symbol: 'OMR', dateFormat: "dd/MM/yyyy", numericCode: 512, }, PA: { countryName: 'Panama', currency: 'PAB', symbol: 'B/.', dateFormat: "MM/dd/yyyy", numericCode: 590, }, PE: { countryName: 'Peru', currency: 'PEN', symbol: 'S/.', dateFormat: "dd/MM/yyyy", numericCode: 604, }, PF: { countryName: 'French Polynesia', currency: 'XPF', symbol: 'XPF', numericCode: 953, }, PG: { countryName: 'Papua New Guinea', currency: 'PGK', symbol: 'PGK', numericCode: 598, }, PH: { countryName: 'Philippines', currency: 'PHP', symbol: '₱', dateFormat: "M/d/yyyy", numericCode: 608, }, PK: { countryName: 'Pakistan', currency: 'PKR', symbol: 'PKRs', numericCode: 586, }, PL: { countryName: 'Poland', currency: 'PLN', symbol: 'zł', dateFormat: "dd.MM.yyyy", numericCode: 985, }, PM: { countryName: 'Saint Pierre and Miquelon', currency: 'EUR', symbol: '€', numericCode: 978, }, PN: { countryName: 'Pitcairn', currency: 'NZD', symbol: 'NZ$', numericCode: 554, }, PR: { countryName: 'Puerto Rico', currency: 'USD', symbol: '$', dateFormat: "MM-dd-yyyy", numericCode: 840, }, PS: { countryName: 'Palestinian Territory', currency: 'ILS', symbol: '₪', numericCode: 376, }, PT: { countryName: 'Portugal', currency: 'EUR', symbol: '€', dateFormat: "dd-MM-yyyy", numericCode: 978, }, PW: { countryName: 'Palau', currency: 'USD', symbol: '$', numericCode: 840, }, PY: { countryName: 'Paraguay', currency: 'PYG', symbol: '₲', dateFormat: "dd/MM/yyyy", numericCode: 600, }, QA: { countryName: 'Qatar', currency: 'QAR', symbol: 'QR', dateFormat: "dd/MM/yyyy", numericCode: 634, }, RE: { countryName: 'Reunion', currency: 'EUR', symbol: '€', numericCode: 978, }, RO: { countryName: 'Romania', currency: 'RON', symbol: 'RON', dateFormat: "dd.MM.yyyy", numericCode: 946, }, RS: { countryName: 'Serbia', currency: 'RSD', symbol: 'din.', dateFormat: "d.M.yyyy.", numericCode: 941, }, RU: { countryName: 'Russia', currency: 'RUB', symbol: 'RUB', dateFormat: "dd.MM.yyyy", numericCode: 643, }, RW: { countryName: 'Rwanda', currency: 'RWF', symbol: 'RWF', numericCode: 646, }, SA: { countryName: 'Saudi Arabia', currency: 'SAR', symbol: 'SR', dateFormat: "dd/MM/yyyy", numericCode: 682, }, SB: { countryName: 'Solomon Islands', currency: 'SBD', symbol: 'SBD', numericCode: 90, }, SC: { countryName: 'Seychelles', currency: 'SCR', symbol: 'SCR', numericCode: 690, }, SD: { countryName: 'Sudan', currency: 'SDG', symbol: 'SDG', dateFormat: "dd/MM/yyyy", numericCode: 938, }, SE: { countryName: 'Sweden', currency: 'SEK', symbol: 'Skr', dateFormat: "yyyy-MM-dd", numericCode: 752, }, SG: { countryName: 'Singapore', currency: 'SGD', symbol: 'S$', dateFormat: "M/d/yyyy", numericCode: 702, }, SH: { countryName: 'Saint Helena', currency: 'SHP', symbol: 'SHP', numericCode: 654, }, SI: { countryName: 'Slovenia', currency: 'EUR', symbol: '€', dateFormat: "d.M.yyyy", numericCode: 978, }, SJ: { countryName: 'Svalbard and Jan Mayen', currency: 'NOK', symbol: 'Nkr', numericCode: 578, }, SK: { countryName: 'Slovakia', currency: 'EUR', symbol: '€', dateFormat: "d.M.yyyy", numericCode: 978, }, SL: { countryName: 'Sierra Leone', currency: 'SLL', symbol: 'SLL', numericCode: 694, }, SM: { countryName: 'San Marino', currency: 'EUR', symbol: '€', numericCode: 978, }, SN: { countryName: 'Senegal', currency: 'XOF', symbol: 'CFA', numericCode: 952, }, SO: { countryName: 'Somalia', currency: 'SOS', symbol: 'Ssh', numericCode: 706, }, SR: { countryName: 'Suriname', currency: 'SRD', symbol: 'SRD', numericCode: 968, }, SS: { countryName: 'South Sudan', currency: 'SSP', symbol: 'SSP', numericCode: 728, }, ST: { countryName: 'Sao Tome and Principe', currency: 'STD', symbol: 'STD', numericCode: 678, }, SV: { countryName: 'El Salvador', currency: 'USD', symbol: '$', dateFormat: "MM-dd-yyyy", numericCode: 840, }, SX: { countryName: 'Sint Maarten', currency: 'ANG', symbol: 'ANG', numericCode: 532, }, SY: { countryName: 'Syria', currency: 'SYP', symbol: 'SY£', dateFormat: "dd/MM/yyyy", numericCode: 760, }, SZ: { countryName: 'Swaziland', currency: 'SZL', symbol: 'SZL', numericCode: 748, }, TC: { countryName: 'Turks and Caicos Islands', currency: 'USD', symbol: '$', numericCode: 840, }, TD: { countryName: 'Chad', currency: 'XAF', symbol: 'FCFA', numericCode: 950, }, TF: { countryName: 'French Southern Territories', currency: 'EUR', symbol: '€', numericCode: 978, }, TG: { countryName: 'Togo', currency: 'XOF', symbol: 'CFA', numericCode: 952, }, TH: { countryName: 'Thailand', currency: 'THB', symbol: '฿', dateFormat: "๓/๖/๒๕๕๕", numericCode: 764, }, TJ: { countryName: 'Tajikistan', currency: 'TJS', symbol: 'TJS', numericCode: 972, }, TK: { countryName: 'Tokelau', currency: 'NZD', symbol: 'NZ$', numericCode: 554, }, TL: { countryName: 'East Timor', currency: 'USD', symbol: '$', numericCode: 840, }, TM: { countryName: 'Turkmenistan', currency: 'TMT', symbol: 'TMT', numericCode: 934, }, TN: { countryName: 'Tunisia', currency: 'TND', symbol: 'DT', dateFormat: "dd/MM/yyyy", numericCode: 788, }, TO: { countryName: 'Tonga', currency: 'TOP', symbol: 'T$', numericCode: 776, }, TR: { countryName: 'Turkey', currency: 'TRY', symbol: '₺', dateFormat: "dd.MM.yyyy", numericCode: 949, }, TT: { countryName: 'Trinidad and Tobago', currency: 'TTD', symbol: 'TT$', numericCode: 780, }, TV: { countryName: 'Tuvalu', currency: 'AUD', symbol: 'AU$', numericCode: 36, }, TW: { countryName: 'Taiwan', currency: 'TWD', symbol: 'NT$', dateFormat: "yyyy/M/d", numericCode: 901, }, TZ: { countryName: 'Tanzania', currency: 'TZS', symbol: 'TSh', numericCode: 834, }, UA: { countryName: 'Ukraine', currency: 'UAH', symbol: '₴', dateFormat: "dd.MM.yyyy", numericCode: 980, }, UG: { countryName: 'Uganda', currency: 'UGX', symbol: 'USh', numericCode: 800, }, UM: { countryName: 'United States Minor Outlying Islands', currency: 'USD', symbol: '$', numericCode: 840, }, US: { countryName: 'United States', currency: 'USD', symbol: '$', dateFormat: "M/d/yyyy", numericCode: 840, }, UY: { countryName: 'Uruguay', currency: 'UYU', symbol: '$U', dateFormat: "dd/MM/yyyy", numericCode: 858, }, UZ: { countryName: 'Uzbekistan', currency: 'UZS', symbol: 'UZS', numericCode: 860, }, VA: { countryName: 'Vatican', currency: 'EUR', symbol: '€', numericCode: 978, }, VC: { countryName: 'Saint Vincent and the Grenadines', currency: 'XCD', symbol: 'XCD', numericCode: 951, }, VE: { countryName: 'Venezuela', currency: 'VEF', symbol: 'Bs.F.', dateFormat: "dd/MM/yyyy", numericCode: 937, }, VG: { countryName: 'British Virgin Islands', currency: 'USD', symbol: '$', numericCode: 840, }, VI: { countryName: 'U.S. Virgin Islands', currency: 'USD', symbol: '$', numericCode: 840, }, VN: { countryName: 'Vietnam', currency: 'VND', symbol: '₫', dateFormat: "dd/MM/yyyy", numericCode: 704, }, VU: { countryName: 'Vanuatu', currency: 'VUV', symbol: 'VUV', numericCode: 548, }, WF: { countryName: 'Wallis and Futuna', currency: 'XPF', symbol: 'XPF', numericCode: 953, }, WS: { countryName: 'Samoa', currency: 'WST', symbol: 'WST', numericCode: 882, }, XK: { countryName: 'Kosovo', currency: 'EUR', symbol: '€', numericCode: 978, }, YE: { countryName: 'Yemen', currency: 'YER', symbol: 'YR', dateFormat: "dd/MM/yyyy", numericCode: 886, }, YT: { countryName: 'Mayotte', currency: 'EUR', symbol: '€', numericCode: 978, }, ZA: { countryName: 'South Africa', currency: 'ZAR', symbol: 'R', dateFormat: "yyyy/MM/dd", numericCode: 710, }, ZM: { countryName: 'Zambia', currency: 'ZMW', symbol: 'ZK', numericCode: 967, }, ZW: { countryName: 'Zimbabwe', currency: 'ZWL', symbol: 'ZWL', numericCode: 932, }, }; const currencyAndSymbol = ['currency', 'symbol']; const allSearchParams = currencyAndSymbol.concat(['countryName', 'dateFormat']); exports.getAllISOCodes = function() { const keys = Object.keys(dataJSON); return keys.map(function(key) { const ISOObject = dataJSON[key]; return { iso: key, currency: ISOObject.currency, symbol: ISOObject.symbol, countryName: ISOObject.countryName, dateFormat: ISOObject.dateFormat }; }); }; exports.getAllInfoByISO = function(isoCode) { const iso = isoCode.toUpperCase(); if(dataJSON.hasOwnProperty(iso)) { const ISOObject = dataJSON[iso]; return { iso, currency: ISOObject.currency, symbol: ISOObject.symbol, countryName: ISOObject.countryName, dateFormat: ISOObject.dateFormat }; } throw new Error('ISO2 code wasn\'t found'); }; exports.getParamByISO = function(iso, param) { checkParam(param, allSearchParams); if(dataJSON.hasOwnProperty(iso.toUpperCase())) { return dataJSON[iso.toUpperCase()][param]; } throw new Error('ISO2 code wasn\'t found'); }; exports.getISOByParam = function(param, value) { checkParam(param, allSearchParams); for(let key in dataJSON) { if(dataJSON.hasOwnProperty(key) && dataJSON[key][param] === value) { return key; } } throw new Error(value + ' wasn\'t found in ' + param); }; exports.getParamByParam = function(givenParam, givenParamValue, searchParam) { checkParam(givenParam, allSearchParams); checkParam(searchParam, allSearchParams); for(let key in dataJSON) { if(dataJSON.hasOwnProperty(key) && dataJSON[key][givenParam] === givenParamValue) { return dataJSON[key][searchParam]; } } throw new Error(givenParam + ' wasn\'t found in ' + givenParamValue); }; exports.getAllCountriesByCurrencyOrSymbol = function(param, value) { const countriesArray = []; checkParam(param, currencyAndSymbol); for(let key in dataJSON) { if(dataJSON.hasOwnProperty(key) && dataJSON[key][param] === value) { countriesArray.push(dataJSON[key].countryName) ; } } if(countriesArray.length === 0) { throw new Error(value + ' wasn\'t found in' + param); } return countriesArray; }; exports.getAllISOByCurrencyOrSymbol = function(param, value) { const ISOArray = []; checkParam(param, currencyAndSymbol); for(let key in dataJSON) { if(dataJSON.hasOwnProperty(key) && dataJSON[key][param] === value) { ISOArray.push(key) ; } } if(ISOArray.length === 0) { throw new Error(value + ' wasn\'t found in' + param); } return ISOArray; }; function checkParam(param, paramArray) { if(paramArray.indexOf(param) === -1) { throw new Error('Invalid search param'); } }