use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CountryCodeEnum {
#[serde(rename = "AF")]
Af,
#[serde(rename = "AX")]
Ax,
#[serde(rename = "AL")]
Al,
#[serde(rename = "DZ")]
Dz,
#[serde(rename = "AS")]
As,
#[serde(rename = "AD")]
Ad,
#[serde(rename = "AO")]
Ao,
#[serde(rename = "AI")]
Ai,
#[serde(rename = "AQ")]
Aq,
#[serde(rename = "AG")]
Ag,
#[serde(rename = "AR")]
Ar,
#[serde(rename = "AM")]
Am,
#[serde(rename = "AW")]
Aw,
#[serde(rename = "AU")]
Au,
#[serde(rename = "AT")]
At,
#[serde(rename = "AZ")]
Az,
#[serde(rename = "BS")]
Bs,
#[serde(rename = "BH")]
Bh,
#[serde(rename = "BD")]
Bd,
#[serde(rename = "BB")]
Bb,
#[serde(rename = "BY")]
By,
#[serde(rename = "BE")]
Be,
#[serde(rename = "BZ")]
Bz,
#[serde(rename = "BJ")]
Bj,
#[serde(rename = "BM")]
Bm,
#[serde(rename = "BT")]
Bt,
#[serde(rename = "BO")]
Bo,
#[serde(rename = "BQ")]
Bq,
#[serde(rename = "BA")]
Ba,
#[serde(rename = "BW")]
Bw,
#[serde(rename = "BV")]
Bv,
#[serde(rename = "BR")]
Br,
#[serde(rename = "IO")]
Io,
#[serde(rename = "BN")]
Bn,
#[serde(rename = "BG")]
Bg,
#[serde(rename = "BF")]
Bf,
#[serde(rename = "BI")]
Bi,
#[serde(rename = "CV")]
Cv,
#[serde(rename = "KH")]
Kh,
#[serde(rename = "CM")]
Cm,
#[serde(rename = "CA")]
Ca,
#[serde(rename = "KY")]
Ky,
#[serde(rename = "CF")]
Cf,
#[serde(rename = "TD")]
Td,
#[serde(rename = "CL")]
Cl,
#[serde(rename = "CN")]
Cn,
#[serde(rename = "CX")]
Cx,
#[serde(rename = "CC")]
Cc,
#[serde(rename = "CO")]
Co,
#[serde(rename = "KM")]
Km,
#[serde(rename = "CG")]
Cg,
#[serde(rename = "CD")]
Cd,
#[serde(rename = "CK")]
Ck,
#[serde(rename = "CR")]
Cr,
#[serde(rename = "CI")]
Ci,
#[serde(rename = "HR")]
Hr,
#[serde(rename = "CU")]
Cu,
#[serde(rename = "CW")]
Cw,
#[serde(rename = "CY")]
Cy,
#[serde(rename = "CZ")]
Cz,
#[serde(rename = "DK")]
Dk,
#[serde(rename = "DJ")]
Dj,
#[serde(rename = "DM")]
Dm,
#[serde(rename = "DO")]
Do,
#[serde(rename = "EC")]
Ec,
#[serde(rename = "EG")]
Eg,
#[serde(rename = "SV")]
Sv,
#[serde(rename = "GQ")]
Gq,
#[serde(rename = "ER")]
Er,
#[serde(rename = "EE")]
Ee,
#[serde(rename = "SZ")]
Sz,
#[serde(rename = "ET")]
Et,
#[serde(rename = "FK")]
Fk,
#[serde(rename = "FO")]
Fo,
#[serde(rename = "FJ")]
Fj,
#[serde(rename = "FI")]
Fi,
#[serde(rename = "FR")]
Fr,
#[serde(rename = "GF")]
Gf,
#[serde(rename = "PF")]
Pf,
#[serde(rename = "TF")]
Tf,
#[serde(rename = "GA")]
Ga,
#[serde(rename = "GM")]
Gm,
#[serde(rename = "GE")]
Ge,
#[serde(rename = "DE")]
De,
#[serde(rename = "GH")]
Gh,
#[serde(rename = "GI")]
Gi,
#[serde(rename = "GR")]
Gr,
#[serde(rename = "GL")]
Gl,
#[serde(rename = "GD")]
Gd,
#[serde(rename = "GP")]
Gp,
#[serde(rename = "GU")]
Gu,
#[serde(rename = "GT")]
Gt,
#[serde(rename = "GG")]
Gg,
#[serde(rename = "GN")]
Gn,
#[serde(rename = "GW")]
Gw,
#[serde(rename = "GY")]
Gy,
#[serde(rename = "HT")]
Ht,
#[serde(rename = "HM")]
Hm,
#[serde(rename = "VA")]
Va,
#[serde(rename = "HN")]
Hn,
#[serde(rename = "HK")]
Hk,
#[serde(rename = "HU")]
Hu,
#[serde(rename = "IS")]
Is,
#[serde(rename = "IN")]
In,
#[serde(rename = "ID")]
Id,
#[serde(rename = "IR")]
Ir,
#[serde(rename = "IQ")]
Iq,
#[serde(rename = "IE")]
Ie,
#[serde(rename = "IM")]
Im,
#[serde(rename = "IL")]
Il,
#[serde(rename = "IT")]
It,
#[serde(rename = "JM")]
Jm,
#[serde(rename = "JP")]
Jp,
#[serde(rename = "JE")]
Je,
#[serde(rename = "JO")]
Jo,
#[serde(rename = "KZ")]
Kz,
#[serde(rename = "KE")]
Ke,
#[serde(rename = "KI")]
Ki,
#[serde(rename = "KW")]
Kw,
#[serde(rename = "KG")]
Kg,
#[serde(rename = "LA")]
La,
#[serde(rename = "LV")]
Lv,
#[serde(rename = "LB")]
Lb,
#[serde(rename = "LS")]
Ls,
#[serde(rename = "LR")]
Lr,
#[serde(rename = "LY")]
Ly,
#[serde(rename = "LI")]
Li,
#[serde(rename = "LT")]
Lt,
#[serde(rename = "LU")]
Lu,
#[serde(rename = "MO")]
Mo,
#[serde(rename = "MG")]
Mg,
#[serde(rename = "MW")]
Mw,
#[serde(rename = "MY")]
My,
#[serde(rename = "MV")]
Mv,
#[serde(rename = "ML")]
Ml,
#[serde(rename = "MT")]
Mt,
#[serde(rename = "MH")]
Mh,
#[serde(rename = "MQ")]
Mq,
#[serde(rename = "MR")]
Mr,
#[serde(rename = "MU")]
Mu,
#[serde(rename = "YT")]
Yt,
#[serde(rename = "MX")]
Mx,
#[serde(rename = "FM")]
Fm,
#[serde(rename = "MD")]
Md,
#[serde(rename = "MC")]
Mc,
#[serde(rename = "MN")]
Mn,
#[serde(rename = "ME")]
Me,
#[serde(rename = "MS")]
Ms,
#[serde(rename = "MA")]
Ma,
#[serde(rename = "MZ")]
Mz,
#[serde(rename = "MM")]
Mm,
#[serde(rename = "NA")]
Na,
#[serde(rename = "NR")]
Nr,
#[serde(rename = "NP")]
Np,
#[serde(rename = "NL")]
Nl,
#[serde(rename = "NC")]
Nc,
#[serde(rename = "NZ")]
Nz,
#[serde(rename = "NI")]
Ni,
#[serde(rename = "NE")]
Ne,
#[serde(rename = "NG")]
Ng,
#[serde(rename = "NU")]
Nu,
#[serde(rename = "NF")]
Nf,
#[serde(rename = "KP")]
Kp,
#[serde(rename = "MK")]
Mk,
#[serde(rename = "MP")]
Mp,
#[serde(rename = "NO")]
No,
#[serde(rename = "OM")]
Om,
#[serde(rename = "PK")]
Pk,
#[serde(rename = "PW")]
Pw,
#[serde(rename = "PS")]
Ps,
#[serde(rename = "PA")]
Pa,
#[serde(rename = "PG")]
Pg,
#[serde(rename = "PY")]
Py,
#[serde(rename = "PE")]
Pe,
#[serde(rename = "PH")]
Ph,
#[serde(rename = "PN")]
Pn,
#[serde(rename = "PL")]
Pl,
#[serde(rename = "PT")]
Pt,
#[serde(rename = "PR")]
Pr,
#[serde(rename = "QA")]
Qa,
#[serde(rename = "RE")]
Re,
#[serde(rename = "RO")]
Ro,
#[serde(rename = "RU")]
Ru,
#[serde(rename = "RW")]
Rw,
#[serde(rename = "BL")]
Bl,
#[serde(rename = "SH")]
Sh,
#[serde(rename = "KN")]
Kn,
#[serde(rename = "LC")]
Lc,
#[serde(rename = "MF")]
Mf,
#[serde(rename = "PM")]
Pm,
#[serde(rename = "VC")]
Vc,
#[serde(rename = "WS")]
Ws,
#[serde(rename = "SM")]
Sm,
#[serde(rename = "ST")]
St,
#[serde(rename = "SA")]
Sa,
#[serde(rename = "SN")]
Sn,
#[serde(rename = "RS")]
Rs,
#[serde(rename = "SC")]
Sc,
#[serde(rename = "SL")]
Sl,
#[serde(rename = "SG")]
Sg,
#[serde(rename = "SX")]
Sx,
#[serde(rename = "SK")]
Sk,
#[serde(rename = "SI")]
Si,
#[serde(rename = "SB")]
Sb,
#[serde(rename = "SO")]
So,
#[serde(rename = "ZA")]
Za,
#[serde(rename = "GS")]
Gs,
#[serde(rename = "KR")]
Kr,
#[serde(rename = "SS")]
Ss,
#[serde(rename = "ES")]
Es,
#[serde(rename = "LK")]
Lk,
#[serde(rename = "SD")]
Sd,
#[serde(rename = "SR")]
Sr,
#[serde(rename = "SJ")]
Sj,
#[serde(rename = "SE")]
Se,
#[serde(rename = "CH")]
Ch,
#[serde(rename = "SY")]
Sy,
#[serde(rename = "TW")]
Tw,
#[serde(rename = "TJ")]
Tj,
#[serde(rename = "TZ")]
Tz,
#[serde(rename = "TH")]
Th,
#[serde(rename = "TL")]
Tl,
#[serde(rename = "TG")]
Tg,
#[serde(rename = "TK")]
Tk,
#[serde(rename = "TO")]
To,
#[serde(rename = "TT")]
Tt,
#[serde(rename = "TN")]
Tn,
#[serde(rename = "TR")]
Tr,
#[serde(rename = "TM")]
Tm,
#[serde(rename = "TC")]
Tc,
#[serde(rename = "TV")]
Tv,
#[serde(rename = "UG")]
Ug,
#[serde(rename = "UA")]
Ua,
#[serde(rename = "AE")]
Ae,
#[serde(rename = "GB")]
Gb,
#[serde(rename = "UM")]
Um,
#[serde(rename = "US")]
Us,
#[serde(rename = "UY")]
Uy,
#[serde(rename = "UZ")]
Uz,
#[serde(rename = "VU")]
Vu,
#[serde(rename = "VE")]
Ve,
#[serde(rename = "VN")]
Vn,
#[serde(rename = "VG")]
Vg,
#[serde(rename = "VI")]
Vi,
#[serde(rename = "WF")]
Wf,
#[serde(rename = "EH")]
Eh,
#[serde(rename = "YE")]
Ye,
#[serde(rename = "ZM")]
Zm,
#[serde(rename = "ZW")]
Zw,
}
impl std::fmt::Display for CountryCodeEnum {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Af => write!(f, "AF"),
Self::Ax => write!(f, "AX"),
Self::Al => write!(f, "AL"),
Self::Dz => write!(f, "DZ"),
Self::As => write!(f, "AS"),
Self::Ad => write!(f, "AD"),
Self::Ao => write!(f, "AO"),
Self::Ai => write!(f, "AI"),
Self::Aq => write!(f, "AQ"),
Self::Ag => write!(f, "AG"),
Self::Ar => write!(f, "AR"),
Self::Am => write!(f, "AM"),
Self::Aw => write!(f, "AW"),
Self::Au => write!(f, "AU"),
Self::At => write!(f, "AT"),
Self::Az => write!(f, "AZ"),
Self::Bs => write!(f, "BS"),
Self::Bh => write!(f, "BH"),
Self::Bd => write!(f, "BD"),
Self::Bb => write!(f, "BB"),
Self::By => write!(f, "BY"),
Self::Be => write!(f, "BE"),
Self::Bz => write!(f, "BZ"),
Self::Bj => write!(f, "BJ"),
Self::Bm => write!(f, "BM"),
Self::Bt => write!(f, "BT"),
Self::Bo => write!(f, "BO"),
Self::Bq => write!(f, "BQ"),
Self::Ba => write!(f, "BA"),
Self::Bw => write!(f, "BW"),
Self::Bv => write!(f, "BV"),
Self::Br => write!(f, "BR"),
Self::Io => write!(f, "IO"),
Self::Bn => write!(f, "BN"),
Self::Bg => write!(f, "BG"),
Self::Bf => write!(f, "BF"),
Self::Bi => write!(f, "BI"),
Self::Cv => write!(f, "CV"),
Self::Kh => write!(f, "KH"),
Self::Cm => write!(f, "CM"),
Self::Ca => write!(f, "CA"),
Self::Ky => write!(f, "KY"),
Self::Cf => write!(f, "CF"),
Self::Td => write!(f, "TD"),
Self::Cl => write!(f, "CL"),
Self::Cn => write!(f, "CN"),
Self::Cx => write!(f, "CX"),
Self::Cc => write!(f, "CC"),
Self::Co => write!(f, "CO"),
Self::Km => write!(f, "KM"),
Self::Cg => write!(f, "CG"),
Self::Cd => write!(f, "CD"),
Self::Ck => write!(f, "CK"),
Self::Cr => write!(f, "CR"),
Self::Ci => write!(f, "CI"),
Self::Hr => write!(f, "HR"),
Self::Cu => write!(f, "CU"),
Self::Cw => write!(f, "CW"),
Self::Cy => write!(f, "CY"),
Self::Cz => write!(f, "CZ"),
Self::Dk => write!(f, "DK"),
Self::Dj => write!(f, "DJ"),
Self::Dm => write!(f, "DM"),
Self::Do => write!(f, "DO"),
Self::Ec => write!(f, "EC"),
Self::Eg => write!(f, "EG"),
Self::Sv => write!(f, "SV"),
Self::Gq => write!(f, "GQ"),
Self::Er => write!(f, "ER"),
Self::Ee => write!(f, "EE"),
Self::Sz => write!(f, "SZ"),
Self::Et => write!(f, "ET"),
Self::Fk => write!(f, "FK"),
Self::Fo => write!(f, "FO"),
Self::Fj => write!(f, "FJ"),
Self::Fi => write!(f, "FI"),
Self::Fr => write!(f, "FR"),
Self::Gf => write!(f, "GF"),
Self::Pf => write!(f, "PF"),
Self::Tf => write!(f, "TF"),
Self::Ga => write!(f, "GA"),
Self::Gm => write!(f, "GM"),
Self::Ge => write!(f, "GE"),
Self::De => write!(f, "DE"),
Self::Gh => write!(f, "GH"),
Self::Gi => write!(f, "GI"),
Self::Gr => write!(f, "GR"),
Self::Gl => write!(f, "GL"),
Self::Gd => write!(f, "GD"),
Self::Gp => write!(f, "GP"),
Self::Gu => write!(f, "GU"),
Self::Gt => write!(f, "GT"),
Self::Gg => write!(f, "GG"),
Self::Gn => write!(f, "GN"),
Self::Gw => write!(f, "GW"),
Self::Gy => write!(f, "GY"),
Self::Ht => write!(f, "HT"),
Self::Hm => write!(f, "HM"),
Self::Va => write!(f, "VA"),
Self::Hn => write!(f, "HN"),
Self::Hk => write!(f, "HK"),
Self::Hu => write!(f, "HU"),
Self::Is => write!(f, "IS"),
Self::In => write!(f, "IN"),
Self::Id => write!(f, "ID"),
Self::Ir => write!(f, "IR"),
Self::Iq => write!(f, "IQ"),
Self::Ie => write!(f, "IE"),
Self::Im => write!(f, "IM"),
Self::Il => write!(f, "IL"),
Self::It => write!(f, "IT"),
Self::Jm => write!(f, "JM"),
Self::Jp => write!(f, "JP"),
Self::Je => write!(f, "JE"),
Self::Jo => write!(f, "JO"),
Self::Kz => write!(f, "KZ"),
Self::Ke => write!(f, "KE"),
Self::Ki => write!(f, "KI"),
Self::Kw => write!(f, "KW"),
Self::Kg => write!(f, "KG"),
Self::La => write!(f, "LA"),
Self::Lv => write!(f, "LV"),
Self::Lb => write!(f, "LB"),
Self::Ls => write!(f, "LS"),
Self::Lr => write!(f, "LR"),
Self::Ly => write!(f, "LY"),
Self::Li => write!(f, "LI"),
Self::Lt => write!(f, "LT"),
Self::Lu => write!(f, "LU"),
Self::Mo => write!(f, "MO"),
Self::Mg => write!(f, "MG"),
Self::Mw => write!(f, "MW"),
Self::My => write!(f, "MY"),
Self::Mv => write!(f, "MV"),
Self::Ml => write!(f, "ML"),
Self::Mt => write!(f, "MT"),
Self::Mh => write!(f, "MH"),
Self::Mq => write!(f, "MQ"),
Self::Mr => write!(f, "MR"),
Self::Mu => write!(f, "MU"),
Self::Yt => write!(f, "YT"),
Self::Mx => write!(f, "MX"),
Self::Fm => write!(f, "FM"),
Self::Md => write!(f, "MD"),
Self::Mc => write!(f, "MC"),
Self::Mn => write!(f, "MN"),
Self::Me => write!(f, "ME"),
Self::Ms => write!(f, "MS"),
Self::Ma => write!(f, "MA"),
Self::Mz => write!(f, "MZ"),
Self::Mm => write!(f, "MM"),
Self::Na => write!(f, "NA"),
Self::Nr => write!(f, "NR"),
Self::Np => write!(f, "NP"),
Self::Nl => write!(f, "NL"),
Self::Nc => write!(f, "NC"),
Self::Nz => write!(f, "NZ"),
Self::Ni => write!(f, "NI"),
Self::Ne => write!(f, "NE"),
Self::Ng => write!(f, "NG"),
Self::Nu => write!(f, "NU"),
Self::Nf => write!(f, "NF"),
Self::Kp => write!(f, "KP"),
Self::Mk => write!(f, "MK"),
Self::Mp => write!(f, "MP"),
Self::No => write!(f, "NO"),
Self::Om => write!(f, "OM"),
Self::Pk => write!(f, "PK"),
Self::Pw => write!(f, "PW"),
Self::Ps => write!(f, "PS"),
Self::Pa => write!(f, "PA"),
Self::Pg => write!(f, "PG"),
Self::Py => write!(f, "PY"),
Self::Pe => write!(f, "PE"),
Self::Ph => write!(f, "PH"),
Self::Pn => write!(f, "PN"),
Self::Pl => write!(f, "PL"),
Self::Pt => write!(f, "PT"),
Self::Pr => write!(f, "PR"),
Self::Qa => write!(f, "QA"),
Self::Re => write!(f, "RE"),
Self::Ro => write!(f, "RO"),
Self::Ru => write!(f, "RU"),
Self::Rw => write!(f, "RW"),
Self::Bl => write!(f, "BL"),
Self::Sh => write!(f, "SH"),
Self::Kn => write!(f, "KN"),
Self::Lc => write!(f, "LC"),
Self::Mf => write!(f, "MF"),
Self::Pm => write!(f, "PM"),
Self::Vc => write!(f, "VC"),
Self::Ws => write!(f, "WS"),
Self::Sm => write!(f, "SM"),
Self::St => write!(f, "ST"),
Self::Sa => write!(f, "SA"),
Self::Sn => write!(f, "SN"),
Self::Rs => write!(f, "RS"),
Self::Sc => write!(f, "SC"),
Self::Sl => write!(f, "SL"),
Self::Sg => write!(f, "SG"),
Self::Sx => write!(f, "SX"),
Self::Sk => write!(f, "SK"),
Self::Si => write!(f, "SI"),
Self::Sb => write!(f, "SB"),
Self::So => write!(f, "SO"),
Self::Za => write!(f, "ZA"),
Self::Gs => write!(f, "GS"),
Self::Kr => write!(f, "KR"),
Self::Ss => write!(f, "SS"),
Self::Es => write!(f, "ES"),
Self::Lk => write!(f, "LK"),
Self::Sd => write!(f, "SD"),
Self::Sr => write!(f, "SR"),
Self::Sj => write!(f, "SJ"),
Self::Se => write!(f, "SE"),
Self::Ch => write!(f, "CH"),
Self::Sy => write!(f, "SY"),
Self::Tw => write!(f, "TW"),
Self::Tj => write!(f, "TJ"),
Self::Tz => write!(f, "TZ"),
Self::Th => write!(f, "TH"),
Self::Tl => write!(f, "TL"),
Self::Tg => write!(f, "TG"),
Self::Tk => write!(f, "TK"),
Self::To => write!(f, "TO"),
Self::Tt => write!(f, "TT"),
Self::Tn => write!(f, "TN"),
Self::Tr => write!(f, "TR"),
Self::Tm => write!(f, "TM"),
Self::Tc => write!(f, "TC"),
Self::Tv => write!(f, "TV"),
Self::Ug => write!(f, "UG"),
Self::Ua => write!(f, "UA"),
Self::Ae => write!(f, "AE"),
Self::Gb => write!(f, "GB"),
Self::Um => write!(f, "UM"),
Self::Us => write!(f, "US"),
Self::Uy => write!(f, "UY"),
Self::Uz => write!(f, "UZ"),
Self::Vu => write!(f, "VU"),
Self::Ve => write!(f, "VE"),
Self::Vn => write!(f, "VN"),
Self::Vg => write!(f, "VG"),
Self::Vi => write!(f, "VI"),
Self::Wf => write!(f, "WF"),
Self::Eh => write!(f, "EH"),
Self::Ye => write!(f, "YE"),
Self::Zm => write!(f, "ZM"),
Self::Zw => write!(f, "ZW"),
}
}
}
impl Default for CountryCodeEnum {
fn default() -> CountryCodeEnum {
Self::Af
}
}