145 lines
3.7 KiB
Swift
145 lines
3.7 KiB
Swift
//
|
||
// CountryResolver.swift
|
||
// Privado
|
||
//
|
||
// Created by Juraldinio on 1/4/20.
|
||
// Copyright © 2020 Omicronmedia. All rights reserved.
|
||
//
|
||
|
||
import Foundation
|
||
|
||
final class CountryResolver {
|
||
|
||
typealias Code = String
|
||
typealias Name = String
|
||
|
||
static func code(from name: Name) -> Code {
|
||
let result = self.сodeNames.first { _, value -> Bool in
|
||
return value == name
|
||
}
|
||
guard let (key, _) = result else { return name }
|
||
return key
|
||
}
|
||
|
||
static func name(from code: Code) -> Name {
|
||
guard let name = self.сodeNames[code] else { return code }
|
||
return name
|
||
}
|
||
|
||
private static let сodeNames: [Code: Name] =
|
||
["AD": "Andorra",
|
||
"AE": "United Arab Emirates",
|
||
"AF": "Afghanistan",
|
||
"AL": "Albania",
|
||
"AM": "Armenia",
|
||
"AT": "Austria",
|
||
"AR": "Argentina",
|
||
"AU": "Australia",
|
||
"AZ": "Azerbaijan",
|
||
"BA": "Bosnia and Herzegovina",
|
||
"BD": "Bangladesh",
|
||
"BE": "Belgium",
|
||
"BG": "Bulgaria",
|
||
"BN": "Brunei",
|
||
"BO": "Bolivia",
|
||
"BR": "Brazil",
|
||
"BS": "The Bahamas",
|
||
"BT": "Bhutan",
|
||
"BY": "Belarus",
|
||
"BZ": "Belize",
|
||
"CA": "Canada",
|
||
"CH": "Switzerland",
|
||
"CL": "Chilie",
|
||
"CO": "Colombia",
|
||
"CR": "Costa-Rica",
|
||
"CY": "Cyprus",
|
||
"CZ": "Czechia",
|
||
"DE": "Germany",
|
||
"DK": "Denmark",
|
||
"DZ": "Algeria",
|
||
"EC": "Ecuador",
|
||
"EE": "Estonia",
|
||
"EG": "Egypt",
|
||
"ES": "Spain",
|
||
"ET": "Ethiopia",
|
||
"FI": "Finland",
|
||
"FR": "France",
|
||
"GB": "United Kingdom",
|
||
"GD": "Grenada",
|
||
"GE": "Georgia",
|
||
"GR": "Greece",
|
||
"GT": "Guatemala",
|
||
"HK": "Hong Kong",
|
||
"HR": "Croatia",
|
||
"HT": "Haiti",
|
||
"HU": "Hungary",
|
||
"ID": "Indonesia",
|
||
"IE": "Ireland",
|
||
"IL": "Israel",
|
||
"IM": "Isle of Man",
|
||
"IN": "India",
|
||
"IS": "Iceland",
|
||
"IT": "Italy",
|
||
"JM": "Jamaica",
|
||
"JP": "Japan",
|
||
"KE": "Kenya",
|
||
"KG": "Kyrgyzstan",
|
||
"KH": "Cambodia",
|
||
"KR": "South Korea",
|
||
"KW": "Kuwait",
|
||
"KZ": "Kazakhstan",
|
||
"LA": "Laos",
|
||
"LI": "Liechtenstein",
|
||
"LK": "Sri Lanka",
|
||
"LT": "Lithuania",
|
||
"LU": "Luxembourg",
|
||
"LV": "Latvia",
|
||
"MC": "Monaco",
|
||
"MD": "Moldova",
|
||
"ME": "Montenegro",
|
||
"MK": "North Macedonia",
|
||
"MM": "Myanmar",
|
||
"MN": "Mongolia",
|
||
"MO": "Macau",
|
||
"MT": "Malta",
|
||
"MX": "Mexico",
|
||
"MY": "Malaysia",
|
||
"NG": "Nigeria",
|
||
"NL": "Netherlands",
|
||
"NO": "Norway",
|
||
"NP": "Nepal",
|
||
"NZ": "New Zealand",
|
||
"PA": "Panama",
|
||
"PE": "Peru",
|
||
"PG": "Papua New Guinea",
|
||
"PH": "Philippines",
|
||
"PK": "Pakistan",
|
||
"PL": "Poland",
|
||
"PT": "Portugal",
|
||
"QA": "Qatar",
|
||
"RO": "Romania",
|
||
"RS": "Serbia",
|
||
"RU": "Russia",
|
||
"SE": "Sweden",
|
||
"SG": "Singapore",
|
||
"SI": "Slovenia",
|
||
"SK": "Slovakia",
|
||
"SV": "El Salvador",
|
||
"TH": "Thailand",
|
||
"TJ": "Tajikistan",
|
||
"TM": "Turkmenistan",
|
||
"TR": "Turkey",
|
||
"TT": "Trinidad and Tobago",
|
||
"TW": "Taiwan",
|
||
"UA": "Ukraine",
|
||
"UK": "United Kingdom",
|
||
"US": "United States",
|
||
"UY": "Uruguay",
|
||
"UZ": "Uzbekistan",
|
||
"VE": "Venezuela",
|
||
"VN": "Vietnam",
|
||
"ZA": "South Africa"
|
||
]
|
||
|
||
}
|