Current section
Files
Jump to
Current section
Files
lib/helpers.ex
defmodule Flagpack.Helpers do
@country_codes [
%{country_name: "Andorra", alpha2: "AD", alpha3: "AND", numeric: "020"},
%{
country_name: "United Arab Emirates",
alpha2: "AE",
alpha3: "ARE",
numeric: "784"
},
%{country_name: "African Union", alpha2: "AFRUN"},
%{
country_name: "Antigua and Barbuda",
alpha2: "AG",
alpha3: "ATG",
numeric: "028"
},
%{country_name: "Anguilla", alpha2: "AI", alpha3: "AIA", numeric: "660"},
%{country_name: "Albania", alpha2: "AL", alpha3: "ALB", numeric: "008"},
%{country_name: "Armenia", alpha2: "AM", alpha3: "ARM", numeric: "051"},
%{country_name: "Amsterdam", alpha2: "AMS"},
%{country_name: "Angola", alpha2: "AO", alpha3: "AGO", numeric: "024"},
%{country_name: "Antarctica", alpha2: "AQ", alpha3: "ATA", numeric: "010"},
%{country_name: "Argentina", alpha2: "AR", alpha3: "ARG", numeric: "032"},
%{
country_name: "American Samoa",
alpha2: "AS",
alpha3: "ASM",
numeric: "016"
},
%{country_name: "Austria", alpha2: "AT", alpha3: "AUT", numeric: "040"},
%{country_name: "Australia", alpha2: "AU", alpha3: "AUS", numeric: "016"},
%{country_name: "Aruba", alpha2: "AW", alpha3: "ABW", numeric: "533"},
%{country_name: "Ã…land Islands", alpha2: "AX", alpha3: "ALA", numeric: "248"},
%{country_name: "Azerbaijan", alpha2: "AZ", alpha3: "AZE", numeric: "031"},
%{
country_name: "Bosnia and Herzegovina",
alpha2: "BA",
alpha3: "BIH",
numeric: "070"
},
%{country_name: "Barbados", alpha2: "BB", alpha3: "BRB", numeric: "052"},
%{country_name: "Bangladesh", alpha2: "BD", alpha3: "BGD", numeric: "050"},
%{country_name: "Belgium", alpha2: "BE", alpha3: "BEL", numeric: "056"},
%{country_name: "Burkina Faso", alpha2: "BF", alpha3: "BFA", numeric: "854"},
%{country_name: "Bulgaria", alpha2: "BG", alpha3: "BGR", numeric: "100"},
%{country_name: "Bahrain", alpha2: "BH", alpha3: "BHR", numeric: "048"},
%{country_name: "Burundi", alpha2: "BI", alpha3: "BDI", numeric: "108"},
%{country_name: "Benin", alpha2: "BJ", alpha3: "BEN", numeric: "204"},
%{
country_name: "Saint Barthélemy",
alpha2: "BL",
alpha3: "BLM",
numeric: "652"
},
%{country_name: "Bermuda", alpha2: "BM", alpha3: "BMU", numeric: "060"},
%{country_name: "Brunei", alpha2: "BN", alpha3: "BRN", numeric: "096"},
%{country_name: "Bolivia", alpha2: "BO", alpha3: "BOL", numeric: "068"},
%{country_name: "Bonaire", alpha2: "BQ-BO"},
%{country_name: "Saba", alpha2: "BQ-SA"},
%{country_name: "Sint Eustatius", alpha2: "BQ-SE"},
%{country_name: "Brazil", alpha2: "BR", alpha3: "BRA", numeric: "076"},
%{country_name: "Bahamas", alpha2: "BS", alpha3: "BHS", numeric: "044"},
%{country_name: "Bhutan", alpha2: "BT", alpha3: "BTN", numeric: "064"},
%{country_name: "Botswana", alpha2: "BW", alpha3: "BWA", numeric: "072"},
%{country_name: "Belarus", alpha2: "BY", alpha3: "BLR", numeric: "112"},
%{country_name: "Belize", alpha2: "BZ", alpha3: "BLZ", numeric: "084"},
%{country_name: "Canada", alpha2: "CA", alpha3: "CAN", numeric: "124"},
%{country_name: "Cocos Islands", alpha2: "CC", alpha3: "CCK", numeric: "166"},
%{
country_name: "Democratis Republic of Congo",
alpha2: "CD",
alpha3: "COD",
numeric: "180"
},
%{
country_name: "Central African Republic",
alpha2: "CF",
alpha3: "CAF",
numeric: "140"
},
%{country_name: "Congo", alpha2: "CG", alpha3: "COG", numeric: "178"},
%{country_name: "Switzerland", alpha2: "CH", alpha3: "CHE", numeric: "756"},
%{country_name: "Côte d'Ivoire", alpha2: "CI", alpha3: "CIV", numeric: "384"},
%{country_name: "Cook Island", alpha2: "CK", alpha3: "COK", numeric: "184"},
%{country_name: "Chile", alpha2: "CL", alpha3: "CHL", numeric: "152"},
%{country_name: "Cameroon", alpha2: "CM", alpha3: "CMR", numeric: "120"},
%{country_name: "China", alpha2: "CN", alpha3: "CHN", numeric: "156"},
%{country_name: "Colombia", alpha2: "CO", alpha3: "COL", numeric: "170"},
%{country_name: "Costa Rica", alpha2: "CR", alpha3: "CRI", numeric: "188"},
%{country_name: "Cuba", alpha2: "CU", alpha3: "CUB", numeric: "192"},
%{country_name: "Cape Verde", alpha2: "CV", alpha3: "CPV", numeric: "132"},
%{country_name: "Curaçao", alpha2: "CW", alpha3: "CUW", numeric: "531"},
%{
country_name: "Christmas Island",
alpha2: "CX",
alpha3: "CXR",
numeric: "162"
},
%{country_name: "Cyprus", alpha2: "CY", alpha3: "CYP", numeric: "196"},
%{
country_name: "Czech Republic",
alpha2: "CZ",
alpha3: "CZE",
numeric: "203"
},
%{country_name: "Germany", alpha2: "DE", alpha3: "DEU", numeric: "276"},
%{country_name: "Djibouti", alpha2: "DJ", alpha3: "DJI", numeric: "262"},
%{country_name: "Denmark", alpha2: "DK", alpha3: "DNK", numeric: "208"},
%{country_name: "Dominica", alpha2: "DM", alpha3: "DMA", numeric: "212"},
%{
country_name: "Dominican Republic",
alpha2: "DO",
alpha3: "DOM",
numeric: "214"
},
%{country_name: "Ecuador", alpha2: "EC", alpha3: "ECU", numeric: "218"},
%{country_name: "Estonia", alpha2: "EE", alpha3: "EST", numeric: "233"},
%{country_name: "Egypt", alpha2: "EG", alpha3: "EGY", numeric: "818"},
%{
country_name: "Western Sahara",
alpha2: "EH",
alpha3: "ESH",
numeric: "732"
},
%{country_name: "Eritrea", alpha2: "ER", alpha3: "ERI", numeric: "232"},
%{country_name: "Spain", alpha2: "ES", alpha3: "ESP", numeric: "724"},
%{country_name: "Ethiopia", alpha2: "ET", alpha3: "ETH", numeric: "231"},
%{country_name: "European Union", alpha2: "EU"},
%{country_name: "Finland", alpha2: "FI", alpha3: "FIN", numeric: "246"},
%{country_name: "Fiji", alpha2: "FJ", alpha3: "FJI", numeric: "242"},
%{
country_name: "Falkland Islands",
alpha2: "FK",
alpha3: "FLK",
numeric: "238"
},
%{
country_name: "Micronesia (Federated States of)",
alpha2: "FM",
alpha3: "FSM",
numeric: "583"
},
%{country_name: "Faroe Island", alpha2: "FO", alpha3: "FRO", numeric: "234"},
%{country_name: "France", alpha2: "FR", alpha3: "FRA", numeric: "250"},
%{country_name: "Gabon", alpha2: "GA", alpha3: "GAB", numeric: "266"},
%{country_name: "England", alpha2: "GB-ENG"},
%{country_name: "Scotland", alpha2: "GB-SCT"},
%{
country_name: "United Kingdom",
alpha2: "GB-UKM",
alpha3: "GBR",
numeric: "836"
},
%{country_name: "Wales", alpha2: "GB-WLS"},
%{country_name: "Northern Ireland", alpha2: "GB-NIR"},
%{country_name: "Grenada", alpha2: "GD", alpha3: "GRD", numeric: "308"},
%{country_name: "Georgia", alpha2: "GE", alpha3: "GEO", numeric: "268"},
%{country_name: "French Guiana", alpha2: "GF", alpha3: "GUF", numeric: "254"},
%{country_name: "Guernsey", alpha2: "GG", alpha3: "GGY", numeric: "831"},
%{country_name: "Ghana", alpha2: "GH", alpha3: "GHA", numeric: "288"},
%{country_name: "Gibraltar", alpha2: "GI", alpha3: "GIB", numeric: "292"},
%{country_name: "Greenland", alpha2: "GL", alpha3: "GRL", numeric: "304"},
%{country_name: "Gambia", alpha2: "GM", alpha3: "GMB", numeric: "270"},
%{country_name: "Guinea", alpha2: "GN", alpha3: "GIN", numeric: "324"},
%{country_name: "Guadeloupe", alpha2: "GP", alpha3: "GLP", numeric: "312"},
%{
country_name: "Equatorial Guinea",
alpha2: "GQ",
alpha3: "GNQ",
numeric: "226"
},
%{country_name: "Greece", alpha2: "GR", alpha3: "GRC", numeric: "300"},
%{
country_name: "South Gerogia and the South Sandwich Islands",
alpha2: "GS",
alpha3: "SGS",
numeric: "239"
},
%{country_name: "Guatemala", alpha2: "GT", alpha3: "GTM", numeric: "320"},
%{country_name: "Guam", alpha2: "GU", alpha3: "GUM", numeric: "316"},
%{country_name: "Guinea-Bissau", alpha2: "GW", alpha3: "GNB", numeric: "624"},
%{country_name: "Guyana", alpha2: "GY", alpha3: "GUY", numeric: "328"},
%{country_name: "Hong Kong", alpha2: "HK", alpha3: "HKG", numeric: "344"},
%{
country_name: "Heard Island and McDonald Islands",
alpha2: "HM",
alpha3: "HMD",
numeric: "334"
},
%{country_name: "Honduras", alpha2: "HN", alpha3: "HND", numeric: "340"},
%{country_name: "Croatia", alpha2: "HR", alpha3: "HRV", numeric: "191"},
%{country_name: "Haiti", alpha2: "HT", alpha3: "HTI", numeric: "332"},
%{country_name: "Hungary", alpha2: "HU", alpha3: "HUN", numeric: "348"},
%{country_name: "Indonesia", alpha2: "ID", alpha3: "IDN", numeric: "360"},
%{country_name: "Ireland", alpha2: "IE", alpha3: "IRL", numeric: "372"},
%{country_name: "Israel", alpha2: "IL", alpha3: "ISR", numeric: "376"},
%{country_name: "Isle of Man", alpha2: "IM", alpha3: "IMN", numeric: "833"},
%{country_name: "India", alpha2: "IN", alpha3: "IND", numeric: "356"},
%{
country_name: "British Indian Ocean Territory",
alpha2: "IO",
alpha3: "IOT",
numeric: "086"
},
%{country_name: "Iraq", alpha2: "IQ", alpha3: "IRQ", numeric: "368"},
%{country_name: "Iran", alpha2: "IR", alpha3: "IRN", numeric: "364"},
%{country_name: "Iceland", alpha2: "IS", alpha3: "ISL", numeric: "352"},
%{country_name: "Italy", alpha2: "IT", alpha3: "ITA", numeric: "380"},
%{country_name: "Jersey", alpha2: "JE", alpha3: "JEY", numeric: "832"},
%{country_name: "Jamaica", alpha2: "JM", alpha3: "JAM", numeric: "388"},
%{country_name: "Jordan", alpha2: "JO", alpha3: "JOR", numeric: "400"},
%{country_name: "Japan", alpha2: "JP", alpha3: "JPN", numeric: "392"},
%{country_name: "Kenya", alpha2: "KE", alpha3: "KEN", numeric: "404"},
%{country_name: "Kyrgyzstan", alpha2: "KG", alpha3: "KGZ", numeric: "417"},
%{country_name: "Cambodia", alpha2: "KH", alpha3: "KHM", numeric: "116"},
%{country_name: "Kiribati", alpha2: "KI", alpha3: "KIR", numeric: "296"},
%{country_name: "Comoros", alpha2: "KM", alpha3: "COM", numeric: "174"},
%{
country_name: "Saint Kitts and Nevis",
alpha2: "KN-SK",
alpha3: "KNA",
numeric: "659"
},
%{
country_name: "Korea (the Democratic People's Republic of)",
alpha2: "KP",
alpha3: "PRK",
numeric: "408"
},
%{
country_name: "Korea (the Republic of)",
alpha2: "KR",
alpha3: "KOR",
numeric: "410"
},
%{country_name: "Kuwait", alpha2: "KW", alpha3: "KWT", numeric: "414"},
%{
country_name: "Cayman Islands",
alpha2: "KY",
alpha3: "CYM",
numeric: "136"
},
%{country_name: "Kazakhstan", alpha2: "KZ", alpha3: "KAZ", numeric: "398"},
%{
country_name: "Lao People's Democratic Republic (the)",
alpha2: "LA",
alpha3: "LAO",
numeric: "418"
},
%{country_name: "Lebanon", alpha2: "LB", alpha3: "LBN", numeric: "422"},
%{country_name: "Saint Lucia", alpha2: "LC", alpha3: "LCA", numeric: "662"},
%{country_name: "Liechtenstein", alpha2: "LI", alpha3: "LIE", numeric: "438"},
%{country_name: "Sri Lanka", alpha2: "LK", alpha3: "LKA", numeric: "144"},
%{country_name: "Liberia", alpha2: "LR", alpha3: "LBR", numeric: "430"},
%{country_name: "Lesotho", alpha2: "LS", alpha3: "LSO", numeric: "426"},
%{country_name: "Lithuania", alpha2: "LT", alpha3: "LTU", numeric: "440"},
%{country_name: "Luxembourg", alpha2: "LU", alpha3: "LUX", numeric: "442"},
%{country_name: "Latvia", alpha2: "LV", alpha3: "LVA", numeric: "428"},
%{country_name: "Libya", alpha2: "LY", alpha3: "LBY", numeric: "434"},
%{country_name: "Morocco", alpha2: "MA", alpha3: "MAR", numeric: "504"},
%{country_name: "Monaco", alpha2: "MC", alpha3: "MCO ", numeric: "492"},
%{
country_name: "Moldova (the Republic of)",
alpha2: "MD",
alpha3: "MDA",
numeric: "498"
},
%{country_name: "Montenegro", alpha2: "ME", alpha3: "MNE", numeric: "499"},
%{country_name: "Saint Martin", alpha2: "MF", alpha3: "MAF", numeric: "663"},
%{country_name: "Madagascar", alpha2: "MG", alpha3: "MDG", numeric: "450"},
%{
country_name: "Marshall Islands (the)",
alpha2: "MH",
alpha3: "MHL",
numeric: "584"
},
%{
country_name: "North Macedonia",
alpha2: "MK",
alpha3: "MKD",
numeric: "807"
},
%{country_name: "Mali", alpha2: "ML", alpha3: "MLI", numeric: "466"},
%{country_name: "Myanmar", alpha2: "MM", alpha3: "MMR", numeric: "104"},
%{country_name: "Mongolia", alpha2: "MN", alpha3: "MNG", numeric: "496"},
%{country_name: "Macao", alpha2: "MO", alpha3: "MAC", numeric: "446"},
%{
country_name: "Northern Mariana Islands (the)",
alpha2: "MP",
alpha3: "MNP",
numeric: "580"
},
%{country_name: "Martinique", alpha2: "MQ", alpha3: "MTQ", numeric: "474"},
%{country_name: "Mauritania", alpha2: "MR", alpha3: "MRT", numeric: "478"},
%{country_name: "Montserrat", alpha2: "MS", alpha3: "MSR", numeric: "500"},
%{country_name: "Malta", alpha2: "MT", alpha3: "MLT", numeric: "470"},
%{country_name: "Mauritius", alpha2: "MU", alpha3: "MUS", numeric: "480"},
%{country_name: "Maldives", alpha2: "MV", alpha3: "MDV", numeric: "462"},
%{country_name: "Malawi", alpha2: "MW", alpha3: "MWI", numeric: "454"},
%{country_name: "Mexico", alpha2: "MX", alpha3: "MEX", numeric: "484"},
%{country_name: "Malaysia", alpha2: "MY", alpha3: "MYS", numeric: "458"},
%{country_name: "Mozambique", alpha2: "MZ", alpha3: "MOZ", numeric: "508"},
%{country_name: "Namibia", alpha2: "NA", alpha3: "NAM", numeric: "516"},
%{country_name: "New Caledonia", alpha2: "NC", alpha3: "NCL", numeric: "540"},
%{country_name: "Niger", alpha2: "NE", alpha3: "NER", numeric: "562"},
%{
country_name: "Norfolk Island",
alpha2: "NF",
alpha3: "NFK",
numeric: "574"
},
%{country_name: "Nigeria", alpha2: "NG", alpha3: "NGA", numeric: "566"},
%{country_name: "Nicaragua", alpha2: "NI", alpha3: "NIC", numeric: "558"},
%{country_name: "Netherlands", alpha2: "NL", alpha3: "NLD", numeric: "528"},
%{country_name: "Norway", alpha2: "NO", alpha3: "NOR", numeric: "578"},
%{country_name: "Nepal", alpha2: "NP", alpha3: "NPL", numeric: "524"},
%{country_name: "Nauru", alpha2: "NR", alpha3: "NRU", numeric: "520"},
%{country_name: "Niue", alpha2: "NU", alpha3: "NIU", numeric: "570"},
%{country_name: "New Zealand", alpha2: "NZ", alpha3: "NZL", numeric: "554"},
%{country_name: "Oman", alpha2: "OM", alpha3: "OMN", numeric: "512"},
%{country_name: "Panama", alpha2: "PA", alpha3: "PAN", numeric: "591"},
%{country_name: "Peru", alpha2: "PE", alpha3: "PER", numeric: "604"},
%{
country_name: "French Polyesia",
alpha2: "PF",
alpha3: "PYF",
numeric: "258"
},
%{
country_name: "Papua New Guinea",
alpha2: "PG",
alpha3: "PNG",
numeric: "598"
},
%{
country_name: "Phillippines (the)",
alpha2: "PH",
alpha3: "PHL",
numeric: "608"
},
%{country_name: "Pakistan", alpha2: "PK", alpha3: "PAK", numeric: "586"},
%{country_name: "Poland", alpha2: "PL", alpha3: "POL", numeric: "616"},
%{
country_name: "Saint Pierre and Miquelon",
alpha2: "PM",
alpha3: "SPM",
numeric: "666"
},
%{country_name: "Pitcairn", alpha2: "PN", alpha3: "PCN", numeric: "612"},
%{country_name: "Puerto Rico", alpha2: "PR", alpha3: "PRI", numeric: "630"},
%{
country_name: "Palestine, State of",
alpha2: "PS",
alpha3: "PSE",
numeric: "275"
},
%{country_name: "Portugal", alpha2: "PT", alpha3: "PRT", numeric: "620"},
%{country_name: "Palau", alpha2: "PW", alpha3: "PLW", numeric: "585"},
%{country_name: "Paraguay", alpha2: "PY", alpha3: "PRY", numeric: "600"},
%{country_name: "Qatar", alpha2: "QA", alpha3: "QAT", numeric: "634"},
%{country_name: "Rainbow", alpha2: "RAINBOW"},
%{country_name: "Réunion", alpha2: "RE", alpha3: "REU", numeric: "638"},
%{country_name: "Romania", alpha2: "RO", alpha3: "ROU", numeric: "642"},
%{country_name: "Serbia", alpha2: "RS", alpha3: "SRB", numeric: "688"},
%{
country_name: "Russian Federation (the)",
alpha2: "RU",
alpha3: "RUS",
numeric: "643"
},
%{country_name: "Rwanda", alpha2: "RW", alpha3: "RWA", numeric: "646"},
%{country_name: "Saudi Arabia", alpha2: "SA", alpha3: "SAU", numeric: "682"},
%{
country_name: "Solomon Islands",
alpha2: "SB",
alpha3: "SLB",
numeric: "090"
},
%{country_name: "Seychelles", alpha2: "SC", alpha3: "SYC", numeric: "690"},
%{country_name: "Sudan (the)", alpha2: "SD", alpha3: "SDN", numeric: "729"},
%{country_name: "Sweden", alpha2: "SE", alpha3: "SWE", numeric: "752"},
%{country_name: "Singapore", alpha2: "SG", alpha3: "SGP", numeric: "702"},
%{
country_name: "Saint Helena, Ascension Island, Traistan da Cunha",
alpha2: "SH",
alpha3: "SHN",
numeric: "654"
},
%{country_name: "Slovenia", alpha2: "SI", alpha3: "SVN", numeric: "705"},
%{
country_name: "Svalbard, Jan Mayen",
alpha2: "SJ",
alpha3: "SJM",
numeric: "744"
},
%{country_name: "Slovakia", alpha2: "SK", alpha3: "SVK", numeric: "703"},
%{country_name: "Sierra Leone", alpha2: "SL", alpha3: "SLE", numeric: "694"},
%{country_name: "San Marino", alpha2: "SM", alpha3: "SMR", numeric: "674"},
%{country_name: "Senegal", alpha2: "SN", alpha3: "SEN", numeric: "686"},
%{country_name: "Somalia", alpha2: "SO", alpha3: "SOM", numeric: "706"},
%{country_name: "Suriname", alpha2: "SR", alpha3: "SUR", numeric: "740"},
%{country_name: "South Sudan", alpha2: "SS", alpha3: "SSD", numeric: "728"},
%{
country_name: "Sao Tome and Principe",
alpha2: "ST",
alpha3: "STP",
numeric: "678"
},
%{country_name: "El Salvador", alpha2: "SV", alpha3: "SLV", numeric: "222"},
%{country_name: "Sint Maarten", alpha2: "SX", alpha3: "SXM", numeric: "534"},
%{
country_name: "Syrian Arab Republic (the)",
alpha2: "SY",
alpha3: "SYR",
numeric: "760"
},
%{country_name: "Eswatini", alpha2: "SZ", alpha3: "SWZ", numeric: "748"},
%{
country_name: "Turks and Caicos Islands (the)",
alpha2: "TC",
alpha3: "TCA",
numeric: "796"
},
%{country_name: "Chad", alpha2: "TD", alpha3: "TCD", numeric: "148"},
%{
country_name: "French Southern Territories",
alpha2: "TF",
alpha3: "ATF",
numeric: "260"
},
%{country_name: "Togo", alpha2: "TG", alpha3: "TGO", numeric: "768"},
%{country_name: "Thailand", alpha2: "TH", alpha3: "THA", numeric: "764"},
%{country_name: "Tajikistan", alpha2: "TJ", alpha3: "TJK", numeric: "762"},
%{country_name: "Tokelau", alpha2: "TK", alpha3: "TKL", numeric: "772"},
%{country_name: "Timor-Leste", alpha2: "TL", alpha3: "TLS", numeric: "626"},
%{country_name: "Turkmenistan", alpha2: "TM", alpha3: "TKM", numeric: "795"},
%{country_name: "Tunisia", alpha2: "TN", alpha3: "TUN", numeric: "788"},
%{country_name: "Tonga", alpha2: "TO", alpha3: "TON", numeric: "776"},
%{country_name: "Turkey", alpha2: "TR", alpha3: "TUR", numeric: "792"},
%{
country_name: "Trinidad and Tobago",
alpha2: "TT",
alpha3: "TTO",
numeric: "780"
},
%{country_name: "Tuvalu", alpha2: "TV", alpha3: "TUV", numeric: "798"},
%{country_name: "Taiwan", alpha2: "TW", alpha3: "TWN", numeric: "158"},
%{
country_name: "Tanzania, the United Republic of",
alpha2: "TZ",
alpha3: "TZA",
numeric: "834"
},
%{country_name: "Ukraine", alpha2: "UA", alpha3: "UKR", numeric: "804"},
%{country_name: "Uganda", alpha2: "UG", alpha3: "UGA", numeric: "800"},
%{
country_name: "United States Minor Outlying Islands (the)",
alpha2: "UM",
alpha3: "UMI",
numeric: "581"
},
%{country_name: "Union of South American Nations", alpha2: "UNASUR"},
%{
country_name: "United States of America",
alpha2: "US",
alpha3: "USA",
numeric: "840"
},
%{country_name: "Uruguay", alpha2: "UY", alpha3: "URY", numeric: "858"},
%{country_name: "Uzbekistan", alpha2: "UZ", alpha3: "UZB", numeric: "860"},
%{country_name: "Holy See", alpha2: "VA", alpha3: "VAT", numeric: "336"},
%{
country_name: "Saint Vincent and the Grenadines",
alpha2: "VC",
alpha3: "VCT",
numeric: "670"
},
%{
country_name: "Venezuela (Bolivarian Republic of)",
alpha2: "VE",
alpha3: "VEN",
numeric: "862"
},
%{
country_name: "Virgin Islands (British)",
alpha2: "VG",
alpha3: "VGB",
numeric: "092"
},
%{
country_name: "Virgin Islands (U.S.)",
alpha2: "VI",
alpha3: "VIR",
numeric: "850"
},
%{country_name: "Vietnam", alpha2: "VN", alpha3: "VNM", numeric: "704"},
%{country_name: "Vanuatu", alpha2: "VU", alpha3: "VUT", numeric: "548"},
%{
country_name: "Wallis and Futuna",
alpha2: "WF",
alpha3: "WLF",
numeric: "876"
},
%{country_name: "Samoa", alpha2: "WS", alpha3: "WSM", numeric: "882"},
%{country_name: "Yemen", alpha2: "YE", alpha3: "YEM", numeric: "887"},
%{country_name: "South Africa", alpha2: "ZA", alpha3: "ZAF", numeric: "710"},
%{country_name: "Zambia", alpha2: "ZM", alpha3: "ZMB", numeric: "894"},
%{country_name: "Zimbabwe", alpha2: "ZW", alpha3: "ZWE", numeric: "716"},
%{country_name: "Afghanistan", alpha2: "AF", alpha3: "AFG", numeric: "004"},
%{country_name: "Bouvet Island", alpha2: "BV", alpha3: "BVT", numeric: "074"}
]
def country_name_by_alpha(alpha) do
alpha = String.upcase(alpha)
Enum.find(@country_codes, &(get_alpha2(&1) == alpha or get_alpha3(&1) == alpha))
|> Map.get(:country_name)
end
defp get_alpha2(country), do: Map.get(country, :alpha2, "")
defp get_alpha3(country), do: Map.get(country, :alpha3, "")
end