use crate::error::Error as GoogleMapsError;
use phf::phf_map;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
#[repr(u16)]
#[non_exhaustive]
pub enum TransitCurrency {
UnitedArabEmiratesDirham = 0,
AfghanAfghani = 1,
AlbanianLek = 2,
ArmenianDram = 3,
NetherlandsAntilleanGuilder = 4,
AngolanKwanza = 5,
ArgentinePeso = 6,
AustralianDollar = 7,
ArubanFlorin = 8,
AzerbaijaniManat = 9,
BosniaAndHerzegovinaConvertibleMark = 10,
BarbadosDollar = 11,
BangladeshiTaka = 12,
BulgarianLev = 13,
BahrainiDinar = 14,
BurundianFranc = 15,
BermudianDollar = 16,
BruneiDollar = 17,
Boliviano = 18,
BolivianMvdol = 19,
BrazilianReal = 20,
BahamianDollar = 21,
BhutaneseNgultrum = 22,
BotswanaPula = 23,
BelarusianRuble = 24,
BelizeDollar = 25,
CanadianDollar = 26,
CongoleseFranc = 27,
WirEuro = 28,
SwissFranc = 29,
WirFranc = 30,
UnidadDeFomento = 31,
ChileanPeso = 32,
RenminbiYuan = 33,
ColombianPeso = 34,
UnidadDeValorReal = 35,
CostaRicanColon = 36,
CubanConvertiblePeso = 37,
CubanPeso = 38,
CapeVerdeanEscudo = 39,
CzechKoruna = 40,
DjiboutianFranc = 41,
DanishKrone = 42,
DominicanPeso = 43,
AlgerianDinar = 44,
EgyptianPound = 45,
EritreanNakfa = 46,
EthiopianBirr = 47,
Euro = 48,
FijiDollar = 49,
FalklandIslandsPound = 50,
PoundSterling = 51,
GeorgianLari = 52,
GhanaianCedi = 53,
GibraltarPound = 54,
GambianDalasi = 55,
GuineanFranc = 56,
GuatemalanQuetzal = 57,
GuyaneseDollar = 58,
HongKongDollar = 59,
HonduranLempira = 60,
CroatianKuna = 61,
HaitianGourde = 62,
HungarianForint = 63,
IndonesianRupiah = 64,
IsraeliNewShekel = 65,
IndianRupee = 66,
IraqiDinar = 67,
IranianRial = 68,
IcelandicKrona = 69,
JamaicanDollar = 70,
JordanianDinar = 71,
JapaneseYen = 72,
KenyanShilling = 73,
KyrgyzstaniSom = 74,
CambodianRiel = 75,
ComoroFranc = 76,
NorthKoreanWon = 77,
SouthKoreanWon = 78,
KuwaitiDinar = 79,
CaymanIslandsDollar = 80,
KazakhstaniTenge = 81,
LaoKip = 82,
LebanesePound = 83,
SriLankanRupee = 84,
LiberianDollar = 85,
LesothoLoti = 86,
LibyanDinar = 87,
MoroccanDirham = 88,
MoldovanLeu = 89,
MalagasyAriary = 90,
MacedonianDenar = 91,
MyanmarKyat = 92,
MongolianTogrog = 93,
MacanesePataca = 94,
MauritanianOuguiya = 95,
MauritianRupee = 96,
MaldivianRufiyaa = 97,
MalawianKwacha = 98,
MexicanPeso = 99,
MexicanUnidadDeInversion = 100,
MalaysianRinggit = 101,
MozambicanMetical = 102,
NamibianDollar = 103,
NigerianNaira = 104,
NicaraguanCordoba = 105,
NorwegianKrone = 106,
NepaleseRupee = 107,
NewZealandDollar = 108,
OmaniRial = 109,
PanamanianBalboa = 110,
PeruvianSol = 111,
PapuaNewGuineanKina = 112,
PhilippinePeso = 113,
PakistaniRupee = 114,
PolishZloty = 115,
ParaguayanGuarani = 116,
QatariRiyal = 117,
RomanianLeu = 118,
SerbianDinar = 119,
RussianRuble = 120,
RwandanFranc = 121,
SaudiRiyal = 122,
SolomonIslandsDollar = 123,
SeychellesRupee = 124,
SudanesePound = 125,
SwedishKrona = 126,
SingaporeDollar = 127,
SaintHelenaPound = 128,
SierraLeoneanLeone = 129,
SomaliShilling = 130,
SurinameseDollar = 131,
SouthSudanesePound = 132,
SaoTomeAndPrincipeDobra = 133,
SalvadoranColon = 134,
SyrianPound = 135,
SwaziLilangeni = 136,
ThaiBaht = 137,
TajikistaniSomoni = 138,
TurkmenistanManat = 139,
TunisianDinar = 140,
TonganPaanga = 141,
TurkishLira = 142,
TrinidadAndTobagoDollar = 143,
NewTaiwanDollar = 144,
TanzanianShilling = 145,
UkrainianHryvnia = 146,
UgandanShilling = 147,
#[default]
UnitedStatesDollar = 148,
UnitedStatesDollarNextDay = 149,
UruguayPesoEnUnidadesIndexadas = 150,
UruguayanPeso = 151,
UnidadPrevisional = 152,
UzbekistanSom = 153,
VenezuelanBolivarSoberano = 154,
VietnameseDong = 155,
VanuatuVatu = 156,
SamoanTala = 157,
CfaFrancBeac = 158,
Silver = 159,
Gold = 160,
EuropeanCompositeUnit = 161,
EuropeanMonetaryUnit = 162,
EuropeanUnitOfAccount9 = 163,
EuropeanUnitOfAccount17 = 164,
EastCaribbeanDollar = 165,
SpecialDrawingRights = 166,
CfaFrancBceao = 167,
Palladium = 168,
CfpFranc = 169,
Platinum = 170,
Sucre = 171,
CodeReservedForTesting = 172,
AdbUnitOfAccount = 173,
NoCurrency = 174,
YemeniRial = 175,
SouthAfricanRand = 176,
ZambianKwacha = 177,
ZimbabweanDollar = 178,
Other(String) = 179,
}
impl<'de> Deserialize<'de> for TransitCurrency {
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
let string = String::deserialize(deserializer)?;
match Self::try_from(string.as_str()) {
Ok(variant) => Ok(variant),
Err(error) => Err(serde::de::Error::custom(error.to_string())),
} } }
impl Serialize for TransitCurrency {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serializer.serialize_str(std::convert::Into::<&str>::into(self))
} }
impl<'a> std::convert::From<&'a TransitCurrency> for &'a str {
fn from(currency: &'a TransitCurrency) -> Self {
match currency {
TransitCurrency::UnitedArabEmiratesDirham => "AED",
TransitCurrency::AfghanAfghani => "AFN",
TransitCurrency::AlbanianLek => "ALL",
TransitCurrency::ArmenianDram => "AMD",
TransitCurrency::NetherlandsAntilleanGuilder => "ANG",
TransitCurrency::AngolanKwanza => "AOA",
TransitCurrency::ArgentinePeso => "ARS",
TransitCurrency::AustralianDollar => "AUD",
TransitCurrency::ArubanFlorin => "AWG",
TransitCurrency::AzerbaijaniManat => "AZN",
TransitCurrency::BosniaAndHerzegovinaConvertibleMark => "BAM",
TransitCurrency::BarbadosDollar => "BBD",
TransitCurrency::BangladeshiTaka => "BDT",
TransitCurrency::BulgarianLev => "BGN",
TransitCurrency::BahrainiDinar => "BHD",
TransitCurrency::BurundianFranc => "BIF",
TransitCurrency::BermudianDollar => "BMD",
TransitCurrency::BruneiDollar => "BND",
TransitCurrency::Boliviano => "BOB",
TransitCurrency::BolivianMvdol => "BOV",
TransitCurrency::BrazilianReal => "BRL",
TransitCurrency::BahamianDollar => "BSD",
TransitCurrency::BhutaneseNgultrum => "BTN",
TransitCurrency::BotswanaPula => "BWP",
TransitCurrency::BelarusianRuble => "BYN",
TransitCurrency::BelizeDollar => "BZD",
TransitCurrency::CanadianDollar => "CAD",
TransitCurrency::CongoleseFranc => "CDF",
TransitCurrency::WirEuro => "CHE",
TransitCurrency::SwissFranc => "CHF",
TransitCurrency::WirFranc => "CHW",
TransitCurrency::UnidadDeFomento => "CLF",
TransitCurrency::ChileanPeso => "CLP",
TransitCurrency::RenminbiYuan => "CNY",
TransitCurrency::ColombianPeso => "COP",
TransitCurrency::UnidadDeValorReal => "COU",
TransitCurrency::CostaRicanColon => "CRC",
TransitCurrency::CubanConvertiblePeso => "CUC",
TransitCurrency::CubanPeso => "CUP",
TransitCurrency::CapeVerdeanEscudo => "CVE",
TransitCurrency::CzechKoruna => "CZK",
TransitCurrency::DjiboutianFranc => "DJF",
TransitCurrency::DanishKrone => "DKK",
TransitCurrency::DominicanPeso => "DOP",
TransitCurrency::AlgerianDinar => "DZD",
TransitCurrency::EgyptianPound => "EGP",
TransitCurrency::EritreanNakfa => "ERN",
TransitCurrency::EthiopianBirr => "ETB",
TransitCurrency::Euro => "EUR",
TransitCurrency::FijiDollar => "FJD",
TransitCurrency::FalklandIslandsPound => "FKP",
TransitCurrency::PoundSterling => "GBP",
TransitCurrency::GeorgianLari => "GEL",
TransitCurrency::GhanaianCedi => "GHS",
TransitCurrency::GibraltarPound => "GIP",
TransitCurrency::GambianDalasi => "GMD",
TransitCurrency::GuineanFranc => "GNF",
TransitCurrency::GuatemalanQuetzal => "GTQ",
TransitCurrency::GuyaneseDollar => "GYD",
TransitCurrency::HongKongDollar => "HKD",
TransitCurrency::HonduranLempira => "HNL",
TransitCurrency::CroatianKuna => "HRK",
TransitCurrency::HaitianGourde => "HTG",
TransitCurrency::HungarianForint => "HUF",
TransitCurrency::IndonesianRupiah => "IDR",
TransitCurrency::IsraeliNewShekel => "ILS",
TransitCurrency::IndianRupee => "INR",
TransitCurrency::IraqiDinar => "IQD",
TransitCurrency::IranianRial => "IRR",
TransitCurrency::IcelandicKrona => "ISK",
TransitCurrency::JamaicanDollar => "JMD",
TransitCurrency::JordanianDinar => "JOD",
TransitCurrency::JapaneseYen => "JPY",
TransitCurrency::KenyanShilling => "KES",
TransitCurrency::KyrgyzstaniSom => "KGS",
TransitCurrency::CambodianRiel => "KHR",
TransitCurrency::ComoroFranc => "KMF",
TransitCurrency::NorthKoreanWon => "KPW",
TransitCurrency::SouthKoreanWon => "KRW",
TransitCurrency::KuwaitiDinar => "KWD",
TransitCurrency::CaymanIslandsDollar => "KYD",
TransitCurrency::KazakhstaniTenge => "KZT",
TransitCurrency::LaoKip => "LAK",
TransitCurrency::LebanesePound => "LBP",
TransitCurrency::SriLankanRupee => "LKR",
TransitCurrency::LiberianDollar => "LRD",
TransitCurrency::LesothoLoti => "LSL",
TransitCurrency::LibyanDinar => "LYD",
TransitCurrency::MoroccanDirham => "MAD",
TransitCurrency::MoldovanLeu => "MDL",
TransitCurrency::MalagasyAriary => "MGA",
TransitCurrency::MacedonianDenar => "MKD",
TransitCurrency::MyanmarKyat => "MMK",
TransitCurrency::MongolianTogrog => "MNT",
TransitCurrency::MacanesePataca => "MOP",
TransitCurrency::MauritanianOuguiya => "MRU",
TransitCurrency::MauritianRupee => "MUR",
TransitCurrency::MaldivianRufiyaa => "MVR",
TransitCurrency::MalawianKwacha => "MWK",
TransitCurrency::MexicanPeso => "MXN",
TransitCurrency::MexicanUnidadDeInversion => "MXV",
TransitCurrency::MalaysianRinggit => "MYR",
TransitCurrency::MozambicanMetical => "MZN",
TransitCurrency::NamibianDollar => "NAD",
TransitCurrency::NigerianNaira => "NGN",
TransitCurrency::NicaraguanCordoba => "NIO",
TransitCurrency::NorwegianKrone => "NOK",
TransitCurrency::NepaleseRupee => "NPR",
TransitCurrency::NewZealandDollar => "NZD",
TransitCurrency::OmaniRial => "OMR",
TransitCurrency::PanamanianBalboa => "PAB",
TransitCurrency::PeruvianSol => "PEN",
TransitCurrency::PapuaNewGuineanKina => "PGK",
TransitCurrency::PhilippinePeso => "PHP",
TransitCurrency::PakistaniRupee => "PKR",
TransitCurrency::PolishZloty => "PLN",
TransitCurrency::ParaguayanGuarani => "PYG",
TransitCurrency::QatariRiyal => "QAR",
TransitCurrency::RomanianLeu => "RON",
TransitCurrency::SerbianDinar => "RSD",
TransitCurrency::RussianRuble => "RUB",
TransitCurrency::RwandanFranc => "RWF",
TransitCurrency::SaudiRiyal => "SAR",
TransitCurrency::SolomonIslandsDollar => "SBD",
TransitCurrency::SeychellesRupee => "SCR",
TransitCurrency::SudanesePound => "SDG",
TransitCurrency::SwedishKrona => "SEK",
TransitCurrency::SingaporeDollar => "SGD",
TransitCurrency::SaintHelenaPound => "SHP",
TransitCurrency::SierraLeoneanLeone => "SLL",
TransitCurrency::SomaliShilling => "SOS",
TransitCurrency::SurinameseDollar => "SRD",
TransitCurrency::SouthSudanesePound => "SSP",
TransitCurrency::SaoTomeAndPrincipeDobra => "STN",
TransitCurrency::SalvadoranColon => "SVC",
TransitCurrency::SyrianPound => "SYP",
TransitCurrency::SwaziLilangeni => "SZL",
TransitCurrency::ThaiBaht => "THB",
TransitCurrency::TajikistaniSomoni => "TJS",
TransitCurrency::TurkmenistanManat => "TMT",
TransitCurrency::TunisianDinar => "TND",
TransitCurrency::TonganPaanga => "TOP",
TransitCurrency::TurkishLira => "TRY",
TransitCurrency::TrinidadAndTobagoDollar => "TTD",
TransitCurrency::NewTaiwanDollar => "TWD",
TransitCurrency::TanzanianShilling => "TZS",
TransitCurrency::UkrainianHryvnia => "UAH",
TransitCurrency::UgandanShilling => "UGX",
TransitCurrency::UnitedStatesDollar => "USD",
TransitCurrency::UnitedStatesDollarNextDay => "USN",
TransitCurrency::UruguayPesoEnUnidadesIndexadas => "UYI",
TransitCurrency::UruguayanPeso => "UYU",
TransitCurrency::UnidadPrevisional => "UYW",
TransitCurrency::UzbekistanSom => "UZS",
TransitCurrency::VenezuelanBolivarSoberano => "VES",
TransitCurrency::VietnameseDong => "VND",
TransitCurrency::VanuatuVatu => "VUV",
TransitCurrency::SamoanTala => "WST",
TransitCurrency::CfaFrancBeac => "XAF",
TransitCurrency::Silver => "XAG",
TransitCurrency::Gold => "XAU",
TransitCurrency::EuropeanCompositeUnit => "XBA",
TransitCurrency::EuropeanMonetaryUnit => "XBB",
TransitCurrency::EuropeanUnitOfAccount9 => "XBC",
TransitCurrency::EuropeanUnitOfAccount17 => "XBD",
TransitCurrency::EastCaribbeanDollar => "XCD",
TransitCurrency::SpecialDrawingRights => "XDR",
TransitCurrency::CfaFrancBceao => "XOF",
TransitCurrency::Palladium => "XPD",
TransitCurrency::CfpFranc => "CFP franc",
TransitCurrency::Platinum => "XPT",
TransitCurrency::Sucre => "XSU",
TransitCurrency::CodeReservedForTesting => "XTS",
TransitCurrency::AdbUnitOfAccount => "XUA",
TransitCurrency::NoCurrency => "XXX",
TransitCurrency::YemeniRial => "YER",
TransitCurrency::SouthAfricanRand => "ZAR",
TransitCurrency::ZambianKwacha => "ZMW",
TransitCurrency::ZimbabweanDollar => "ZWL",
TransitCurrency::Other(string) => string,
} } }
impl std::fmt::Display for TransitCurrency {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", std::convert::Into::<&str>::into(self))
} }
impl std::convert::From<&TransitCurrency> for String {
fn from(transit_currency: &TransitCurrency) -> Self {
std::convert::Into::<&str>::into(transit_currency).to_string()
} }
static TRANSIT_CURRENCIES_BY_CODE: phf::Map<&'static str, TransitCurrency> = phf_map! {
"AED" => TransitCurrency::UnitedArabEmiratesDirham,
"AFN" => TransitCurrency::AfghanAfghani,
"ALL" => TransitCurrency::AlbanianLek,
"AMD" => TransitCurrency::ArmenianDram,
"ANG" => TransitCurrency::NetherlandsAntilleanGuilder,
"AOA" => TransitCurrency::AngolanKwanza,
"ARS" => TransitCurrency::ArgentinePeso,
"AUD" => TransitCurrency::AustralianDollar,
"AWG" => TransitCurrency::ArubanFlorin,
"AZN" => TransitCurrency::AzerbaijaniManat,
"BAM" => TransitCurrency::BosniaAndHerzegovinaConvertibleMark,
"BBD" => TransitCurrency::BarbadosDollar,
"BDT" => TransitCurrency::BangladeshiTaka,
"BGN" => TransitCurrency::BulgarianLev,
"BHD" => TransitCurrency::BahrainiDinar,
"BIF" => TransitCurrency::BurundianFranc,
"BMD" => TransitCurrency::BermudianDollar,
"BND" => TransitCurrency::BruneiDollar,
"BOB" => TransitCurrency::Boliviano,
"BOV" => TransitCurrency::BolivianMvdol,
"BRL" => TransitCurrency::BrazilianReal,
"BSD" => TransitCurrency::BahamianDollar,
"BTN" => TransitCurrency::BhutaneseNgultrum,
"BWP" => TransitCurrency::BotswanaPula,
"BYN" => TransitCurrency::BelarusianRuble,
"BZD" => TransitCurrency::BelizeDollar,
"CAD" => TransitCurrency::CanadianDollar,
"CDF" => TransitCurrency::CongoleseFranc,
"CHE" => TransitCurrency::WirEuro,
"CHF" => TransitCurrency::SwissFranc,
"CHW" => TransitCurrency::WirFranc,
"CLF" => TransitCurrency::UnidadDeFomento,
"CLP" => TransitCurrency::ChileanPeso,
"CNY" => TransitCurrency::RenminbiYuan,
"COP" => TransitCurrency::ColombianPeso,
"COU" => TransitCurrency::UnidadDeValorReal,
"CRC" => TransitCurrency::CostaRicanColon,
"CUC" => TransitCurrency::CubanConvertiblePeso,
"CUP" => TransitCurrency::CubanPeso,
"CVE" => TransitCurrency::CapeVerdeanEscudo,
"CZK" => TransitCurrency::CzechKoruna,
"DJF" => TransitCurrency::DjiboutianFranc,
"DKK" => TransitCurrency::DanishKrone,
"DOP" => TransitCurrency::DominicanPeso,
"DZD" => TransitCurrency::AlgerianDinar,
"EGP" => TransitCurrency::EgyptianPound,
"ERN" => TransitCurrency::EritreanNakfa,
"ETB" => TransitCurrency::EthiopianBirr,
"EUR" => TransitCurrency::Euro,
"FJD" => TransitCurrency::FijiDollar,
"FKP" => TransitCurrency::FalklandIslandsPound,
"GBP" => TransitCurrency::PoundSterling,
"GEL" => TransitCurrency::GeorgianLari,
"GHS" => TransitCurrency::GhanaianCedi,
"GIP" => TransitCurrency::GibraltarPound,
"GMD" => TransitCurrency::GambianDalasi,
"GNF" => TransitCurrency::GuineanFranc,
"GTQ" => TransitCurrency::GuatemalanQuetzal,
"GYD" => TransitCurrency::GuyaneseDollar,
"HKD" => TransitCurrency::HongKongDollar,
"HNL" => TransitCurrency::HonduranLempira,
"HRK" => TransitCurrency::CroatianKuna,
"HTG" => TransitCurrency::HaitianGourde,
"HUF" => TransitCurrency::HungarianForint,
"IDR" => TransitCurrency::IndonesianRupiah,
"ILS" => TransitCurrency::IsraeliNewShekel,
"INR" => TransitCurrency::IndianRupee,
"IQD" => TransitCurrency::IraqiDinar,
"IRR" => TransitCurrency::IranianRial,
"ISK" => TransitCurrency::IcelandicKrona,
"JMD" => TransitCurrency::JamaicanDollar,
"JOD" => TransitCurrency::JordanianDinar,
"JPY" => TransitCurrency::JapaneseYen,
"KES" => TransitCurrency::KenyanShilling,
"KGS" => TransitCurrency::KyrgyzstaniSom,
"KHR" => TransitCurrency::CambodianRiel,
"KMF" => TransitCurrency::ComoroFranc,
"KPW" => TransitCurrency::NorthKoreanWon,
"KRW" => TransitCurrency::SouthKoreanWon,
"KWD" => TransitCurrency::KuwaitiDinar,
"KYD" => TransitCurrency::CaymanIslandsDollar,
"KZT" => TransitCurrency::KazakhstaniTenge,
"LAK" => TransitCurrency::LaoKip,
"LBP" => TransitCurrency::LebanesePound,
"LKR" => TransitCurrency::SriLankanRupee,
"LRD" => TransitCurrency::LiberianDollar,
"LSL" => TransitCurrency::LesothoLoti,
"LYD" => TransitCurrency::LibyanDinar,
"MAD" => TransitCurrency::MoroccanDirham,
"MDL" => TransitCurrency::MoldovanLeu,
"MGA" => TransitCurrency::MalagasyAriary,
"MKD" => TransitCurrency::MacedonianDenar,
"MMK" => TransitCurrency::MyanmarKyat,
"MNT" => TransitCurrency::MongolianTogrog,
"MOP" => TransitCurrency::MacanesePataca,
"MRU" => TransitCurrency::MauritanianOuguiya,
"MUR" => TransitCurrency::MauritianRupee,
"MVR" => TransitCurrency::MaldivianRufiyaa,
"MWK" => TransitCurrency::MalawianKwacha,
"MXN" => TransitCurrency::MexicanPeso,
"MXV" => TransitCurrency::MexicanUnidadDeInversion,
"MYR" => TransitCurrency::MalaysianRinggit,
"MZN" => TransitCurrency::MozambicanMetical,
"NAD" => TransitCurrency::NamibianDollar,
"NGN" => TransitCurrency::NigerianNaira,
"NIO" => TransitCurrency::NicaraguanCordoba,
"NOK" => TransitCurrency::NorwegianKrone,
"NPR" => TransitCurrency::NepaleseRupee,
"NZD" => TransitCurrency::NewZealandDollar,
"OMR" => TransitCurrency::OmaniRial,
"PAB" => TransitCurrency::PanamanianBalboa,
"PEN" => TransitCurrency::PeruvianSol,
"PGK" => TransitCurrency::PapuaNewGuineanKina,
"PHP" => TransitCurrency::PhilippinePeso,
"PKR" => TransitCurrency::PakistaniRupee,
"PLN" => TransitCurrency::PolishZloty,
"PYG" => TransitCurrency::ParaguayanGuarani,
"QAR" => TransitCurrency::QatariRiyal,
"RON" => TransitCurrency::RomanianLeu,
"RSD" => TransitCurrency::SerbianDinar,
"RUB" => TransitCurrency::RussianRuble,
"RWF" => TransitCurrency::RwandanFranc,
"SAR" => TransitCurrency::SaudiRiyal,
"SBD" => TransitCurrency::SolomonIslandsDollar,
"SCR" => TransitCurrency::SeychellesRupee,
"SDG" => TransitCurrency::SudanesePound,
"SEK" => TransitCurrency::SwedishKrona,
"SGD" => TransitCurrency::SingaporeDollar,
"SHP" => TransitCurrency::SaintHelenaPound,
"SLL" => TransitCurrency::SierraLeoneanLeone,
"SOS" => TransitCurrency::SomaliShilling,
"SRD" => TransitCurrency::SurinameseDollar,
"SSP" => TransitCurrency::SouthSudanesePound,
"STN" => TransitCurrency::SaoTomeAndPrincipeDobra,
"SVC" => TransitCurrency::SalvadoranColon,
"SYP" => TransitCurrency::SyrianPound,
"SZL" => TransitCurrency::SwaziLilangeni,
"THB" => TransitCurrency::ThaiBaht,
"TJS" => TransitCurrency::TajikistaniSomoni,
"TMT" => TransitCurrency::TurkmenistanManat,
"TND" => TransitCurrency::TunisianDinar,
"TOP" => TransitCurrency::TonganPaanga,
"TRY" => TransitCurrency::TurkishLira,
"TTD" => TransitCurrency::TrinidadAndTobagoDollar,
"TWD" => TransitCurrency::NewTaiwanDollar,
"TZS" => TransitCurrency::TanzanianShilling,
"UAH" => TransitCurrency::UkrainianHryvnia,
"UGX" => TransitCurrency::UgandanShilling,
"USD" => TransitCurrency::UnitedStatesDollar,
"USN" => TransitCurrency::UnitedStatesDollarNextDay,
"UYI" => TransitCurrency::UruguayPesoEnUnidadesIndexadas,
"UYU" => TransitCurrency::UruguayanPeso,
"UYW" => TransitCurrency::UnidadPrevisional,
"UZS" => TransitCurrency::UzbekistanSom,
"VES" => TransitCurrency::VenezuelanBolivarSoberano,
"VND" => TransitCurrency::VietnameseDong,
"VUV" => TransitCurrency::VanuatuVatu,
"WST" => TransitCurrency::SamoanTala,
"XAF" => TransitCurrency::CfaFrancBeac,
"XAG" => TransitCurrency::Silver,
"XAU" => TransitCurrency::Gold,
"XBA" => TransitCurrency::EuropeanCompositeUnit,
"XBB" => TransitCurrency::EuropeanMonetaryUnit,
"XBC" => TransitCurrency::EuropeanUnitOfAccount9,
"XBD" => TransitCurrency::EuropeanUnitOfAccount17,
"XCD" => TransitCurrency::EastCaribbeanDollar,
"XDR" => TransitCurrency::SpecialDrawingRights,
"XOF" => TransitCurrency::CfaFrancBceao,
"XPD" => TransitCurrency::Palladium,
"XPF" => TransitCurrency::CfpFranc,
"XPT" => TransitCurrency::Platinum,
"XSU" => TransitCurrency::Sucre,
"XTS" => TransitCurrency::CodeReservedForTesting,
"XUA" => TransitCurrency::AdbUnitOfAccount,
"XXX" => TransitCurrency::NoCurrency,
"YER" => TransitCurrency::YemeniRial,
"ZAR" => TransitCurrency::SouthAfricanRand,
"ZMW" => TransitCurrency::ZambianKwacha,
"ZWL" => TransitCurrency::ZimbabweanDollar,
};
impl std::convert::TryFrom<&str> for TransitCurrency {
type Error = GoogleMapsError;
fn try_from(currency_code: &str) -> Result<Self, Self::Error> {
Ok(TRANSIT_CURRENCIES_BY_CODE
.get(currency_code)
.cloned()
.unwrap_or_else(|| Self::Other(currency_code.to_string())))
} }
impl std::str::FromStr for TransitCurrency {
type Err = GoogleMapsError;
fn from_str(currency_code: &str) -> Result<Self, Self::Err> {
Ok(TRANSIT_CURRENCIES_BY_CODE
.get(currency_code)
.cloned()
.unwrap_or_else(|| Self::Other(currency_code.to_string())))
} }
impl TransitCurrency {
#[must_use]
pub fn display(&self) -> &str {
match self {
Self::UnitedArabEmiratesDirham => "United Arab Emirates dirham",
Self::AfghanAfghani => "Afghan afghani",
Self::AlbanianLek => "Albanian lek",
Self::ArmenianDram => "Armenian dram",
Self::NetherlandsAntilleanGuilder => "Netherlands Antillean guilder",
Self::AngolanKwanza => "Angolan kwanza",
Self::ArgentinePeso => "Argentine peso",
Self::AustralianDollar => "Australian dollar",
Self::ArubanFlorin => "Aruban florin",
Self::AzerbaijaniManat => "Azerbaijani manat",
Self::BosniaAndHerzegovinaConvertibleMark => "Bosnia and Herzegovina convertible mark",
Self::BarbadosDollar => "Barbados dollar",
Self::BangladeshiTaka => "Bangladeshi taka",
Self::BulgarianLev => "Bulgarian lev",
Self::BahrainiDinar => "Bahraini dinar",
Self::BurundianFranc => "Burundian franc",
Self::BermudianDollar => "Bermudian dollar",
Self::BruneiDollar => "Brunei dollar",
Self::Boliviano => "Boliviano",
Self::BolivianMvdol => "Bolivian Mvdol",
Self::BrazilianReal => "Brazilian real",
Self::BahamianDollar => "Bahamian dollar",
Self::BhutaneseNgultrum => "Bhutanese ngultrum",
Self::BotswanaPula => "Botswana pula",
Self::BelarusianRuble => "Belarusian ruble",
Self::BelizeDollar => "Belize dollar",
Self::CanadianDollar => "Canadian dollar",
Self::CongoleseFranc => "Congolese franc",
Self::WirEuro => "WIR Euro",
Self::SwissFranc => "Swiss franc",
Self::WirFranc => "WIR Franc",
Self::UnidadDeFomento => "Unidad de Fomento",
Self::ChileanPeso => "Chilean peso",
Self::RenminbiYuan => "Renminbi yuan",
Self::ColombianPeso => "Colombian peso",
Self::UnidadDeValorReal => "Unidad de Valor Real",
Self::CostaRicanColon => "Costa Rican colon",
Self::CubanConvertiblePeso => "Cuban convertible peso",
Self::CubanPeso => "Cuban peso",
Self::CapeVerdeanEscudo => "Cape Verdean escudo",
Self::CzechKoruna => "Czech koruna",
Self::DjiboutianFranc => "Djiboutian franc",
Self::DanishKrone => "Danish krone",
Self::DominicanPeso => "Dominican peso",
Self::AlgerianDinar => "Algerian dinar",
Self::EgyptianPound => "Egyptian pound",
Self::EritreanNakfa => "Eritrean nakfa",
Self::EthiopianBirr => "Ethiopian birr",
Self::Euro => "Euro",
Self::FijiDollar => "Fiji dollar",
Self::FalklandIslandsPound => "Falkland Islands pound",
Self::PoundSterling => "Pound sterling",
Self::GeorgianLari => "Georgian lari",
Self::GhanaianCedi => "Ghanaian cedi",
Self::GibraltarPound => "Gibraltar pound",
Self::GambianDalasi => "Gambian dalasi",
Self::GuineanFranc => "Guinean franc",
Self::GuatemalanQuetzal => "Guatemalan quetzal",
Self::GuyaneseDollar => "Guyanese dollar",
Self::HongKongDollar => "Hong Kong dollar",
Self::HonduranLempira => "Honduran lempira",
Self::CroatianKuna => "Croatian kuna",
Self::HaitianGourde => "Haitian gourde",
Self::HungarianForint => "Hungarian forint",
Self::IndonesianRupiah => "Indonesian rupiah",
Self::IsraeliNewShekel => "Israeli new shekel",
Self::IndianRupee => "Indian rupee",
Self::IraqiDinar => "Iraqi dinar",
Self::IranianRial => "Iranian rial",
Self::IcelandicKrona => "Icelandic króna",
Self::JamaicanDollar => "Jamaican dollar",
Self::JordanianDinar => "Jordanian dinar",
Self::JapaneseYen => "Japanese yen",
Self::KenyanShilling => "Kenyan shilling",
Self::KyrgyzstaniSom => "Kyrgyzstani som",
Self::CambodianRiel => "Cambodian riel",
Self::ComoroFranc => "Comoro franc",
Self::NorthKoreanWon => "North Korean won",
Self::SouthKoreanWon => "South Korean won",
Self::KuwaitiDinar => "Kuwaiti dinar",
Self::CaymanIslandsDollar => "Cayman Islands dollar",
Self::KazakhstaniTenge => "Kazakhstani tenge",
Self::LaoKip => "Lao kip",
Self::LebanesePound => "Lebanese pound",
Self::SriLankanRupee => "Sri Lankan rupee",
Self::LiberianDollar => "Liberian dollar",
Self::LesothoLoti => "Lesotho loti",
Self::LibyanDinar => "Libyan dinar",
Self::MoroccanDirham => "Moroccan dirham",
Self::MoldovanLeu => "Moldovan leu",
Self::MalagasyAriary => "Malagasy ariary",
Self::MacedonianDenar => "Macedonian denar",
Self::MyanmarKyat => "Myanmar kyat",
Self::MongolianTogrog => "Mongolian tögrög",
Self::MacanesePataca => "Macanese pataca",
Self::MauritanianOuguiya => "Mauritanian ouguiya",
Self::MauritianRupee => "Mauritian rupee",
Self::MaldivianRufiyaa => "Maldivian rufiyaa",
Self::MalawianKwacha => "Malawian kwacha",
Self::MexicanPeso => "Mexican peso",
Self::MexicanUnidadDeInversion => "Mexican Unidad de Inversion",
Self::MalaysianRinggit => "Malaysian ringgit",
Self::MozambicanMetical => "Mozambican metical",
Self::NamibianDollar => "Namibian dollar",
Self::NigerianNaira => "Nigerian naira",
Self::NicaraguanCordoba => "Nicaraguan córdoba",
Self::NorwegianKrone => "Norwegian krone",
Self::NepaleseRupee => "Nepalese rupee",
Self::NewZealandDollar => "New Zealand dollar",
Self::OmaniRial => "Omani rial",
Self::PanamanianBalboa => "Panamanian balboa",
Self::PeruvianSol => "Peruvian sol",
Self::PapuaNewGuineanKina => "Papua New Guinean kina",
Self::PhilippinePeso => "Philippine peso",
Self::PakistaniRupee => "Pakistani rupee",
Self::PolishZloty => "Polish złoty",
Self::ParaguayanGuarani => "Paraguayan guaraní",
Self::QatariRiyal => "Qatari riyal",
Self::RomanianLeu => "Romanian leu",
Self::SerbianDinar => "Serbian dinar",
Self::RussianRuble => "Russian ruble",
Self::RwandanFranc => "Rwandan franc",
Self::SaudiRiyal => "Saudi riyal",
Self::SolomonIslandsDollar => "Solomon Islands dollar",
Self::SeychellesRupee => "Seychelles rupee",
Self::SudanesePound => "Sudanese pound",
Self::SwedishKrona => "Swedish krona",
Self::SingaporeDollar => "Singapore dollar",
Self::SaintHelenaPound => "Saint Helena pound",
Self::SierraLeoneanLeone => "Sierra Leonean leone",
Self::SomaliShilling => "Somali shilling",
Self::SurinameseDollar => "Surinamese dollar",
Self::SouthSudanesePound => "South Sudanese pound",
Self::SaoTomeAndPrincipeDobra => "São Tomé and Príncipe dobra",
Self::SalvadoranColon => "Salvadoran colón",
Self::SyrianPound => "Syrian pound",
Self::SwaziLilangeni => "Swazi lilangeni",
Self::ThaiBaht => "Thai baht",
Self::TajikistaniSomoni => "Tajikistani somoni",
Self::TurkmenistanManat => "Turkmenistan manat",
Self::TunisianDinar => "Tunisian dinar",
Self::TonganPaanga => "Tongan paʻanga",
Self::TurkishLira => "Turkish lira",
Self::TrinidadAndTobagoDollar => "Trinidad and Tobago dollar",
Self::NewTaiwanDollar => "New Taiwan dollar",
Self::TanzanianShilling => "Tanzanian shilling",
Self::UkrainianHryvnia => "Ukrainian hryvnia",
Self::UgandanShilling => "Ugandan shilling",
Self::UnitedStatesDollar => "United States dollar",
Self::UnitedStatesDollarNextDay => "United States dollar next day",
Self::UruguayPesoEnUnidadesIndexadas => "Uruguay Peso en Unidades Indexadas",
Self::UruguayanPeso => "Uruguayan peso",
Self::UnidadPrevisional => "Unidad previsional",
Self::UzbekistanSom => "Uzbekistan som",
Self::VenezuelanBolivarSoberano => "Venezuelan bolívar soberano",
Self::VietnameseDong => "Vietnamese đồng",
Self::VanuatuVatu => "Vanuatu vatu",
Self::SamoanTala => "Samoan tala",
Self::CfaFrancBeac => "CFA franc BEAC",
Self::Silver => "Silver",
Self::Gold => "Gold",
Self::EuropeanCompositeUnit => "European Composite Unit",
Self::EuropeanMonetaryUnit => "European Monetary Unit",
Self::EuropeanUnitOfAccount9 => "European Unit of Account 9",
Self::EuropeanUnitOfAccount17 => "European Unit of Account 17",
Self::EastCaribbeanDollar => "East Caribbean dollar",
Self::SpecialDrawingRights => "Special drawing rights",
Self::CfaFrancBceao => "CFA franc BCEAO",
Self::Palladium => "Palladium",
Self::CfpFranc => "CFP franc",
Self::Platinum => "Platinum",
Self::Sucre => "SUCRE",
Self::CodeReservedForTesting => "Code reserved for testing",
Self::AdbUnitOfAccount => "ADB Unit of Account",
Self::NoCurrency => "No currency",
Self::YemeniRial => "Yemeni rial",
Self::SouthAfricanRand => "South African rand",
Self::ZambianKwacha => "Zambian kwacha",
Self::ZimbabweanDollar => "Zimbabwean dollar",
Self::Other(string) => string,
} } }