iso-country-currency
Version:
Get country name, currency and currency symbol via ISO2 country abbreviation
1,705 lines (1,676 loc) • 31.9 kB
JavaScript
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');
}
}