You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
925 lines
33 KiB
925 lines
33 KiB
//
|
|
// Country.swift
|
|
// GME Remit
|
|
//
|
|
// Created by InKwon James Kim on 19/07/2019.
|
|
// Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum CountryEnum: String {
|
|
case af
|
|
case al
|
|
case dz
|
|
case ad
|
|
case ao
|
|
case aq
|
|
case ar
|
|
case am
|
|
case aw
|
|
case au
|
|
case at
|
|
case az
|
|
case bh
|
|
case bd
|
|
case by
|
|
case be
|
|
case bz
|
|
case bj
|
|
case bt
|
|
case bo
|
|
case ba
|
|
case bw
|
|
case br
|
|
case bn
|
|
case bg
|
|
case bf
|
|
case mm
|
|
case bi
|
|
case kh
|
|
case cm
|
|
case ca
|
|
case cv
|
|
case cf
|
|
case td
|
|
case cl
|
|
case cn
|
|
case cx
|
|
case cc
|
|
case co
|
|
case km
|
|
case cg
|
|
case cd
|
|
case ck
|
|
case cr
|
|
case hr
|
|
case cu
|
|
case cy
|
|
case cz
|
|
case dk
|
|
case dj
|
|
case tl
|
|
case ec
|
|
case eg
|
|
case sv
|
|
case gq
|
|
case er
|
|
case ee
|
|
case et
|
|
case fk
|
|
case fo
|
|
case fj
|
|
case fi
|
|
case fr
|
|
case pf
|
|
case ga
|
|
case gm
|
|
case ge
|
|
case de
|
|
case gh
|
|
case gi
|
|
case gr
|
|
case gl
|
|
case gt
|
|
case gn
|
|
case gw
|
|
case gy
|
|
case ht
|
|
case hn
|
|
case hk
|
|
case hu
|
|
case `in`
|
|
case id
|
|
case ir
|
|
case iq
|
|
case ie
|
|
case im
|
|
case il
|
|
case it
|
|
case ci
|
|
case jp
|
|
case jo
|
|
case kz
|
|
case ke
|
|
case ki
|
|
case kw
|
|
case kg
|
|
case la
|
|
case lv
|
|
case lb
|
|
case ls
|
|
case lr
|
|
case ly
|
|
case li
|
|
case lt
|
|
case lu
|
|
case mo
|
|
case mk
|
|
case mg
|
|
case mw
|
|
case my
|
|
case mv
|
|
case ml
|
|
case mt
|
|
case mh
|
|
case mr
|
|
case mu
|
|
case yt
|
|
case mx
|
|
case fm
|
|
case md
|
|
case mc
|
|
case mn
|
|
case me
|
|
case ma
|
|
case mz
|
|
case na
|
|
case nr
|
|
case np
|
|
case nl
|
|
case nc
|
|
case nz
|
|
case ni
|
|
case ne
|
|
case ng
|
|
case nu
|
|
case kp
|
|
case no
|
|
case om
|
|
case pk
|
|
case pw
|
|
case pa
|
|
case pg
|
|
case py
|
|
case pe
|
|
case ph
|
|
case pn
|
|
case pl
|
|
case pt
|
|
case pr
|
|
case qa
|
|
case ro
|
|
case ru
|
|
case rw
|
|
case bl
|
|
case ws
|
|
case sm
|
|
case st
|
|
case sa
|
|
case sn
|
|
case rs
|
|
case sc
|
|
case sl
|
|
case sg
|
|
case sk
|
|
case si
|
|
case sb
|
|
case so
|
|
case za
|
|
case kr
|
|
case es
|
|
case lk
|
|
case sh
|
|
case pm
|
|
case sd
|
|
case sr
|
|
case sz
|
|
case se
|
|
case ch
|
|
case sy
|
|
case tw
|
|
case tj
|
|
case tz
|
|
case th
|
|
case tg
|
|
case tk
|
|
case to
|
|
case tn
|
|
case tr
|
|
case tm
|
|
case tv
|
|
case ae
|
|
case ug
|
|
case gb
|
|
case ua
|
|
case uy
|
|
case us
|
|
case uz
|
|
case vu
|
|
case va
|
|
case ve
|
|
case vn
|
|
case wf
|
|
case ye
|
|
case zm
|
|
case zw
|
|
case en
|
|
}
|
|
|
|
extension CountryEnum {
|
|
var phoneCode: String {
|
|
var code = ""
|
|
switch self {
|
|
case .af: code = "+93"
|
|
case .al: code = "+355"
|
|
case .dz: code = "+213"
|
|
case .ad: code = "+376"
|
|
case .ao: code = "+244"
|
|
case .aq: code = "+672"
|
|
case .ar: code = "+54"
|
|
case .am: code = "+374"
|
|
case .aw: code = "+297"
|
|
case .au: code = "+61"
|
|
case .at: code = "+43"
|
|
case .az: code = "+994"
|
|
case .bh: code = "+973"
|
|
case .bd: code = "+880"
|
|
case .by: code = "+375"
|
|
case .be: code = "+32"
|
|
case .bz: code = "+501"
|
|
case .bj: code = "+229"
|
|
case .bt: code = "+975"
|
|
case .bo: code = "+591"
|
|
case .ba: code = "+387"
|
|
case .bw: code = "+267"
|
|
case .br: code = "+55"
|
|
case .bn: code = "+673"
|
|
case .bg: code = "+359"
|
|
case .bf: code = "+226"
|
|
case .mm: code = "+95"
|
|
case .bi: code = "+257"
|
|
case .kh: code = "+855"
|
|
case .cm: code = "+237"
|
|
case .ca: code = "+1"
|
|
case .cv: code = "+238"
|
|
case .cf: code = "+236"
|
|
case .td: code = "+235"
|
|
case .cl: code = "+56"
|
|
case .cn: code = "+86"
|
|
case .cx: code = "+61"
|
|
case .cc: code = "+61"
|
|
case .co: code = "+57"
|
|
case .km: code = "+269"
|
|
case .cg: code = "+242"
|
|
case .cd: code = "+243"
|
|
case .ck: code = "+682"
|
|
case .cr: code = "+506"
|
|
case .hr: code = "+385"
|
|
case .cu: code = "+53"
|
|
case .cy: code = "+357"
|
|
case .cz: code = "+420"
|
|
case .dk: code = "+45"
|
|
case .dj: code = "+253"
|
|
case .tl: code = "+670"
|
|
case .ec: code = "+593"
|
|
case .eg: code = "+20"
|
|
case .sv: code = "+503"
|
|
case .gq: code = "+240"
|
|
case .er: code = "+291"
|
|
case .ee: code = "+372"
|
|
case .et: code = "+251"
|
|
case .fk: code = "+500"
|
|
case .fo: code = "+298"
|
|
case .fj: code = "+679"
|
|
case .fi: code = "+358"
|
|
case .fr: code = "+33"
|
|
case .pf: code = "+689"
|
|
case .ga: code = "+241"
|
|
case .gm: code = "+220"
|
|
case .ge: code = "+995"
|
|
case .de: code = "+49"
|
|
case .gh: code = "+233"
|
|
case .gi: code = "+350"
|
|
case .gr: code = "+30"
|
|
case .gl: code = "+299"
|
|
case .gt: code = "+502"
|
|
case .gn: code = "+224"
|
|
case .gw: code = "+245"
|
|
case .gy: code = "+592"
|
|
case .ht: code = "+509"
|
|
case .hn: code = "+504"
|
|
case .hk: code = "+852"
|
|
case .hu: code = "+36"
|
|
case .in: code = "+91"
|
|
case .id: code = "+62"
|
|
case .ir: code = "+98"
|
|
case .iq: code = "+964"
|
|
case .ie: code = "+353"
|
|
case .im: code = "+44"
|
|
case .il: code = "+972"
|
|
case .it: code = "+39"
|
|
case .ci: code = "+225"
|
|
case .jp: code = "+81"
|
|
case .jo: code = "+962"
|
|
case .kz: code = "+7"
|
|
case .ke: code = "+254"
|
|
case .ki: code = "+686"
|
|
case .kw: code = "+965"
|
|
case .kg: code = "+996"
|
|
case .la: code = "+856"
|
|
case .lv: code = "+371"
|
|
case .lb: code = "+961"
|
|
case .ls: code = "+266"
|
|
case .lr: code = "+231"
|
|
case .ly: code = "+218"
|
|
case .li: code = "+423"
|
|
case .lt: code = "+370"
|
|
case .lu: code = "+352"
|
|
case .mo: code = "+853"
|
|
case .mk: code = "+389"
|
|
case .mg: code = "+261"
|
|
case .mw: code = "+265"
|
|
case .my: code = "+60"
|
|
case .mv: code = "+960"
|
|
case .ml: code = "+223"
|
|
case .mt: code = "+356"
|
|
case .mh: code = "+692"
|
|
case .mr: code = "+222"
|
|
case .mu: code = "+230"
|
|
case .yt: code = "+262"
|
|
case .mx: code = "+52"
|
|
case .fm: code = "+691"
|
|
case .md: code = "+373"
|
|
case .mc: code = "+377"
|
|
case .mn: code = "+976"
|
|
case .me: code = "+382"
|
|
case .ma: code = "+212"
|
|
case .mz: code = "+258"
|
|
case .na: code = "+264"
|
|
case .nr: code = "+674"
|
|
case .np: code = "+977"
|
|
case .nl: code = "+31"
|
|
case .nc: code = "+687"
|
|
case .nz: code = "+64"
|
|
case .ni: code = "+505"
|
|
case .ne: code = "+227"
|
|
case .ng: code = "+234"
|
|
case .nu: code = "+683"
|
|
case .kp: code = "+850"
|
|
case .no: code = "+47"
|
|
case .om: code = "+968"
|
|
case .pk: code = "+92"
|
|
case .pw: code = "+680"
|
|
case .pa: code = "+507"
|
|
case .pg: code = "+675"
|
|
case .py: code = "+595"
|
|
case .pe: code = "+51"
|
|
case .ph: code = "+63"
|
|
case .pn: code = "+870"
|
|
case .pl: code = "+48"
|
|
case .pt: code = "+351"
|
|
case .pr: code = "+1"
|
|
case .qa: code = "+974"
|
|
case .ro: code = "+40"
|
|
case .ru: code = "+7"
|
|
case .rw: code = "+250"
|
|
case .bl: code = "+590"
|
|
case .ws: code = "+685"
|
|
case .sm: code = "+378"
|
|
case .st: code = "+239"
|
|
case .sa: code = "+966"
|
|
case .sn: code = "+221"
|
|
case .rs: code = "+381"
|
|
case .sc: code = "+248"
|
|
case .sl: code = "+232"
|
|
case .sg: code = "+65"
|
|
case .sk: code = "+421"
|
|
case .si: code = "+386"
|
|
case .sb: code = "+677"
|
|
case .so: code = "+252"
|
|
case .za: code = "+27"
|
|
case .kr: code = "+82"
|
|
case .es: code = "+34"
|
|
case .lk: code = "+94"
|
|
case .sh: code = "+290"
|
|
case .pm: code = "+508"
|
|
case .sd: code = "+249"
|
|
case .sr: code = "+597"
|
|
case .sz: code = "+268"
|
|
case .se: code = "+46"
|
|
case .ch: code = "+41"
|
|
case .sy: code = "+963"
|
|
case .tw: code = "+886"
|
|
case .tj: code = "+992"
|
|
case .tz: code = "+255"
|
|
case .th: code = "+66"
|
|
case .tg: code = "+228"
|
|
case .tk: code = "+690"
|
|
case .to: code = "+676"
|
|
case .tn: code = "+216"
|
|
case .tr: code = "+90"
|
|
case .tm: code = "+993"
|
|
case .tv: code = "+688"
|
|
case .ae: code = "+971"
|
|
case .ug: code = "+256"
|
|
case .gb: code = "+44"
|
|
case .ua: code = "+380"
|
|
case .uy: code = "+598"
|
|
case .us: code = "+1"
|
|
case .uz: code = "+998"
|
|
case .vu: code = "+678"
|
|
case .va: code = "+39"
|
|
case .ve: code = "+58"
|
|
case .vn: code = "+84"
|
|
case .wf: code = "+681"
|
|
case .ye: code = "+967"
|
|
case .zm: code = "+260"
|
|
case .zw: code = "+263"
|
|
case .en: code = ""
|
|
}
|
|
|
|
return code
|
|
}
|
|
}
|
|
|
|
extension CountryEnum {
|
|
var flag: UIImage {
|
|
let image: UIImage
|
|
|
|
switch self {
|
|
case .mm: image = #imageLiteral(resourceName: "flag_myanmar")
|
|
// case .bs: image = #imageLiteral(resourceName: "flag_bahamas")
|
|
case .bo: image = #imageLiteral(resourceName: "flag_bolivia")
|
|
case .jo: image = #imageLiteral(resourceName: "flag_jordan")
|
|
case .cl: image = #imageLiteral(resourceName: "flag_chile")
|
|
case .fr: image = #imageLiteral(resourceName: "flag_france")
|
|
case .sa: image = #imageLiteral(resourceName: "flag_saudi_arabia")
|
|
case .mu: image = #imageLiteral(resourceName: "flag_mauritius")
|
|
case .kz: image = #imageLiteral(resourceName: "flag_kazakhstan")
|
|
case .tr: image = #imageLiteral(resourceName: "flag_turkey")
|
|
case .sn: image = #imageLiteral(resourceName: "flag_senegal")
|
|
case .hk: image = #imageLiteral(resourceName: "flag_hong_kong")
|
|
case .fj: image = #imageLiteral(resourceName: "flag_fiji")
|
|
case .cz: image = #imageLiteral(resourceName: "flag_czech_republic")
|
|
case .nu: image = #imageLiteral(resourceName: "flag_niue")
|
|
// case .jm: image = #imageLiteral(resourceName: "flag_jamaica")
|
|
// case .gg: image = #imageLiteral(resourceName: "flag_guernsey")
|
|
case .ph: image = #imageLiteral(resourceName: "flag_philippines")
|
|
// case .bv: image = #imageLiteral(resourceName: "flag_bouvet_island")
|
|
case .yt: image = #imageLiteral(resourceName: "flag_mayotte")
|
|
case .bd: image = #imageLiteral(resourceName: "flag_bangladesh")
|
|
case .tj: image = #imageLiteral(resourceName: "flag_tajikistan")
|
|
case .bg: image = #imageLiteral(resourceName: "flag_bulgaria")
|
|
case .hn: image = #imageLiteral(resourceName: "flag_honduras")
|
|
case .bn: image = #imageLiteral(resourceName: "flag_brunei")
|
|
case .gn: image = #imageLiteral(resourceName: "flag_guinea")
|
|
// case .ai: image = #imageLiteral(resourceName: "flag_anguilla")
|
|
case .cv: image = #imageLiteral(resourceName: "flag_cape_verde")
|
|
case .et: image = #imageLiteral(resourceName: "flag_ethiopia")
|
|
case .sg: image = #imageLiteral(resourceName: "flag_singapore")
|
|
case .dk: image = #imageLiteral(resourceName: "flag_denmark")
|
|
case .dj: image = #imageLiteral(resourceName: "flag_djibouti")
|
|
case .nr: image = #imageLiteral(resourceName: "flag_nauru")
|
|
case .sb: image = #imageLiteral(resourceName: "flag_solomon_islands")
|
|
case .so: image = #imageLiteral(resourceName: "flag_somalia")
|
|
case .gi: image = #imageLiteral(resourceName: "flag_gibraltar")
|
|
// case .gf: image = #imageLiteral(resourceName: "flag_french_guiana")
|
|
case .gh: image = #imageLiteral(resourceName: "flag_ghana")
|
|
case .mt: image = #imageLiteral(resourceName: "flag_malta")
|
|
case .gm: image = #imageLiteral(resourceName: "flag_gambia")
|
|
case .ck: image = #imageLiteral(resourceName: "flag_cook_islands")
|
|
case .sl: image = #imageLiteral(resourceName: "flag_sierra_leone")
|
|
case .li: image = #imageLiteral(resourceName: "flag_liechtenstein")
|
|
case .ls: image = #imageLiteral(resourceName: "flag_lesotho")
|
|
case .fm: image = #imageLiteral(resourceName: "flag_micronesia")
|
|
case .nl: image = #imageLiteral(resourceName: "flag_netherlands")
|
|
// case .gd: image = #imageLiteral(resourceName: "flag_grenada")
|
|
case .cx: image = #imageLiteral(resourceName: "flag_christmas_island")
|
|
case .qa: image = #imageLiteral(resourceName: "flag_qatar")
|
|
case .vn: image = #imageLiteral(resourceName: "flag_vietnam")
|
|
case .au: image = #imageLiteral(resourceName: "flag_australia")
|
|
case .la: image = #imageLiteral(resourceName: "flag_laos")
|
|
// case .dm: image = #imageLiteral(resourceName: "flag_dominica")
|
|
// case .tt: image = #imageLiteral(resourceName: "flag_trinidad_and_tobago")
|
|
// case .mq: image = #imageLiteral(resourceName: "flag_martinique")
|
|
case .sv: image = #imageLiteral(resourceName: "flag_el_salvador")
|
|
case .mr: image = #imageLiteral(resourceName: "flag_mauritania")
|
|
case .pw: image = #imageLiteral(resourceName: "flag_palau")
|
|
case .be: image = #imageLiteral(resourceName: "flag_belgium")
|
|
case .ve: image = #imageLiteral(resourceName: "flag_venezuela")
|
|
// case .as: image = #imageLiteral(resourceName: "flag_american_samoa")
|
|
case .zm: image = #imageLiteral(resourceName: "flag_zambia")
|
|
case .mx: image = #imageLiteral(resourceName: "flag_mexico")
|
|
case .jp: image = #imageLiteral(resourceName: "flag_japan")
|
|
case .th: image = #imageLiteral(resourceName: "flag_thailand")
|
|
case .za: image = #imageLiteral(resourceName: "flag_south_africa")
|
|
case .tg: image = #imageLiteral(resourceName: "flag_togo")
|
|
case .sr: image = #imageLiteral(resourceName: "flag_suriname")
|
|
case .pf: image = #imageLiteral(resourceName: "flag_french_polynesia")
|
|
case .dz: image = #imageLiteral(resourceName: "flag_algeria")
|
|
case .az: image = #imageLiteral(resourceName: "flag_azerbaijan")
|
|
case .bz: image = #imageLiteral(resourceName: "flag_belize")
|
|
case .at: image = #imageLiteral(resourceName: "flag_austria")
|
|
case .pr: image = #imageLiteral(resourceName: "flag_puerto_rico")
|
|
case .ec: image = #imageLiteral(resourceName: "flag_ecuador")
|
|
case .ws: image = #imageLiteral(resourceName: "flag_samoa")
|
|
// case .ag: image = #imageLiteral(resourceName: "flag_antigua_and_barbuda")
|
|
case .ne: image = #imageLiteral(resourceName: "flag_niger")
|
|
case .si: image = #imageLiteral(resourceName: "flag_slovenia")
|
|
case .lr: image = #imageLiteral(resourceName: "flag_liberia")
|
|
case .wf: image = #imageLiteral(resourceName: "flag_wallis_and_futuna")
|
|
case .kg: image = #imageLiteral(resourceName: "flag_kyrgyzstan")
|
|
case .pm: image = #imageLiteral(resourceName: "flag_saint_pierre_and_miquelon")
|
|
case .bi: image = #imageLiteral(resourceName: "flag_burundi")
|
|
case .co: image = #imageLiteral(resourceName: "flag_colombia")
|
|
// case .gu: image = #imageLiteral(resourceName: "flag_guam")
|
|
case .bw: image = #imageLiteral(resourceName: "flag_botswana")
|
|
case .sz: image = #imageLiteral(resourceName: "flag_swaziland")
|
|
case .im: image = #imageLiteral(resourceName: "flag_isle_of_man")
|
|
// case .je: image = #imageLiteral(resourceName: "flag_jersey")
|
|
case .ki: image = #imageLiteral(resourceName: "flag_kiribati")
|
|
case .cr: image = #imageLiteral(resourceName: "flag_costa_rica")
|
|
// case .bb: image = #imageLiteral(resourceName: "flag_barbados")
|
|
case .mn: image = #imageLiteral(resourceName: "flag_mongolia")
|
|
case .to: image = #imageLiteral(resourceName: "flag_tonga")
|
|
// case .uk: image = #imageLiteral(resourceName: "flag_united_kingdom")
|
|
case .id: image = #imageLiteral(resourceName: "flag_indonesia")
|
|
case .ua: image = #imageLiteral(resourceName: "flag_ukraine")
|
|
// case .kn: image = #imageLiteral(resourceName: "flag_saint_kitts_and_nevis")
|
|
case .gy: image = #imageLiteral(resourceName: "flag_guyana")
|
|
case .cn: image = #imageLiteral(resourceName: "flag_china")
|
|
case .cu: image = #imageLiteral(resourceName: "flag_cuba")
|
|
case .es: image = #imageLiteral(resourceName: "flag_spain")
|
|
case .no: image = #imageLiteral(resourceName: "flag_norway")
|
|
case .ht: image = #imageLiteral(resourceName: "flag_haiti")
|
|
case .al: image = #imageLiteral(resourceName: "flag_albania")
|
|
case .mz: image = #imageLiteral(resourceName: "flag_mozambique")
|
|
case .in: image = #imageLiteral(resourceName: "flag_india")
|
|
case .br: image = #imageLiteral(resourceName: "flag_brazil")
|
|
case .bj: image = #imageLiteral(resourceName: "flag_benin")
|
|
case .se: image = #imageLiteral(resourceName: "flag_sweden")
|
|
case .pe: image = #imageLiteral(resourceName: "flag_peru")
|
|
case .cf: image = #imageLiteral(resourceName: "flag_central_african_republic")
|
|
case .tz: image = #imageLiteral(resourceName: "flag_tanzania")
|
|
case .uy: image = #imageLiteral(resourceName: "flag_uruguay")
|
|
case .vu: image = #imageLiteral(resourceName: "flag_vanuatu")
|
|
case .my: image = #imageLiteral(resourceName: "flag_malaysia")
|
|
case .md: image = #imageLiteral(resourceName: "flag_moldova")
|
|
case .gt: image = #imageLiteral(resourceName: "flag_guatemala")
|
|
// case .is: image = #imageLiteral(resourceName: "flag_iceland")
|
|
case .gr: image = #imageLiteral(resourceName: "flag_greece")
|
|
case .tw: image = #imageLiteral(resourceName: "flag_taiwan")
|
|
case .om: image = #imageLiteral(resourceName: "flag_oman")
|
|
case .pt: image = #imageLiteral(resourceName: "flag_portugal")
|
|
case .by: image = #imageLiteral(resourceName: "flag_belarus")
|
|
case .kw: image = #imageLiteral(resourceName: "flag_kuwait")
|
|
case .gl: image = #imageLiteral(resourceName: "flag_greenland")
|
|
case .td: image = #imageLiteral(resourceName: "flag_chad")
|
|
case .na: image = #imageLiteral(resourceName: "flag_namibia")
|
|
case .ee: image = #imageLiteral(resourceName: "flag_estonia")
|
|
// case .ms: image = #imageLiteral(resourceName: "flag_montserrat")
|
|
case .mv: image = #imageLiteral(resourceName: "flag_maldives")
|
|
case .af: image = #imageLiteral(resourceName: "flag_afghanistan")
|
|
case .nc: image = #imageLiteral(resourceName: "flag_new_caledonia")
|
|
case .ga: image = #imageLiteral(resourceName: "flag_gabon")
|
|
case .mo: image = #imageLiteral(resourceName: "flag_macao")
|
|
case .ni: image = #imageLiteral(resourceName: "flag_nicaragua")
|
|
case .zw: image = #imageLiteral(resourceName: "flag_zimbabwe")
|
|
// case .bm: image = #imageLiteral(resourceName: "flag_bermuda")
|
|
case .rs: image = #imageLiteral(resourceName: "flag_serbia")
|
|
case .cy: image = #imageLiteral(resourceName: "flag_cyprus")
|
|
case .ao: image = #imageLiteral(resourceName: "flag_angola")
|
|
case .py: image = #imageLiteral(resourceName: "flag_paraguay")
|
|
case .tv: image = #imageLiteral(resourceName: "flag_tuvalu")
|
|
case .mc: image = #imageLiteral(resourceName: "flag_monaco")
|
|
case .sm: image = #imageLiteral(resourceName: "flag_san_marino")
|
|
case .er: image = #imageLiteral(resourceName: "flag_eritrea")
|
|
case .bt: image = #imageLiteral(resourceName: "flag_bhutan")
|
|
case .ba: image = #imageLiteral(resourceName: "flag_bosnia_and_herzegovina")
|
|
case .sc: image = #imageLiteral(resourceName: "flag_seychelles")
|
|
case .mg: image = #imageLiteral(resourceName: "flag_madagascar")
|
|
case .st: image = #imageLiteral(resourceName: "flag_sao_tome_and_principe")
|
|
case .eg: image = #imageLiteral(resourceName: "flag_egypt")
|
|
// case .ky: image = #imageLiteral(resourceName: "flag_cayman_islands")
|
|
case .ug: image = #imageLiteral(resourceName: "flag_uganda")
|
|
case .sy: image = #imageLiteral(resourceName: "flag_syria")
|
|
case .cm: image = #imageLiteral(resourceName: "flag_cameroon")
|
|
case .aq: image = #imageLiteral(resourceName: "flag_antarctica")
|
|
case .tn: image = #imageLiteral(resourceName: "flag_tunisia")
|
|
case .ge: image = #imageLiteral(resourceName: "flag_georgia")
|
|
case .it: image = #imageLiteral(resourceName: "flag_italy")
|
|
case .gq: image = #imageLiteral(resourceName: "flag_equatorial_guinea")
|
|
case .ca: image = #imageLiteral(resourceName: "flag_canada")
|
|
case .am: image = #imageLiteral(resourceName: "flag_armenia")
|
|
case .rw: image = #imageLiteral(resourceName: "flag_rwanda")
|
|
case .bf: image = #imageLiteral(resourceName: "flag_burkina_faso")
|
|
case .fo: image = #imageLiteral(resourceName: "flag_faroe_islands")
|
|
case .aw: image = #imageLiteral(resourceName: "flag_aruba")
|
|
case .fi: image = #imageLiteral(resourceName: "flag_finland")
|
|
case .lv: image = #imageLiteral(resourceName: "flag_latvia")
|
|
case .lt: image = #imageLiteral(resourceName: "flag_lithuania")
|
|
case .np: image = #imageLiteral(resourceName: "flag_nepal")
|
|
case .pg: image = #imageLiteral(resourceName: "flag_papua_new_guinea")
|
|
case .ad: image = #imageLiteral(resourceName: "flag_andorra")
|
|
case .me: image = #imageLiteral(resourceName: "flag_montenegro")
|
|
case .pa: image = #imageLiteral(resourceName: "flag_panama")
|
|
case .kh: image = #imageLiteral(resourceName: "flag_cambodia")
|
|
case .ma: image = #imageLiteral(resourceName: "flag_morocco")
|
|
case .lb: image = #imageLiteral(resourceName: "flag_lebanon")
|
|
case .tk: image = #imageLiteral(resourceName: "flag_tokelau")
|
|
case .nz: image = #imageLiteral(resourceName: "flag_new_zealand")
|
|
case .sd: image = #imageLiteral(resourceName: "flag_sudan")
|
|
case .hu: image = #imageLiteral(resourceName: "flag_hungary")
|
|
case .iq: image = #imageLiteral(resourceName: "flag_iraq")
|
|
case .hr: image = #imageLiteral(resourceName: "flag_croatia")
|
|
case .ch: image = #imageLiteral(resourceName: "flag_switzerland")
|
|
// case .do: image = #imageLiteral(resourceName: "flag_dominican_republic")
|
|
case .mk: image = #imageLiteral(resourceName: "flag_macedonia")
|
|
case .ng: image = #imageLiteral(resourceName: "flag_nigeria")
|
|
case .lu: image = #imageLiteral(resourceName: "flag_luxembourg")
|
|
case .pk: image = #imageLiteral(resourceName: "flag_pakistan")
|
|
case .ro: image = #imageLiteral(resourceName: "flag_romania")
|
|
case .ar: image = #imageLiteral(resourceName: "flag_argentina")
|
|
case .de: image = #imageLiteral(resourceName: "flag_germany")
|
|
case .km: image = #imageLiteral(resourceName: "flag_comoros")
|
|
case .sk: image = #imageLiteral(resourceName: "flag_slovakia")
|
|
case .ke: image = #imageLiteral(resourceName: "flag_kenya")
|
|
case .ml: image = #imageLiteral(resourceName: "flag_mali")
|
|
case .ye: image = #imageLiteral(resourceName: "flag_yemen")
|
|
case .il: image = #imageLiteral(resourceName: "flag_israel")
|
|
case .ae: image = #imageLiteral(resourceName: "flag_united_arab_emirates")
|
|
// case .eh: image = #imageLiteral(resourceName: "flag_western_sahara")
|
|
// case .io: image = #imageLiteral(resourceName: "flag_british_indian_ocean_territory")
|
|
case .mw: image = #imageLiteral(resourceName: "flag_malawi")
|
|
case .lk: image = #imageLiteral(resourceName: "flag_sri_lanka")
|
|
case .bh: image = #imageLiteral(resourceName: "flag_bahrain")
|
|
// case .nf: image = #imageLiteral(resourceName: "flag_democratic_republic_of_congo")
|
|
case .kr: image = #imageLiteral(resourceName: "flag_south_korea")
|
|
case .uz: image = #imageLiteral(resourceName: "flag_uzbekistn")
|
|
case .ru: image = #imageLiteral(resourceName: "flag_russia")
|
|
case .cg: image = #imageLiteral(resourceName: "flag_republic_of_congo")
|
|
case .cd: image = #imageLiteral(resourceName: "flag_democratic_republic_of_congo")
|
|
case .en: image = #imageLiteral(resourceName: "flag_united_kingdom")
|
|
default: image = #imageLiteral(resourceName: "flag_default")
|
|
}
|
|
|
|
return image
|
|
}
|
|
}
|
|
|
|
extension CountryEnum {
|
|
func getDefaultRecipientAcount(currency: String) -> String? {
|
|
let amount: String?
|
|
let isUseDefaultAmount = currency == defaultCurrency
|
|
|
|
switch self {
|
|
case .np: amount = isUseDefaultAmount ? "100000" : nil // nepal
|
|
case .kh: amount = isUseDefaultAmount ? "500" : nil // cambodia
|
|
case .ph: amount = isUseDefaultAmount ? "50000" : nil // philipines
|
|
// case .lk: amount = isUseDefaultAmount ? "100000" : nil // sri lanka
|
|
case .vn: amount = isUseDefaultAmount ? "50000000" : nil // Vietnam
|
|
case .in: amount = isUseDefaultAmount ? "50000" : nil // india
|
|
case .pk: amount = isUseDefaultAmount ? "100000" : nil // pakistan
|
|
case .az: amount = isUseDefaultAmount ? "1000" : nil // azerbaijan
|
|
case .bd: amount = isUseDefaultAmount ? "100000" : nil // Bangladesh
|
|
case .by: amount = isUseDefaultAmount ? "1000" : nil // Belarus
|
|
case .ge: amount = isUseDefaultAmount ? "1000" : nil // Georgia
|
|
case .kz: amount = isUseDefaultAmount ? "1000" : nil // Kazakhstan
|
|
case .kg: amount = isUseDefaultAmount ? "1000" : nil // Kyrgyzstan
|
|
case .my: amount = isUseDefaultAmount ? "10000" : nil // Malaysia
|
|
case .md: amount = isUseDefaultAmount ? "1000" : nil // Moldova
|
|
case .mn: amount = isUseDefaultAmount ? "1000" : nil // Mongolia
|
|
case .mm: amount = isUseDefaultAmount ? "1500000" : nil // Myanmar
|
|
case .ru: amount = isUseDefaultAmount ? "1000" : nil // Russian Federation
|
|
case .sg: amount = isUseDefaultAmount ? "2000" : nil // Singapore
|
|
case .tj: amount = isUseDefaultAmount ? "1000" : nil // Tajikistan
|
|
case .th: amount = isUseDefaultAmount ? "30000" : nil // Thailand
|
|
case .uz: amount = isUseDefaultAmount ? "1000" : nil // Uzbekistan
|
|
|
|
default: amount = nil
|
|
}
|
|
|
|
return amount
|
|
}
|
|
|
|
var defaultSenderAmount: String {
|
|
return "1000000"
|
|
}
|
|
|
|
private var defaultCurrency: String {
|
|
let currency: String
|
|
switch self {
|
|
case .np: currency = "NPR" // nepal
|
|
case .kh: currency = "USD" // cambodia
|
|
case .ph: currency = "PHP" // philipines
|
|
case .lk: currency = "LKR" // sri lanka
|
|
case .vn: currency = "VND" // Vietnam
|
|
case .in: currency = "INR" // india
|
|
case .pk: currency = "PKR" // pakistan
|
|
case .az: currency = "USD" // azerbaijan
|
|
case .bd: currency = "USD" // Bangladesh
|
|
case .by: currency = "USD" // Belarus
|
|
case .ge: currency = "USD" // Georgia
|
|
case .kz: currency = "USD" // Kazakhstan
|
|
case .kg: currency = "USD" // Kyrgyzstan
|
|
case .my: currency = "MYR" // Malaysia
|
|
case .md: currency = "USD" // Moldova
|
|
case .mn: currency = "USD" // Mongolia
|
|
case .mm: currency = "MMK" // Myanmar
|
|
case .ru: currency = "USD" // Russian Federation
|
|
case .sg: currency = "SGD" // Singapore
|
|
case .tj: currency = "USD" // Tajikistan
|
|
case .th: currency = "THB" // Thailand
|
|
case .uz: currency = "USD" // Uzbekistan
|
|
default: currency = "KRW"
|
|
}
|
|
return currency
|
|
}
|
|
|
|
static func getCode(from name: String) -> CountryEnum {
|
|
switch name {
|
|
case "Afghanistan": return CountryEnum.af
|
|
case "Albania": return CountryEnum.al
|
|
case "Algeria": return CountryEnum.dz
|
|
case "Andorra": return CountryEnum.ad
|
|
case "Angola": return CountryEnum.ao
|
|
case "Antarctica": return CountryEnum.aq
|
|
case "Argentina": return CountryEnum.ar
|
|
case "Armenia": return CountryEnum.am
|
|
case "Australia": return CountryEnum.au
|
|
case "Austria": return CountryEnum.at
|
|
case "Azerbaijan": return CountryEnum.az
|
|
case "Bahrain": return CountryEnum.bh
|
|
case "Bangladesh": return CountryEnum.bd
|
|
case "Belarus": return CountryEnum.by
|
|
case "Belgium": return CountryEnum.be
|
|
case "Belize": return CountryEnum.bz
|
|
case "Benin": return CountryEnum.bj
|
|
case "Bhutan": return CountryEnum.bt
|
|
case "Bolivia": return CountryEnum.bo
|
|
case "Bosnia": return CountryEnum.ba
|
|
case "Botswana": return CountryEnum.bw
|
|
case "Brazil": return CountryEnum.br
|
|
case "Brunei": return CountryEnum.bn
|
|
case "Bulgaria": return CountryEnum.bg
|
|
case "Burkina Faso": return CountryEnum.bf
|
|
case "Myanmar": return CountryEnum.mm
|
|
case "Burundi": return CountryEnum.bi
|
|
case "Cambodia": return CountryEnum.kh
|
|
case "Cameroon": return CountryEnum.cm
|
|
case "Canada": return CountryEnum.ca
|
|
case "Cape Verde": return CountryEnum.cv
|
|
case "Central African Republic": return CountryEnum.cf
|
|
case "Chad": return CountryEnum.td
|
|
case "Chile": return CountryEnum.cl
|
|
case "China": return CountryEnum.cn
|
|
case "Christmas Island": return CountryEnum.cx
|
|
case "Cocos Islands": return CountryEnum.cc
|
|
case "Colombia": return CountryEnum.co
|
|
case "Comoros": return CountryEnum.km
|
|
case "Mayotte": return CountryEnum.km
|
|
case "Congo": return CountryEnum.cg
|
|
case "Costa Rica": return CountryEnum.cr
|
|
case "Croatia": return CountryEnum.hr
|
|
case "Cuba": return CountryEnum.cu
|
|
case "Cypress": return CountryEnum.cy
|
|
case "Czech Republic": return CountryEnum.cz
|
|
case "Denmark": return CountryEnum.dk
|
|
case "Djibouti": return CountryEnum.dj
|
|
case "East Timor": return CountryEnum.tl
|
|
case "Ecuador": return CountryEnum.ec
|
|
case "Egypt": return CountryEnum.eg
|
|
case "El Salvador": return CountryEnum.sv
|
|
case "Equatorial Guinea": return CountryEnum.gq
|
|
case "Eritrea": return CountryEnum.er
|
|
case "Estonia": return CountryEnum.ee
|
|
case "Ethiopia": return CountryEnum.et
|
|
case "Faroe Islands": return CountryEnum.fo
|
|
case "Fiji": return CountryEnum.fj
|
|
case "Finland": return CountryEnum.fi
|
|
case "France": return CountryEnum.fr
|
|
case "Gabon": return CountryEnum.ga
|
|
case "Gambia": return CountryEnum.gm
|
|
case "Georgia": return CountryEnum.ge
|
|
case "Germany": return CountryEnum.de
|
|
case "Ghana": return CountryEnum.gh
|
|
case "Gibraltar": return CountryEnum.gi
|
|
case "Greece": return CountryEnum.gr
|
|
case "Greenland": return CountryEnum.gl
|
|
case "Guatemala": return CountryEnum.gt
|
|
case "Guinea": return CountryEnum.gn
|
|
case "Guinea-Bissau": return CountryEnum.gw
|
|
case "Guyana": return CountryEnum.gy
|
|
case "Haiti": return CountryEnum.ht
|
|
case "Honduras": return CountryEnum.hn
|
|
case "Hong Kong": return CountryEnum.hk
|
|
case "Hungary": return CountryEnum.hu
|
|
case "India": return CountryEnum.in
|
|
case "Indonesia": return CountryEnum.id
|
|
case "Iran": return CountryEnum.ir
|
|
case "Iraq": return CountryEnum.iq
|
|
case "Ireland": return CountryEnum.ie
|
|
case "Isle of Man": return CountryEnum.im
|
|
case "Israel": return CountryEnum.il
|
|
case "Italy": return CountryEnum.it
|
|
case "Japan": return CountryEnum.jp
|
|
case "Jordan": return CountryEnum.jo
|
|
case "Kazakhstan": return CountryEnum.kz
|
|
case "Kenya": return CountryEnum.ke
|
|
case "Kiribati": return CountryEnum.ki
|
|
case "Kuwait": return CountryEnum.kw
|
|
case "Kyrgyzstan": return CountryEnum.kg
|
|
case "Laos": return CountryEnum.la
|
|
case "Latvia": return CountryEnum.lv
|
|
case "Lebanon": return CountryEnum.lb
|
|
case "Lesotho": return CountryEnum.ls
|
|
case "Liberia": return CountryEnum.lr
|
|
case "Libya": return CountryEnum.ly
|
|
case "Liechtenstein": return CountryEnum.li
|
|
case "Lithuania": return CountryEnum.lt
|
|
case "Luxembourg": return CountryEnum.lu
|
|
case "Macau": return CountryEnum.mo
|
|
case "Macedonia": return CountryEnum.mk
|
|
case "Madagascar": return CountryEnum.mg
|
|
case "Malawi": return CountryEnum.mw
|
|
case "Malaysia": return CountryEnum.my
|
|
case "Maldives": return CountryEnum.mv
|
|
case "Mali": return CountryEnum.ml
|
|
case "Malta": return CountryEnum.mt
|
|
case "Marshall Islands": return CountryEnum.mh
|
|
case "Mauritanian": return CountryEnum.mr
|
|
case "Mauritius": return CountryEnum.mu
|
|
case "Reunion island": return CountryEnum.yt
|
|
case "Mexico": return CountryEnum.mx
|
|
case "Micronesia": return CountryEnum.fm
|
|
case "Moldova": return CountryEnum.md
|
|
case "Monaco": return CountryEnum.mc
|
|
case "Mongolia": return CountryEnum.mn
|
|
case "Morocco": return CountryEnum.ma
|
|
case "Mozambique": return CountryEnum.mz
|
|
case "Namibia": return CountryEnum.na
|
|
case "Nepal": return CountryEnum.np
|
|
case "Netherlands": return CountryEnum.nl
|
|
case "New Caledonia": return CountryEnum.nc
|
|
case "New Zealand": return CountryEnum.nz
|
|
case "Nicaragua": return CountryEnum.ni
|
|
case "Niger": return CountryEnum.ne
|
|
case "Nigeria": return CountryEnum.ng
|
|
case "Niue Island": return CountryEnum.nu
|
|
case "Norway": return CountryEnum.no
|
|
case "Oman": return CountryEnum.om
|
|
case "Pakistan": return CountryEnum.pk
|
|
case "Palau": return CountryEnum.pw
|
|
case "Panama": return CountryEnum.pa
|
|
case "Papua New Guinea": return CountryEnum.pg
|
|
case "Paraguay": return CountryEnum.py
|
|
case "Peru": return CountryEnum.pe
|
|
case "Philippines": return CountryEnum.ph
|
|
case "Poland": return CountryEnum.pl
|
|
case "Portugal": return CountryEnum.pt
|
|
case "Puerto Rico": return CountryEnum.pr
|
|
case "Qatar": return CountryEnum.qa
|
|
case "Romania": return CountryEnum.ro
|
|
case "Russia": return CountryEnum.ru
|
|
case "Rwanda": return CountryEnum.rw
|
|
case "Samoa(American)": return CountryEnum.ws
|
|
case "Saudi Arabia": return CountryEnum.sa
|
|
case "Senegal": return CountryEnum.sn
|
|
case "Serbia": return CountryEnum.rs
|
|
case "Seychelles": return CountryEnum.sc
|
|
case "Sierra Leone": return CountryEnum.sl
|
|
case "Singapore": return CountryEnum.sg
|
|
case "Slovakia": return CountryEnum.sk
|
|
case "Slovenian": return CountryEnum.si
|
|
case "Solomon Islands": return CountryEnum.sb
|
|
case "Somalia": return CountryEnum.so
|
|
case "South Africa": return CountryEnum.za
|
|
case "Korea": return CountryEnum.kr
|
|
case "Spain": return CountryEnum.es
|
|
case "Sri Lanka": return CountryEnum.lk
|
|
case "Sudan": return CountryEnum.sd
|
|
case "Suriname": return CountryEnum.sr
|
|
case "Swaziland": return CountryEnum.sz
|
|
case "Sweden": return CountryEnum.se
|
|
case "Swiss": return CountryEnum.ch
|
|
case "Syria": return CountryEnum.sy
|
|
case "Taiwan": return CountryEnum.tw
|
|
case "Tajikistan": return CountryEnum.tj
|
|
case "Tanzania": return CountryEnum.tz
|
|
case "Thailand": return CountryEnum.th
|
|
case "Togo": return CountryEnum.tg
|
|
case "Tonga": return CountryEnum.to
|
|
case "Tunisia": return CountryEnum.tn
|
|
case "Turkey": return CountryEnum.tr
|
|
case "Turkmenistan": return CountryEnum.tm
|
|
case "Tuvalu": return CountryEnum.tv
|
|
case "United Arab Emirates": return CountryEnum.ae
|
|
case "Uganda": return CountryEnum.ug
|
|
case "England": return CountryEnum.gb
|
|
case "Ukraine": return CountryEnum.ua
|
|
case "Uruguay": return CountryEnum.uy
|
|
case "United States": return CountryEnum.us
|
|
case "Uzbekistan": return CountryEnum.uz
|
|
case "Vanuatu": return CountryEnum.vu
|
|
case "Vatican": return CountryEnum.va
|
|
case "Venezuela": return CountryEnum.ve
|
|
case "Vietnam": return CountryEnum.vn
|
|
case "Wallis and Futuna Islands": return CountryEnum.wf
|
|
case "Yemen": return CountryEnum.ye
|
|
case "Zambia": return CountryEnum.zm
|
|
case "Zimbabwe": return CountryEnum.zw
|
|
default: return CountryEnum.np
|
|
}
|
|
}
|
|
}
|