Created
April 2, 2018 17:08
-
-
Save azakordonets/cfb1b80c809f91c8c61bf2a40439635f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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] | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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