Skip to content

Instantly share code, notes, and snippets.

@azakordonets
Created April 2, 2018 17:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save azakordonets/cfb1b80c809f91c8c61bf2a40439635f to your computer and use it in GitHub Desktop.
Save azakordonets/cfb1b80c809f91c8c61bf2a40439635f to your computer and use it in GitHub Desktop.
import Foundation
public extension Array {
public func randomItem() -> Element? {
guard self.count > 0 else {
return nil
}
let index = Int(arc4random_uniform(UInt32(self.count)))
return self[index]
}
}
import Foundation
protocol EnumCollection : Hashable {
static func cases() -> AnySequence<Self>
static var allValues: [Self] { get }
}
extension EnumCollection {
static func cases() -> AnySequence<Self> {
typealias S = Self
return AnySequence { () -> AnyIterator<S> in
var raw = 0
return AnyGenerator {
let current: Self = withUnsafePointer(&raw) {
UnsafePointer($0).memory
}
guard current.hashValue == raw else {
return nil
}
raw += 1
return current
}
}
}
public static var allValues: [Self] {
return Array(self.cases())
}
}
enum Country: EnumCollection {
case Bangladesh
case Belgium
case BurkinaFaso
case Bulgaria
case BosniaandHerzegovina
case Barbados
case WallisandFutuna
case SaintBarthelemy
case Bermuda
case Brunei
case Bolivia
case Bahrain
case Burundi
case Benin
case Bhutan
case Jamaica
case BouvetIsland
case Botswana
case Samoa
case BonaireSaintEustatiusandSaba
case Brazil
case Bahamas
case Jersey
case Belarus
case Belize
case Russia
case Rwanda
case Serbia
case Lithuania
case Reunion
case Luxembourg
case Liberia
case Romania
case Lesotho
case GuineaBissau
case Guam
case Guatemala
case SouthGeorgiaandtheSouthSandwichIslands
case Greece
case EquatorialGuinea
case Guadeloupe
case Japan
case Guyana
case Guernsey
case FrenchGuiana
case Georgia
case Grenada
case UnitedKingdom
case Gabon
case Guinea
case Gambia
case Greenland
case Kuwait
case Gibraltar
case Ghana
case Oman
case Jordan
case Croatia
case Haiti
case Hungary
case HongKong
case Honduras
case HeardIslandandMcDonaldIslands
case SouthKorea
case Andorra
case PuertoRico
case PalestinianTerritory
case Palau
case Portugal
case SaintKittsandNevis
case Paraguay
case Anguilla
case Panama
case FrenchPolynesia
case PapuaNewGuinea
case Peru
case Pakistan
case Philippines
case Pitcairn
case Poland
case SaintPierreandMiquelon
case Zambia
case WesternSahara
case Estonia
case Egypt
case SouthAfrica
case Ecuador
case Albania
case Angola
case Kazakhstan
case Ethiopia
case Zimbabwe
case CaymanIslands
case Spain
case Eritrea
case Montenegro
case Moldova
case Madagascar
case SaintMartin
case Morocco
case Monaco
case Uzbekistan
case Myanmar
case Mali
case Macao
case Mongolia
case MarshallIslands
case Macedonia
case Mauritius
case Malta
case Malawi
case Maldives
case Martinique
case NorthernMarianaIslands
case Montserrat
case Mauritania
case Australia
case Uganda
case Malaysia
case Mexico
case Vanuatu
case France
case Aruba
case Afghanistan
case AlandIslands
case Finland
case Fiji
case FalklandIslands
case Micronesia
case FaroeIslands
case Nicaragua
case Netherlands
case Norway
case Namibia
case NewCaledonia
case Niger
case NorfolkIsland
case Nigeria
case NewZealand
case Nepal
case Nauru
case Niue
case CookIslands
case Kosovo
case IvoryCoast
case Switzerland
case Colombia
case China
case Cameroon
case Chile
case CocosIslands
case Canada
case RepublicoftheCongo
case CentralAfricanRepublic
case DemocraticRepublicoftheCongo
case CzechRepublic
case Cyprus
case ChristmasIsland
case CostaRica
case NorthKorea
case Curacao
case CapeVerde
case Cuba
case Swaziland
case Syria
case SintMaarten
case Kyrgyzstan
case Kenya
case SouthSudan
case Suriname
case Kiribati
case Cambodia
case ElSalvador
case Comoros
case SaoTomeandPrincipe
case Slovakia
case SvalbardandJanMayen
case Slovenia
case SaintHelena
case Somalia
case Senegal
case SanMarino
case SierraLeone
case Seychelles
case SolomonIslands
case SaudiArabia
case Singapore
case Sweden
case Sudan
case DominicanRepublic
case Dominica
case Djibouti
case Denmark
case Germany
case Yemen
case Austria
case Algeria
case UnitedStates
case Latvia
case Uruguay
case Mayotte
case UnitedStatesMinorOutlyingIslands
case Tanzania
case SaintLucia
case Laos
case Tuvalu
case Taiwan
case TrinidadandTobago
case Turkey
case SriLanka
case Liechtenstein
case Tunisia
case Tonga
case EastTimor
case Turkmenistan
case Tajikistan
case Tokelau
case Thailand
case FrenchSouthernTerritories
case Togo
case Chad
case TurksandCaicosIslands
case Libya
case Vatican
case SaintVincentandtheGrenadines
case UnitedArabEmirates
case Venezuela
case AntiguaandBarbuda
case BritishVirginIslands
case Iraq
case USVirginIslands
case Iceland
case Iran
case Armenia
case Italy
case Vietnam
case Antarctica
case AmericanSamoa
case Argentina
case IsleofMan
case Israel
case BritishIndianOceanTerritory
case India
case Lebanon
case Azerbaijan
case Ireland
case Indonesia
case Ukraine
case Qatar
case Mozambique
var name: String {
switch self {
case .Bangladesh: return "Bangladesh"
case .Belgium: return "Belgium"
case .BurkinaFaso: return "Burkina Faso"
case .Bulgaria: return "Bulgaria"
case .BosniaandHerzegovina: return "Bosnia and Herzegovina"
case .Barbados: return "Barbados"
case .WallisandFutuna: return "Wallis and Futuna"
case .SaintBarthelemy: return "Saint Barthelemy"
case .Bermuda: return "Bermuda"
case .Brunei: return "Brunei"
case .Bolivia: return "Bolivia"
case .Bahrain: return "Bahrain"
case .Burundi: return "Burundi"
case .Benin: return "Benin"
case .Bhutan: return "Bhutan"
case .Jamaica: return "Jamaica"
case .BouvetIsland: return "Bouvet Island"
case .Botswana: return "Botswana"
case .Samoa: return "Samoa"
case .BonaireSaintEustatiusandSaba: return "Bonaire, Saint Eustatius and Saba "
case .Brazil: return "Brazil"
case .Bahamas: return "Bahamas"
case .Jersey: return "Jersey"
case .Belarus: return "Belarus"
case .Belize: return "Belize"
case .Russia: return "Russia"
case .Rwanda: return "Rwanda"
case .Serbia: return "Serbia"
case .Lithuania: return "Lithuania"
case .Reunion: return "Reunion"
case .Luxembourg: return "Luxembourg"
case .Liberia: return "Liberia"
case .Romania: return "Romania"
case .Lesotho: return "Lesotho"
case .GuineaBissau: return "Guinea-Bissau"
case .Guam: return "Guam"
case .Guatemala: return "Guatemala"
case .SouthGeorgiaandtheSouthSandwichIslands: return "South Georgia and the South Sandwich Islands"
case .Greece: return "Greece"
case .EquatorialGuinea: return "Equatorial Guinea"
case .Guadeloupe: return "Guadeloupe"
case .Japan: return "Japan"
case .Guyana: return "Guyana"
case .Guernsey: return "Guernsey"
case .FrenchGuiana: return "French Guiana"
case .Georgia: return "Georgia"
case .Grenada: return "Grenada"
case .UnitedKingdom: return "United Kingdom"
case .Gabon: return "Gabon"
case .Guinea: return "Guinea"
case .Gambia: return "Gambia"
case .Greenland: return "Greenland"
case .Kuwait: return "Kuwait"
case .Gibraltar: return "Gibraltar"
case .Ghana: return "Ghana"
case .Oman: return "Oman"
case .Jordan: return "Jordan"
case .Croatia: return "Croatia"
case .Haiti: return "Haiti"
case .Hungary: return "Hungary"
case .HongKong: return "Hong Kong"
case .Honduras: return "Honduras"
case .HeardIslandandMcDonaldIslands: return "Heard Island and McDonald Islands"
case .SouthKorea: return "South Korea"
case .Andorra: return "Andorra"
case .PuertoRico: return "Puerto Rico"
case .PalestinianTerritory: return "Palestinian Territory"
case .Palau: return "Palau"
case .Portugal: return "Portugal"
case .SaintKittsandNevis: return "Saint Kitts and Nevis"
case .Paraguay: return "Paraguay"
case .Anguilla: return "Anguilla"
case .Panama: return "Panama"
case .FrenchPolynesia: return "French Polynesia"
case .PapuaNewGuinea: return "Papua New Guinea"
case .Peru: return "Peru"
case .Pakistan: return "Pakistan"
case .Philippines: return "Philippines"
case .Pitcairn: return "Pitcairn"
case .Poland: return "Poland"
case .SaintPierreandMiquelon: return "Saint Pierre and Miquelon"
case .Zambia: return "Zambia"
case .WesternSahara: return "Western Sahara"
case .Estonia: return "Estonia"
case .Egypt: return "Egypt"
case .SouthAfrica: return "South Africa"
case .Ecuador: return "Ecuador"
case .Albania: return "Albania"
case .Angola: return "Angola"
case .Kazakhstan: return "Kazakhstan"
case .Ethiopia: return "Ethiopia"
case .Zimbabwe: return "Zimbabwe"
case .CaymanIslands: return "Cayman Islands"
case .Spain: return "Spain"
case .Eritrea: return "Eritrea"
case .Montenegro: return "Montenegro"
case .Moldova: return "Moldova"
case .Madagascar: return "Madagascar"
case .SaintMartin: return "Saint Martin"
case .Morocco: return "Morocco"
case .Monaco: return "Monaco"
case .Uzbekistan: return "Uzbekistan"
case .Myanmar: return "Myanmar"
case .Mali: return "Mali"
case .Macao: return "Macao"
case .Mongolia: return "Mongolia"
case .MarshallIslands: return "Marshall Islands"
case .Macedonia: return "Macedonia"
case .Mauritius: return "Mauritius"
case .Malta: return "Malta"
case .Malawi: return "Malawi"
case .Maldives: return "Maldives"
case .Martinique: return "Martinique"
case .NorthernMarianaIslands: return "Northern Mariana Islands"
case .Montserrat: return "Montserrat"
case .Mauritania: return "Mauritania"
case .Australia: return "Australia"
case .Uganda: return "Uganda"
case .Malaysia: return "Malaysia"
case .Mexico: return "Mexico"
case .Vanuatu: return "Vanuatu"
case .France: return "France"
case .Aruba: return "Aruba"
case .Afghanistan: return "Afghanistan"
case .AlandIslands: return "Aland Islands"
case .Finland: return "Finland"
case .Fiji: return "Fiji"
case .FalklandIslands: return "Falkland Islands"
case .Micronesia: return "Micronesia"
case .FaroeIslands: return "Faroe Islands"
case .Nicaragua: return "Nicaragua"
case .Netherlands: return "Netherlands"
case .Norway: return "Norway"
case .Namibia: return "Namibia"
case .NewCaledonia: return "New Caledonia"
case .Niger: return "Niger"
case .NorfolkIsland: return "Norfolk Island"
case .Nigeria: return "Nigeria"
case .NewZealand: return "New Zealand"
case .Nepal: return "Nepal"
case .Nauru: return "Nauru"
case .Niue: return "Niue"
case .CookIslands: return "Cook Islands"
case .Kosovo: return "Kosovo"
case .IvoryCoast: return "Ivory Coast"
case .Switzerland: return "Switzerland"
case .Colombia: return "Colombia"
case .China: return "China"
case .Cameroon: return "Cameroon"
case .Chile: return "Chile"
case .CocosIslands: return "Cocos Islands"
case .Canada: return "Canada"
case .RepublicoftheCongo: return "Republic of the Congo"
case .CentralAfricanRepublic: return "Central African Republic"
case .DemocraticRepublicoftheCongo: return "Democratic Republic of the Congo"
case .CzechRepublic: return "Czech Republic"
case .Cyprus: return "Cyprus"
case .ChristmasIsland: return "Christmas Island"
case .CostaRica: return "Costa Rica"
case .NorthKorea: return "North Korea"
case .Curacao: return "Curacao"
case .CapeVerde: return "Cape Verde"
case .Cuba: return "Cuba"
case .Swaziland: return "Swaziland"
case .Syria: return "Syria"
case .SintMaarten: return "Sint Maarten"
case .Kyrgyzstan: return "Kyrgyzstan"
case .Kenya: return "Kenya"
case .SouthSudan: return "South Sudan"
case .Suriname: return "Suriname"
case .Kiribati: return "Kiribati"
case .Cambodia: return "Cambodia"
case .ElSalvador: return "El Salvador"
case .Comoros: return "Comoros"
case .SaoTomeandPrincipe: return "Sao Tome and Principe"
case .Slovakia: return "Slovakia"
case .SvalbardandJanMayen: return "Svalbard and Jan Mayen"
case .Slovenia: return "Slovenia"
case .SaintHelena: return "Saint Helena"
case .Somalia: return "Somalia"
case .Senegal: return "Senegal"
case .SanMarino: return "San Marino"
case .SierraLeone: return "Sierra Leone"
case .Seychelles: return "Seychelles"
case .SolomonIslands: return "Solomon Islands"
case .SaudiArabia: return "Saudi Arabia"
case .Singapore: return "Singapore"
case .Sweden: return "Sweden"
case .Sudan: return "Sudan"
case .DominicanRepublic: return "Dominican Republic"
case .Dominica: return "Dominica"
case .Djibouti: return "Djibouti"
case .Denmark: return "Denmark"
case .Germany: return "Germany"
case .Yemen: return "Yemen"
case .Austria: return "Austria"
case .Algeria: return "Algeria"
case .UnitedStates: return "United States"
case .Latvia: return "Latvia"
case .Uruguay: return "Uruguay"
case .Mayotte: return "Mayotte"
case .UnitedStatesMinorOutlyingIslands: return "United States Minor Outlying Islands"
case .Tanzania: return "Tanzania"
case .SaintLucia: return "Saint Lucia"
case .Laos: return "Laos"
case .Tuvalu: return "Tuvalu"
case .Taiwan: return "Taiwan"
case .TrinidadandTobago: return "Trinidad and Tobago"
case .Turkey: return "Turkey"
case .SriLanka: return "Sri Lanka"
case .Liechtenstein: return "Liechtenstein"
case .Tunisia: return "Tunisia"
case .Tonga: return "Tonga"
case .EastTimor: return "East Timor"
case .Turkmenistan: return "Turkmenistan"
case .Tajikistan: return "Tajikistan"
case .Tokelau: return "Tokelau"
case .Thailand: return "Thailand"
case .FrenchSouthernTerritories: return "French Southern Territories"
case .Togo: return "Togo"
case .Chad: return "Chad"
case .TurksandCaicosIslands: return "Turks and Caicos Islands"
case .Libya: return "Libya"
case .Vatican: return "Vatican"
case .SaintVincentandtheGrenadines: return "Saint Vincent and the Grenadines"
case .UnitedArabEmirates: return "United Arab Emirates"
case .Venezuela: return "Venezuela"
case .AntiguaandBarbuda: return "Antigua and Barbuda"
case .BritishVirginIslands: return "British Virgin Islands"
case .Iraq: return "Iraq"
case .USVirginIslands: return "U.S. Virgin Islands"
case .Iceland: return "Iceland"
case .Iran: return "Iran"
case .Armenia: return "Armenia"
case .Italy: return "Italy"
case .Vietnam: return "Vietnam"
case .Antarctica: return "Antarctica"
case .AmericanSamoa: return "American Samoa"
case .Argentina: return "Argentina"
case .IsleofMan: return "Isle of Man"
case .Israel: return "Israel"
case .BritishIndianOceanTerritory: return "British Indian Ocean Territory"
case .India: return "India"
case .Lebanon: return "Lebanon"
case .Azerbaijan: return "Azerbaijan"
case .Ireland: return "Ireland"
case .Indonesia: return "Indonesia"
case .Ukraine: return "Ukraine"
case .Qatar: return "Qatar"
case .Mozambique: return "Mozambique"
}
}
var phoneCode: String {
switch self {
case .Bangladesh: return "880"
case .Belgium: return "32"
case .BurkinaFaso: return "226"
case .Bulgaria: return "359"
case .BosniaandHerzegovina: return "387"
case .Barbados: return "+1-246"
case .WallisandFutuna: return "681"
case .SaintBarthelemy: return "590"
case .Bermuda: return "+1-441"
case .Brunei: return "673"
case .Bolivia: return "591"
case .Bahrain: return "973"
case .Burundi: return "257"
case .Benin: return "229"
case .Bhutan: return "975"
case .Jamaica: return "+1-876"
case .BouvetIsland: return ""
case .Botswana: return "267"
case .Samoa: return "685"
case .BonaireSaintEustatiusandSaba: return "599"
case .Brazil: return "55"
case .Bahamas: return "+1-242"
case .Jersey: return "+44-1534"
case .Belarus: return "375"
case .Belize: return "501"
case .Russia: return "7"
case .Rwanda: return "250"
case .Serbia: return "381"
case .Lithuania: return "370"
case .Reunion: return "262"
case .Luxembourg: return "352"
case .Liberia: return "231"
case .Romania: return "40"
case .Lesotho: return "266"
case .GuineaBissau: return "245"
case .Guam: return "+1-671"
case .Guatemala: return "502"
case .SouthGeorgiaandtheSouthSandwichIslands: return ""
case .Greece: return "30"
case .EquatorialGuinea: return "240"
case .Guadeloupe: return "590"
case .Japan: return "81"
case .Guyana: return "592"
case .Guernsey: return "+44-1481"
case .FrenchGuiana: return "594"
case .Georgia: return "995"
case .Grenada: return "+1-473"
case .UnitedKingdom: return "44"
case .Gabon: return "241"
case .Guinea: return "224"
case .Gambia: return "220"
case .Greenland: return "299"
case .Kuwait: return "965"
case .Gibraltar: return "350"
case .Ghana: return "233"
case .Oman: return "968"
case .Jordan: return "962"
case .Croatia: return "385"
case .Haiti: return "509"
case .Hungary: return "36"
case .HongKong: return "852"
case .Honduras: return "504"
case .HeardIslandandMcDonaldIslands: return " "
case .SouthKorea: return "82"
case .Andorra: return "376"
case .PuertoRico: return "+1-787 and 1-939"
case .PalestinianTerritory: return "970"
case .Palau: return "680"
case .Portugal: return "351"
case .SaintKittsandNevis: return "+1-869"
case .Paraguay: return "595"
case .Anguilla: return "+1-264"
case .Panama: return "507"
case .FrenchPolynesia: return "689"
case .PapuaNewGuinea: return "675"
case .Peru: return "51"
case .Pakistan: return "92"
case .Philippines: return "63"
case .Pitcairn: return "870"
case .Poland: return "48"
case .SaintPierreandMiquelon: return "508"
case .Zambia: return "260"
case .WesternSahara: return "212"
case .Estonia: return "372"
case .Egypt: return "20"
case .SouthAfrica: return "27"
case .Ecuador: return "593"
case .Albania: return "355"
case .Angola: return "244"
case .Kazakhstan: return "7"
case .Ethiopia: return "251"
case .Zimbabwe: return "263"
case .CaymanIslands: return "+1-345"
case .Spain: return "34"
case .Eritrea: return "291"
case .Montenegro: return "382"
case .Moldova: return "373"
case .Madagascar: return "261"
case .SaintMartin: return "590"
case .Morocco: return "212"
case .Monaco: return "377"
case .Uzbekistan: return "998"
case .Myanmar: return "95"
case .Mali: return "223"
case .Macao: return "853"
case .Mongolia: return "976"
case .MarshallIslands: return "692"
case .Macedonia: return "389"
case .Mauritius: return "230"
case .Malta: return "356"
case .Malawi: return "265"
case .Maldives: return "960"
case .Martinique: return "596"
case .NorthernMarianaIslands: return "+1-670"
case .Montserrat: return "+1-664"
case .Mauritania: return "222"
case .Australia: return "61"
case .Uganda: return "256"
case .Malaysia: return "60"
case .Mexico: return "52"
case .Vanuatu: return "678"
case .France: return "33"
case .Aruba: return "297"
case .Afghanistan: return "93"
case .AlandIslands: return "+358-18"
case .Finland: return "358"
case .Fiji: return "679"
case .FalklandIslands: return "500"
case .Micronesia: return "691"
case .FaroeIslands: return "298"
case .Nicaragua: return "505"
case .Netherlands: return "31"
case .Norway: return "47"
case .Namibia: return "264"
case .NewCaledonia: return "687"
case .Niger: return "227"
case .NorfolkIsland: return "672"
case .Nigeria: return "234"
case .NewZealand: return "64"
case .Nepal: return "977"
case .Nauru: return "674"
case .Niue: return "683"
case .CookIslands: return "682"
case .Kosovo: return ""
case .IvoryCoast: return "225"
case .Switzerland: return "41"
case .Colombia: return "57"
case .China: return "86"
case .Cameroon: return "237"
case .Chile: return "56"
case .CocosIslands: return "61"
case .Canada: return "1"
case .RepublicoftheCongo: return "242"
case .CentralAfricanRepublic: return "236"
case .DemocraticRepublicoftheCongo: return "243"
case .CzechRepublic: return "420"
case .Cyprus: return "357"
case .ChristmasIsland: return "61"
case .CostaRica: return "506"
case .NorthKorea: return "850"
case .Curacao: return "599"
case .CapeVerde: return "238"
case .Cuba: return "53"
case .Swaziland: return "268"
case .Syria: return "963"
case .SintMaarten: return "599"
case .Kyrgyzstan: return "996"
case .Kenya: return "254"
case .SouthSudan: return "211"
case .Suriname: return "597"
case .Kiribati: return "686"
case .Cambodia: return "855"
case .ElSalvador: return "503"
case .Comoros: return "269"
case .SaoTomeandPrincipe: return "239"
case .Slovakia: return "421"
case .SvalbardandJanMayen: return "47"
case .Slovenia: return "386"
case .SaintHelena: return "290"
case .Somalia: return "252"
case .Senegal: return "221"
case .SanMarino: return "378"
case .SierraLeone: return "232"
case .Seychelles: return "248"
case .SolomonIslands: return "677"
case .SaudiArabia: return "966"
case .Singapore: return "65"
case .Sweden: return "46"
case .Sudan: return "249"
case .DominicanRepublic: return "+1-809 and 1-829"
case .Dominica: return "+1-767"
case .Djibouti: return "253"
case .Denmark: return "45"
case .Germany: return "49"
case .Yemen: return "967"
case .Austria: return "43"
case .Algeria: return "213"
case .UnitedStates: return "1"
case .Latvia: return "371"
case .Uruguay: return "598"
case .Mayotte: return "262"
case .UnitedStatesMinorOutlyingIslands: return "1"
case .Tanzania: return "255"
case .SaintLucia: return "+1-758"
case .Laos: return "856"
case .Tuvalu: return "688"
case .Taiwan: return "886"
case .TrinidadandTobago: return "+1-868"
case .Turkey: return "90"
case .SriLanka: return "94"
case .Liechtenstein: return "423"
case .Tunisia: return "216"
case .Tonga: return "676"
case .EastTimor: return "670"
case .Turkmenistan: return "993"
case .Tajikistan: return "992"
case .Tokelau: return "690"
case .Thailand: return "66"
case .FrenchSouthernTerritories: return ""
case .Togo: return "228"
case .Chad: return "235"
case .TurksandCaicosIslands: return "+1-649"
case .Libya: return "218"
case .Vatican: return "379"
case .SaintVincentandtheGrenadines: return "+1-784"
case .UnitedArabEmirates: return "971"
case .Venezuela: return "58"
case .AntiguaandBarbuda: return "+1-268"
case .BritishVirginIslands: return "+1-284"
case .Iraq: return "964"
case .USVirginIslands: return "+1-340"
case .Iceland: return "354"
case .Iran: return "98"
case .Armenia: return "374"
case .Italy: return "39"
case .Vietnam: return "84"
case .Antarctica: return ""
case .AmericanSamoa: return "+1-684"
case .Argentina: return "54"
case .IsleofMan: return "+44-1624"
case .Israel: return "972"
case .BritishIndianOceanTerritory: return "246"
case .India: return "91"
case .Lebanon: return "961"
case .Azerbaijan: return "994"
case .Ireland: return "353"
case .Indonesia: return "62"
case .Ukraine: return "380"
case .Qatar: return "974"
case .Mozambique: return "258"
}
}
var isoCode: String {
switch self {
case .Bangladesh: return "BGD"
case .Belgium: return "BEL"
case .BurkinaFaso: return "BFA"
case .Bulgaria: return "BGR"
case .BosniaandHerzegovina: return "BIH"
case .Barbados: return "BRB"
case .WallisandFutuna: return "WLF"
case .SaintBarthelemy: return "BLM"
case .Bermuda: return "BMU"
case .Brunei: return "BRN"
case .Bolivia: return "BOL"
case .Bahrain: return "BHR"
case .Burundi: return "BDI"
case .Benin: return "BEN"
case .Bhutan: return "BTN"
case .Jamaica: return "JAM"
case .BouvetIsland: return "BVT"
case .Botswana: return "BWA"
case .Samoa: return "WSM"
case .BonaireSaintEustatiusandSaba: return "BES"
case .Brazil: return "BRA"
case .Bahamas: return "BHS"
case .Jersey: return "JEY"
case .Belarus: return "BLR"
case .Belize: return "BLZ"
case .Russia: return "RUS"
case .Rwanda: return "RWA"
case .Serbia: return "SRB"
case .Lithuania: return "LTU"
case .Reunion: return "REU"
case .Luxembourg: return "LUX"
case .Liberia: return "LBR"
case .Romania: return "ROU"
case .Lesotho: return "LSO"
case .GuineaBissau: return "GNB"
case .Guam: return "GUM"
case .Guatemala: return "GTM"
case .SouthGeorgiaandtheSouthSandwichIslands: return "SGS"
case .Greece: return "GRC"
case .EquatorialGuinea: return "GNQ"
case .Guadeloupe: return "GLP"
case .Japan: return "JPN"
case .Guyana: return "GUY"
case .Guernsey: return "GGY"
case .FrenchGuiana: return "GUF"
case .Georgia: return "GEO"
case .Grenada: return "GRD"
case .UnitedKingdom: return "GBR"
case .Gabon: return "GAB"
case .Guinea: return "GIN"
case .Gambia: return "GMB"
case .Greenland: return "GRL"
case .Kuwait: return "KWT"
case .Gibraltar: return "GIB"
case .Ghana: return "GHA"
case .Oman: return "OMN"
case .Jordan: return "JOR"
case .Croatia: return "HRV"
case .Haiti: return "HTI"
case .Hungary: return "HUN"
case .HongKong: return "HKG"
case .Honduras: return "HND"
case .HeardIslandandMcDonaldIslands: return "HMD"
case .SouthKorea: return "KOR"
case .Andorra: return "AND"
case .PuertoRico: return "PRI"
case .PalestinianTerritory: return "PSE"
case .Palau: return "PLW"
case .Portugal: return "PRT"
case .SaintKittsandNevis: return "KNA"
case .Paraguay: return "PRY"
case .Anguilla: return "AIA"
case .Panama: return "PAN"
case .FrenchPolynesia: return "PYF"
case .PapuaNewGuinea: return "PNG"
case .Peru: return "PER"
case .Pakistan: return "PAK"
case .Philippines: return "PHL"
case .Pitcairn: return "PCN"
case .Poland: return "POL"
case .SaintPierreandMiquelon: return "SPM"
case .Zambia: return "ZMB"
case .WesternSahara: return "ESH"
case .Estonia: return "EST"
case .Egypt: return "EGY"
case .SouthAfrica: return "ZAF"
case .Ecuador: return "ECU"
case .Albania: return "ALB"
case .Angola: return "AGO"
case .Kazakhstan: return "KAZ"
case .Ethiopia: return "ETH"
case .Zimbabwe: return "ZWE"
case .CaymanIslands: return "CYM"
case .Spain: return "ESP"
case .Eritrea: return "ERI"
case .Montenegro: return "MNE"
case .Moldova: return "MDA"
case .Madagascar: return "MDG"
case .SaintMartin: return "MAF"
case .Morocco: return "MAR"
case .Monaco: return "MCO"
case .Uzbekistan: return "UZB"
case .Myanmar: return "MMR"
case .Mali: return "MLI"
case .Macao: return "MAC"
case .Mongolia: return "MNG"
case .MarshallIslands: return "MHL"
case .Macedonia: return "MKD"
case .Mauritius: return "MUS"
case .Malta: return "MLT"
case .Malawi: return "MWI"
case .Maldives: return "MDV"
case .Martinique: return "MTQ"
case .NorthernMarianaIslands: return "MNP"
case .Montserrat: return "MSR"
case .Mauritania: return "MRT"
case .Australia: return "AUS"
case .Uganda: return "UGA"
case .Malaysia: return "MYS"
case .Mexico: return "MEX"
case .Vanuatu: return "VUT"
case .France: return "FRA"
case .Aruba: return "ABW"
case .Afghanistan: return "AFG"
case .AlandIslands: return "ALA"
case .Finland: return "FIN"
case .Fiji: return "FJI"
case .FalklandIslands: return "FLK"
case .Micronesia: return "FSM"
case .FaroeIslands: return "FRO"
case .Nicaragua: return "NIC"
case .Netherlands: return "NLD"
case .Norway: return "NOR"
case .Namibia: return "NAM"
case .NewCaledonia: return "NCL"
case .Niger: return "NER"
case .NorfolkIsland: return "NFK"
case .Nigeria: return "NGA"
case .NewZealand: return "NZL"
case .Nepal: return "NPL"
case .Nauru: return "NRU"
case .Niue: return "NIU"
case .CookIslands: return "COK"
case .Kosovo: return "XKX"
case .IvoryCoast: return "CIV"
case .Switzerland: return "CHE"
case .Colombia: return "COL"
case .China: return "CHN"
case .Cameroon: return "CMR"
case .Chile: return "CHL"
case .CocosIslands: return "CCK"
case .Canada: return "CAN"
case .RepublicoftheCongo: return "COG"
case .CentralAfricanRepublic: return "CAF"
case .DemocraticRepublicoftheCongo: return "COD"
case .CzechRepublic: return "CZE"
case .Cyprus: return "CYP"
case .ChristmasIsland: return "CXR"
case .CostaRica: return "CRI"
case .NorthKorea: return "PRK"
case .Curacao: return "CUW"
case .CapeVerde: return "CPV"
case .Cuba: return "CUB"
case .Swaziland: return "SWZ"
case .Syria: return "SYR"
case .SintMaarten: return "SXM"
case .Kyrgyzstan: return "KGZ"
case .Kenya: return "KEN"
case .SouthSudan: return "SSD"
case .Suriname: return "SUR"
case .Kiribati: return "KIR"
case .Cambodia: return "KHM"
case .ElSalvador: return "SLV"
case .Comoros: return "COM"
case .SaoTomeandPrincipe: return "STP"
case .Slovakia: return "SVK"
case .SvalbardandJanMayen: return "SJM"
case .Slovenia: return "SVN"
case .SaintHelena: return "SHN"
case .Somalia: return "SOM"
case .Senegal: return "SEN"
case .SanMarino: return "SMR"
case .SierraLeone: return "SLE"
case .Seychelles: return "SYC"
case .SolomonIslands: return "SLB"
case .SaudiArabia: return "SAU"
case .Singapore: return "SGP"
case .Sweden: return "SWE"
case .Sudan: return "SDN"
case .DominicanRepublic: return "DOM"
case .Dominica: return "DMA"
case .Djibouti: return "DJI"
case .Denmark: return "DNK"
case .Germany: return "DEU"
case .Yemen: return "YEM"
case .Austria: return "AUT"
case .Algeria: return "DZA"
case .UnitedStates: return "USA"
case .Latvia: return "LVA"
case .Uruguay: return "URY"
case .Mayotte: return "MYT"
case .UnitedStatesMinorOutlyingIslands: return "UMI"
case .Tanzania: return "TZA"
case .SaintLucia: return "LCA"
case .Laos: return "LAO"
case .Tuvalu: return "TUV"
case .Taiwan: return "TWN"
case .TrinidadandTobago: return "TTO"
case .Turkey: return "TUR"
case .SriLanka: return "LKA"
case .Liechtenstein: return "LIE"
case .Tunisia: return "TUN"
case .Tonga: return "TON"
case .EastTimor: return "TLS"
case .Turkmenistan: return "TKM"
case .Tajikistan: return "TJK"
case .Tokelau: return "TKL"
case .Thailand: return "THA"
case .FrenchSouthernTerritories: return "ATF"
case .Togo: return "TGO"
case .Chad: return "TCD"
case .TurksandCaicosIslands: return "TCA"
case .Libya: return "LBY"
case .Vatican: return "VAT"
case .SaintVincentandtheGrenadines: return "VCT"
case .UnitedArabEmirates: return "ARE"
case .Venezuela: return "VEN"
case .AntiguaandBarbuda: return "ATG"
case .BritishVirginIslands: return "VGB"
case .Iraq: return "IRQ"
case .USVirginIslands: return "VIR"
case .Iceland: return "ISL"
case .Iran: return "IRN"
case .Armenia: return "ARM"
case .Italy: return "ITA"
case .Vietnam: return "VNM"
case .Antarctica: return "ATA"
case .AmericanSamoa: return "ASM"
case .Argentina: return "ARG"
case .IsleofMan: return "IMN"
case .Israel: return "ISR"
case .BritishIndianOceanTerritory: return "IOT"
case .India: return "IND"
case .Lebanon: return "LBN"
case .Azerbaijan: return "AZE"
case .Ireland: return "IRL"
case .Indonesia: return "IDN"
case .Ukraine: return "UKR"
case .Qatar: return "QAT"
case .Mozambique: return "MOZ"
}
}
var currency: String {
switch self {
case .Bangladesh: return "BDT"
case .Belgium: return "EUR"
case .BurkinaFaso: return "XOF"
case .Bulgaria: return "BGN"
case .BosniaandHerzegovina: return "BAM"
case .Barbados: return "BBD"
case .WallisandFutuna: return "XPF"
case .SaintBarthelemy: return "EUR"
case .Bermuda: return "BMD"
case .Brunei: return "BND"
case .Bolivia: return "BOB"
case .Bahrain: return "BHD"
case .Burundi: return "BIF"
case .Benin: return "XOF"
case .Bhutan: return "BTN"
case .Jamaica: return "JMD"
case .BouvetIsland: return "NOK"
case .Botswana: return "BWP"
case .Samoa: return "WST"
case .BonaireSaintEustatiusandSaba: return "USD"
case .Brazil: return "BRL"
case .Bahamas: return "BSD"
case .Jersey: return "GBP"
case .Belarus: return "BYR"
case .Belize: return "BZD"
case .Russia: return "RUB"
case .Rwanda: return "RWF"
case .Serbia: return "RSD"
case .Lithuania: return "LTL"
case .Reunion: return "EUR"
case .Luxembourg: return "EUR"
case .Liberia: return "LRD"
case .Romania: return "RON"
case .Lesotho: return "LSL"
case .GuineaBissau: return "XOF"
case .Guam: return "USD"
case .Guatemala: return "GTQ"
case .SouthGeorgiaandtheSouthSandwichIslands: return "GBP"
case .Greece: return "EUR"
case .EquatorialGuinea: return "XAF"
case .Guadeloupe: return "EUR"
case .Japan: return "JPY"
case .Guyana: return "GYD"
case .Guernsey: return "GBP"
case .FrenchGuiana: return "EUR"
case .Georgia: return "GEL"
case .Grenada: return "XCD"
case .UnitedKingdom: return "GBP"
case .Gabon: return "XAF"
case .Guinea: return "GNF"
case .Gambia: return "GMD"
case .Greenland: return "DKK"
case .Kuwait: return "KWD"
case .Gibraltar: return "GIP"
case .Ghana: return "GHS"
case .Oman: return "OMR"
case .Jordan: return "JOD"
case .Croatia: return "HRK"
case .Haiti: return "HTG"
case .Hungary: return "HUF"
case .HongKong: return "HKD"
case .Honduras: return "HNL"
case .HeardIslandandMcDonaldIslands: return "AUD"
case .SouthKorea: return "KRW"
case .Andorra: return "EUR"
case .PuertoRico: return "USD"
case .PalestinianTerritory: return "ILS"
case .Palau: return "USD"
case .Portugal: return "EUR"
case .SaintKittsandNevis: return "XCD"
case .Paraguay: return "PYG"
case .Anguilla: return "XCD"
case .Panama: return "PAB"
case .FrenchPolynesia: return "XPF"
case .PapuaNewGuinea: return "PGK"
case .Peru: return "PEN"
case .Pakistan: return "PKR"
case .Philippines: return "PHP"
case .Pitcairn: return "NZD"
case .Poland: return "PLN"
case .SaintPierreandMiquelon: return "EUR"
case .Zambia: return "ZMK"
case .WesternSahara: return "MAD"
case .Estonia: return "EUR"
case .Egypt: return "EGP"
case .SouthAfrica: return "ZAR"
case .Ecuador: return "USD"
case .Albania: return "ALL"
case .Angola: return "AOA"
case .Kazakhstan: return "KZT"
case .Ethiopia: return "ETB"
case .Zimbabwe: return "ZWL"
case .CaymanIslands: return "KYD"
case .Spain: return "EUR"
case .Eritrea: return "ERN"
case .Montenegro: return "EUR"
case .Moldova: return "MDL"
case .Madagascar: return "MGA"
case .SaintMartin: return "EUR"
case .Morocco: return "MAD"
case .Monaco: return "EUR"
case .Uzbekistan: return "UZS"
case .Myanmar: return "MMK"
case .Mali: return "XOF"
case .Macao: return "MOP"
case .Mongolia: return "MNT"
case .MarshallIslands: return "USD"
case .Macedonia: return "MKD"
case .Mauritius: return "MUR"
case .Malta: return "EUR"
case .Malawi: return "MWK"
case .Maldives: return "MVR"
case .Martinique: return "EUR"
case .NorthernMarianaIslands: return "USD"
case .Montserrat: return "XCD"
case .Mauritania: return "MRO"
case .Australia: return "AUD"
case .Uganda: return "UGX"
case .Malaysia: return "MYR"
case .Mexico: return "MXN"
case .Vanuatu: return "VUV"
case .France: return "EUR"
case .Aruba: return "AWG"
case .Afghanistan: return "AFN"
case .AlandIslands: return "EUR"
case .Finland: return "EUR"
case .Fiji: return "FJD"
case .FalklandIslands: return "FKP"
case .Micronesia: return "USD"
case .FaroeIslands: return "DKK"
case .Nicaragua: return "NIO"
case .Netherlands: return "EUR"
case .Norway: return "NOK"
case .Namibia: return "NAD"
case .NewCaledonia: return "XPF"
case .Niger: return "XOF"
case .NorfolkIsland: return "AUD"
case .Nigeria: return "NGN"
case .NewZealand: return "NZD"
case .Nepal: return "NPR"
case .Nauru: return "AUD"
case .Niue: return "NZD"
case .CookIslands: return "NZD"
case .Kosovo: return "EUR"
case .IvoryCoast: return "XOF"
case .Switzerland: return "CHF"
case .Colombia: return "COP"
case .China: return "CNY"
case .Cameroon: return "XAF"
case .Chile: return "CLP"
case .CocosIslands: return "AUD"
case .Canada: return "CAD"
case .RepublicoftheCongo: return "XAF"
case .CentralAfricanRepublic: return "XAF"
case .DemocraticRepublicoftheCongo: return "CDF"
case .CzechRepublic: return "CZK"
case .Cyprus: return "EUR"
case .ChristmasIsland: return "AUD"
case .CostaRica: return "CRC"
case .NorthKorea: return "KPW"
case .Curacao: return "ANG"
case .CapeVerde: return "CVE"
case .Cuba: return "CUP"
case .Swaziland: return "SZL"
case .Syria: return "SYP"
case .SintMaarten: return "ANG"
case .Kyrgyzstan: return "KGS"
case .Kenya: return "KES"
case .SouthSudan: return "SSP"
case .Suriname: return "SRD"
case .Kiribati: return "AUD"
case .Cambodia: return "KHR"
case .ElSalvador: return "USD"
case .Comoros: return "KMF"
case .SaoTomeandPrincipe: return "STD"
case .Slovakia: return "EUR"
case .SvalbardandJanMayen: return "NOK"
case .Slovenia: return "EUR"
case .SaintHelena: return "SHP"
case .Somalia: return "SOS"
case .Senegal: return "XOF"
case .SanMarino: return "EUR"
case .SierraLeone: return "SLL"
case .Seychelles: return "SCR"
case .SolomonIslands: return "SBD"
case .SaudiArabia: return "SAR"
case .Singapore: return "SGD"
case .Sweden: return "SEK"
case .Sudan: return "SDG"
case .DominicanRepublic: return "DOP"
case .Dominica: return "XCD"
case .Djibouti: return "DJF"
case .Denmark: return "DKK"
case .Germany: return "EUR"
case .Yemen: return "YER"
case .Austria: return "EUR"
case .Algeria: return "DZD"
case .UnitedStates: return "USD"
case .Latvia: return "EUR"
case .Uruguay: return "UYU"
case .Mayotte: return "EUR"
case .UnitedStatesMinorOutlyingIslands: return "USD"
case .Tanzania: return "TZS"
case .SaintLucia: return "XCD"
case .Laos: return "LAK"
case .Tuvalu: return "AUD"
case .Taiwan: return "TWD"
case .TrinidadandTobago: return "TTD"
case .Turkey: return "TRY"
case .SriLanka: return "LKR"
case .Liechtenstein: return "CHF"
case .Tunisia: return "TND"
case .Tonga: return "TOP"
case .EastTimor: return "USD"
case .Turkmenistan: return "TMT"
case .Tajikistan: return "TJS"
case .Tokelau: return "NZD"
case .Thailand: return "THB"
case .FrenchSouthernTerritories: return "EUR"
case .Togo: return "XOF"
case .Chad: return "XAF"
case .TurksandCaicosIslands: return "USD"
case .Libya: return "LYD"
case .Vatican: return "EUR"
case .SaintVincentandtheGrenadines: return "XCD"
case .UnitedArabEmirates: return "AED"
case .Venezuela: return "VEF"
case .AntiguaandBarbuda: return "XCD"
case .BritishVirginIslands: return "USD"
case .Iraq: return "IQD"
case .USVirginIslands: return "USD"
case .Iceland: return "ISK"
case .Iran: return "IRR"
case .Armenia: return "AMD"
case .Italy: return "EUR"
case .Vietnam: return "VND"
case .Antarctica: return ""
case .AmericanSamoa: return "USD"
case .Argentina: return "ARS"
case .IsleofMan: return "GBP"
case .Israel: return "ILS"
case .BritishIndianOceanTerritory: return "USD"
case .India: return "INR"
case .Lebanon: return "LBP"
case .Azerbaijan: return "AZN"
case .Ireland: return "EUR"
case .Indonesia: return "IDR"
case .Ukraine: return "UAH"
case .Qatar: return "QAR"
case .Mozambique: return "MZN"
}
}
var capital: String {
switch self {
case .Bangladesh: return "Dhaka"
case .Belgium: return "Brussels"
case .BurkinaFaso: return "Ouagadougou"
case .Bulgaria: return "Sofia"
case .BosniaandHerzegovina: return "Sarajevo"
case .Barbados: return "Bridgetown"
case .WallisandFutuna: return "Mata Utu"
case .SaintBarthelemy: return "Gustavia"
case .Bermuda: return "Hamilton"
case .Brunei: return "Bandar Seri Begawan"
case .Bolivia: return "Sucre"
case .Bahrain: return "Manama"
case .Burundi: return "Bujumbura"
case .Benin: return "Porto-Novo"
case .Bhutan: return "Thimphu"
case .Jamaica: return "Kingston"
case .BouvetIsland: return ""
case .Botswana: return "Gaborone"
case .Samoa: return "Apia"
case .BonaireSaintEustatiusandSaba: return ""
case .Brazil: return "Brasilia"
case .Bahamas: return "Nassau"
case .Jersey: return "Saint Helier"
case .Belarus: return "Minsk"
case .Belize: return "Belmopan"
case .Russia: return "Moscow"
case .Rwanda: return "Kigali"
case .Serbia: return "Belgrade"
case .Lithuania: return "Vilnius"
case .Reunion: return "Saint-Denis"
case .Luxembourg: return "Luxembourg"
case .Liberia: return "Monrovia"
case .Romania: return "Bucharest"
case .Lesotho: return "Maseru"
case .GuineaBissau: return "Bissau"
case .Guam: return "Hagatna"
case .Guatemala: return "Guatemala City"
case .SouthGeorgiaandtheSouthSandwichIslands: return "Grytviken"
case .Greece: return "Athens"
case .EquatorialGuinea: return "Malabo"
case .Guadeloupe: return "Basse-Terre"
case .Japan: return "Tokyo"
case .Guyana: return "Georgetown"
case .Guernsey: return "St Peter Port"
case .FrenchGuiana: return "Cayenne"
case .Georgia: return "Tbilisi"
case .Grenada: return "St. George's"
case .UnitedKingdom: return "London"
case .Gabon: return "Libreville"
case .Guinea: return "Conakry"
case .Gambia: return "Banjul"
case .Greenland: return "Nuuk"
case .Kuwait: return "Kuwait City"
case .Gibraltar: return "Gibraltar"
case .Ghana: return "Accra"
case .Oman: return "Muscat"
case .Jordan: return "Amman"
case .Croatia: return "Zagreb"
case .Haiti: return "Port-au-Prince"
case .Hungary: return "Budapest"
case .HongKong: return "Hong Kong"
case .Honduras: return "Tegucigalpa"
case .HeardIslandandMcDonaldIslands: return ""
case .SouthKorea: return "Seoul"
case .Andorra: return "Andorra la Vella"
case .PuertoRico: return "San Juan"
case .PalestinianTerritory: return "East Jerusalem"
case .Palau: return "Melekeok"
case .Portugal: return "Lisbon"
case .SaintKittsandNevis: return "Basseterre"
case .Paraguay: return "Asuncion"
case .Anguilla: return "The Valley"
case .Panama: return "Panama City"
case .FrenchPolynesia: return "Papeete"
case .PapuaNewGuinea: return "Port Moresby"
case .Peru: return "Lima"
case .Pakistan: return "Islamabad"
case .Philippines: return "Manila"
case .Pitcairn: return "Adamstown"
case .Poland: return "Warsaw"
case .SaintPierreandMiquelon: return "Saint-Pierre"
case .Zambia: return "Lusaka"
case .WesternSahara: return "El-Aaiun"
case .Estonia: return "Tallinn"
case .Egypt: return "Cairo"
case .SouthAfrica: return "Pretoria"
case .Ecuador: return "Quito"
case .Albania: return "Tirana"
case .Angola: return "Luanda"
case .Kazakhstan: return "Astana"
case .Ethiopia: return "Addis Ababa"
case .Zimbabwe: return "Harare"
case .CaymanIslands: return "George Town"
case .Spain: return "Madrid"
case .Eritrea: return "Asmara"
case .Montenegro: return "Podgorica"
case .Moldova: return "Chisinau"
case .Madagascar: return "Antananarivo"
case .SaintMartin: return "Marigot"
case .Morocco: return "Rabat"
case .Monaco: return "Monaco"
case .Uzbekistan: return "Tashkent"
case .Myanmar: return "Nay Pyi Taw"
case .Mali: return "Bamako"
case .Macao: return "Macao"
case .Mongolia: return "Ulan Bator"
case .MarshallIslands: return "Majuro"
case .Macedonia: return "Skopje"
case .Mauritius: return "Port Louis"
case .Malta: return "Valletta"
case .Malawi: return "Lilongwe"
case .Maldives: return "Male"
case .Martinique: return "Fort-de-France"
case .NorthernMarianaIslands: return "Saipan"
case .Montserrat: return "Plymouth"
case .Mauritania: return "Nouakchott"
case .Australia: return "Canberra"
case .Uganda: return "Kampala"
case .Malaysia: return "Kuala Lumpur"
case .Mexico: return "Mexico City"
case .Vanuatu: return "Port Vila"
case .France: return "Paris"
case .Aruba: return "Oranjestad"
case .Afghanistan: return "Kabul"
case .AlandIslands: return "Mariehamn"
case .Finland: return "Helsinki"
case .Fiji: return "Suva"
case .FalklandIslands: return "Stanley"
case .Micronesia: return "Palikir"
case .FaroeIslands: return "Torshavn"
case .Nicaragua: return "Managua"
case .Netherlands: return "Amsterdam"
case .Norway: return "Oslo"
case .Namibia: return "Windhoek"
case .NewCaledonia: return "Noumea"
case .Niger: return "Niamey"
case .NorfolkIsland: return "Kingston"
case .Nigeria: return "Abuja"
case .NewZealand: return "Wellington"
case .Nepal: return "Kathmandu"
case .Nauru: return "Yaren"
case .Niue: return "Alofi"
case .CookIslands: return "Avarua"
case .Kosovo: return "Pristina"
case .IvoryCoast: return "Yamoussoukro"
case .Switzerland: return "Berne"
case .Colombia: return "Bogota"
case .China: return "Beijing"
case .Cameroon: return "Yaounde"
case .Chile: return "Santiago"
case .CocosIslands: return "West Island"
case .Canada: return "Ottawa"
case .RepublicoftheCongo: return "Brazzaville"
case .CentralAfricanRepublic: return "Bangui"
case .DemocraticRepublicoftheCongo: return "Kinshasa"
case .CzechRepublic: return "Prague"
case .Cyprus: return "Nicosia"
case .ChristmasIsland: return "Flying Fish Cove"
case .CostaRica: return "San Jose"
case .NorthKorea: return "Pyongyang"
case .Curacao: return " Willemstad"
case .CapeVerde: return "Praia"
case .Cuba: return "Havana"
case .Swaziland: return "Mbabane"
case .Syria: return "Damascus"
case .SintMaarten: return "Philipsburg"
case .Kyrgyzstan: return "Bishkek"
case .Kenya: return "Nairobi"
case .SouthSudan: return "Juba"
case .Suriname: return "Paramaribo"
case .Kiribati: return "Tarawa"
case .Cambodia: return "Phnom Penh"
case .ElSalvador: return "San Salvador"
case .Comoros: return "Moroni"
case .SaoTomeandPrincipe: return "Sao Tome"
case .Slovakia: return "Bratislava"
case .SvalbardandJanMayen: return "Longyearbyen"
case .Slovenia: return "Ljubljana"
case .SaintHelena: return "Jamestown"
case .Somalia: return "Mogadishu"
case .Senegal: return "Dakar"
case .SanMarino: return "San Marino"
case .SierraLeone: return "Freetown"
case .Seychelles: return "Victoria"
case .SolomonIslands: return "Honiara"
case .SaudiArabia: return "Riyadh"
case .Singapore: return "Singapur"
case .Sweden: return "Stockholm"
case .Sudan: return "Khartoum"
case .DominicanRepublic: return "Santo Domingo"
case .Dominica: return "Roseau"
case .Djibouti: return "Djibouti"
case .Denmark: return "Copenhagen"
case .Germany: return "Berlin"
case .Yemen: return "Sanaa"
case .Austria: return "Vienna"
case .Algeria: return "Algiers"
case .UnitedStates: return "Washington"
case .Latvia: return "Riga"
case .Uruguay: return "Montevideo"
case .Mayotte: return "Mamoudzou"
case .UnitedStatesMinorOutlyingIslands: return ""
case .Tanzania: return "Dodoma"
case .SaintLucia: return "Castries"
case .Laos: return "Vientiane"
case .Tuvalu: return "Funafuti"
case .Taiwan: return "Taipei"
case .TrinidadandTobago: return "Port of Spain"
case .Turkey: return "Ankara"
case .SriLanka: return "Colombo"
case .Liechtenstein: return "Vaduz"
case .Tunisia: return "Tunis"
case .Tonga: return "Nuku'alofa"
case .EastTimor: return "Dili"
case .Turkmenistan: return "Ashgabat"
case .Tajikistan: return "Dushanbe"
case .Tokelau: return ""
case .Thailand: return "Bangkok"
case .FrenchSouthernTerritories: return "Port-aux-Francais"
case .Togo: return "Lome"
case .Chad: return "N'Djamena"
case .TurksandCaicosIslands: return "Cockburn Town"
case .Libya: return "Tripolis"
case .Vatican: return "Vatican City"
case .SaintVincentandtheGrenadines: return "Kingstown"
case .UnitedArabEmirates: return "Abu Dhabi"
case .Venezuela: return "Caracas"
case .AntiguaandBarbuda: return "St. John's"
case .BritishVirginIslands: return "Road Town"
case .Iraq: return "Baghdad"
case .USVirginIslands: return "Charlotte Amalie"
case .Iceland: return "Reykjavik"
case .Iran: return "Tehran"
case .Armenia: return "Yerevan"
case .Italy: return "Rome"
case .Vietnam: return "Hanoi"
case .Antarctica: return ""
case .AmericanSamoa: return "Pago Pago"
case .Argentina: return "Buenos Aires"
case .IsleofMan: return "Douglas, Isle of Man"
case .Israel: return "Jerusalem"
case .BritishIndianOceanTerritory: return "Diego Garcia"
case .India: return "New Delhi"
case .Lebanon: return "Beirut"
case .Azerbaijan: return "Baku"
case .Ireland: return "Dublin"
case .Indonesia: return "Jakarta"
case .Ukraine: return "Kiev"
case .Qatar: return "Doha"
case .Mozambique: return "Maputo"
}
}
var random: Country {
Country.allValues.randomItem()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment