UNPKG

iso-country-lookup

Version:

Simple module providing ISO-3166-1-alpha-2 country code to english country name lookup and reverse lookup

298 lines (286 loc) 7.42 kB
mout = require 'mout/object' # Implements iso 3166-1-alpha-2 lookup class Iso31661a2 constructor: -> # Given an iso country code, returns an english country name getCountry: (code) -> Iso31661a2::countries[code] # Given an english country name, returns an iso code getCode: (country) -> ret = null if country? idx = mout.values(Iso31661a2::countries).indexOf(country) ret = Object.keys(Iso31661a2::countries)[idx] if idx != -1 ret # Returns a list of all english country names getCountries: -> mout.values Iso31661a2::countries # Returns a list of all iso country codes getCodes: -> Object.keys(Iso31661a2::countries) # Get the internal list of countries and region codes getData: -> Iso31661a2::countries # the actual list data Iso31661a2::countries = AF: "Afghanistan" AX: "Åland Islands" AL: "Albania" DZ: "Algeria" AS: "American Samoa" AD: "Andorra" AO: "Angola" AI: "Anguilla" AQ: "Antarctica" AG: "Antigua and Barbuda" AR: "Argentina" AM: "Armenia" AW: "Aruba" AU: "Australia" AT: "Austria" AZ: "Azerbaijan" BS: "Bahamas" BH: "Bahrain" BD: "Bangladesh" BB: "Barbados" BY: "Belarus" BE: "Belgium" BZ: "Belize" BJ: "Benin" BM: "Bermuda" BT: "Bhutan" BO: "Bolivia" BQ: "Bonaire, Sint Eustatius and Saba" BA: "Bosnia and Herzegovina" BW: "Botswana" BV: "Bouvet Island" BR: "Brazil" IO: "British Indian Ocean Territory" BN: "Brunei Darussalam" BG: "Bulgaria" BF: "Burkina Faso" BI: "Burundi" KH: "Cambodia" CM: "Cameroon" CA: "Canada" CV: "Cape Verde" KY: "Cayman Islands" CF: "Central African Republic" TD: "Chad" CL: "Chile" CN: "China" CX: "Christmas Island" CC: "Cocos (Keeling) Islands" CO: "Colombia" KM: "Comoros" CG: "Congo" CD: "Congo" CK: "Cook Islands" CR: "Costa Rica" CI: "Côte d'Ivoire" HR: "Croatia" CU: "Cuba" CW: "Curaçao" CY: "Cyprus" CZ: "Czech Republic" DK: "Denmark" DJ: "Djibouti" DM: "Dominica" DO: "Dominican Republic" EC: "Ecuador" EG: "Egypt" SV: "El Salvador" GQ: "Equatorial Guinea" ER: "Eritrea" EE: "Estonia" ET: "Ethiopia" FK: "Falkland Islands (Malvinas)" FO: "Faroe Islands" FJ: "Fiji" FI: "Finland" FR: "France" GF: "French Guiana" PF: "French Polynesia" TF: "French Southern Territories" GA: "Gabon" GM: "Gambia" GE: "Georgia" DE: "Germany" GH: "Ghana" GI: "Gibraltar" GR: "Greece" GL: "Greenland" GD: "Grenada" GP: "Guadeloupe" GU: "Guam" GT: "Guatemala" GG: "Guernsey" GN: "Guinea" GW: "Guinea-Bissau" GY: "Guyana" HT: "Haiti" HM: "Heard Island and McDonald Mcdonald Islands" VA: "Vatican" HN: "Honduras" HK: "Hong Kong" HU: "Hungary" IS: "Iceland" IN: "India" ID: "Indonesia" IR: "Iran" IQ: "Iraq" IE: "Ireland" IM: "Isle of Man" IL: "Israel" IT: "Italy" JM: "Jamaica" JP: "Japan" JE: "Jersey" JO: "Jordan" KZ: "Kazakhstan" KE: "Kenya" KI: "Kiribati" XK: "Kosovo" KP: "North Korea" KR: "South Korea" KW: "Kuwait" KG: "Kyrgyzstan" LA: "Laos" LV: "Latvia" LB: "Lebanon" LS: "Lesotho" LR: "Liberia" LY: "Libya" LI: "Liechtenstein" LT: "Lithuania" LU: "Luxembourg" MO: "Macao" MK: "Macedonia" MG: "Madagascar" MW: "Malawi" MY: "Malaysia" MV: "Maldives" ML: "Mali" MT: "Malta" MH: "Marshall Islands" MQ: "Martinique" MR: "Mauritania" MU: "Mauritius" YT: "Mayotte" MX: "Mexico" FM: "Micronesia" MD: "Moldova" MC: "Monaco" MN: "Mongolia" ME: "Montenegro" MS: "Montserrat" MA: "Morocco" MZ: "Mozambique" MM: "Myanmar" NA: "Namibia" NR: "Nauru" NP: "Nepal" NL: "Netherlands" AN: "Netherlands Antilles" NC: "New Caledonia" NZ: "New Zealand" NI: "Nicaragua" NE: "Niger" NG: "Nigeria" NU: "Niue" NF: "Norfolk Island" MP: "Northern Mariana Islands" NO: "Norway" OM: "Oman" PK: "Pakistan" PW: "Palau" PS: "Palestine" PA: "Panama" PG: "Papua New Guinea" PY: "Paraguay" PE: "Peru" PH: "Philippines" PN: "Pitcairn" PL: "Poland" PT: "Portugal" PR: "Puerto Rico" QA: "Qatar" RE: "Réunion" RO: "Romania" RU: "Russia" RW: "Rwanda" BL: "Saint Barthélemy" SH: "Saint Helena, Ascension and Tristan da Cunha" KN: "Saint Kitts and Nevis" LC: "Saint Lucia" MF: "Saint Martin (French part)" PM: "Saint Pierre and Miquelon" VC: "Saint Vincent and the Grenadines" WS: "Samoa" SM: "San Marino" ST: "Sao Tome and Principe" SA: "Saudi Arabia" SN: "Senegal" RS: "Serbia" SC: "Seychelles" SL: "Sierra Leone" SG: "Singapore" SX: "Sint Maarten (Dutch part)" SK: "Slovakia" SI: "Slovenia" SB: "Solomon Islands" SO: "Somalia" ZA: "South Africa" GS: "South Georgia and the South Sandwich Islands" SS: "South Sudan" ES: "Spain" LK: "Sri Lanka" SD: "Sudan" SR: "Suriname" SJ: "Svalbard and Jan Mayen" SZ: "Swaziland" SE: "Sweden" CH: "Switzerland" SY: "Syrian Arab Republic" TW: "Taiwan" TJ: "Tajikistan" TZ: "Tanzania" TH: "Thailand" TL: "Timor-Leste" TG: "Togo" TK: "Tokelau" TO: "Tonga" TT: "Trinidad and Tobago" TN: "Tunisia" TR: "Turkey" TM: "Turkmenistan" TC: "Turks and Caicos Islands" TV: "Tuvalu" UG: "Uganda" UA: "Ukraine" AE: "United Arab Emirates" GB: "United Kingdom" US: "United States" UM: "United States Minor Outlying Islands" UY: "Uruguay" UZ: "Uzbekistan" VU: "Vanuatu" VE: "Venezuela" VN: "Viet Nam" VG: "Virgin Islands, British" VI: "Virgin Islands, U.S." WF: "Wallis and Futuna" EH: "Western Sahara" YE: "Yemen" ZM: "Zambia" ZW: "Zimbabwe" XK: "Kosovo" XE: "England" XW: "Wales" XS: "Scotland" XZ: "Tibet" singleton = null # returns a singleton module.exports = (-> singleton ?= new Iso31661a2() )()