/////////////////////////////////////////////// // // // ! // // This file is automatically generated! // // Do not directly edit! // // // /////////////////////////////////////////////// use num_enum::{ IntoPrimitive, TryFromPrimitive }; use strum_macros::{ EnumString, EnumIter, Display, IntoStaticStr }; /// Regional routes, used in tournament services, Legends of Runterra, and other endpoints. #[derive(Debug)] #[derive(PartialEq, Eq, Hash, PartialOrd, Ord)] #[derive(IntoPrimitive, TryFromPrimitive)] #[derive(EnumString, EnumIter, Display, IntoStaticStr)] #[derive(Clone, Copy)] #[repr(u8)] #[non_exhaustive] pub enum RegionalRoute { /// North and South America. /// /// `1` (riotapi-schema ID/repr) AMERICAS = 1, /// Asia, used for LoL matches (`match-v5`) and TFT matches (`tft-match-v1`). /// /// `2` (riotapi-schema ID/repr) ASIA = 2, /// Europe. /// /// `3` (riotapi-schema ID/repr) EUROPE = 3, /// South East Asia, used for LoR, LoL matches (`match-v5`), and TFT matches (`tft-match-v1`). /// /// `4` (riotapi-schema ID/repr) SEA = 4, /// Asia-Pacific, deprecated, for some old matches in `lor-match-v1`. /// /// `10` (riotapi-schema ID/repr) #[deprecated] APAC = 10, /// Special esports platform for `account-v1`. Do not confuse with the `esports` Valorant platform route. /// /// `11` (riotapi-schema ID/repr) ESPORTS = 11, } /// Platform routes for League of Legends (LoL), Teamfight Tactics (TFT), and Legends of Runeterra (LoR). #[derive(Debug)] #[derive(PartialEq, Eq, Hash, PartialOrd, Ord)] #[derive(IntoPrimitive, TryFromPrimitive)] #[derive(EnumString, EnumIter, Display, IntoStaticStr)] #[derive(Clone, Copy)] #[repr(u8)] #[non_exhaustive] // Note: strum(serialize = ...) actually specifies extra DEserialization values. pub enum PlatformRoute { /// Brazil. /// /// `16` (riotapi-schema ID/repr) #[strum(to_string="BR1", serialize="BR")] BR1 = 16, /// Europe, Northeast. /// /// `17` (riotapi-schema ID/repr) #[strum(to_string="EUN1", serialize="EUNE")] EUN1 = 17, /// Europe, West. /// /// `18` (riotapi-schema ID/repr) #[strum(to_string="EUW1", serialize="EUW")] EUW1 = 18, /// Japan. /// /// `19` (riotapi-schema ID/repr) #[strum(to_string="JP1", serialize="JP")] JP1 = 19, /// Korea. /// /// `20` (riotapi-schema ID/repr) KR = 20, /// Latin America, North. /// /// `21` (riotapi-schema ID/repr) #[strum(to_string="LA1", serialize="LAN")] LA1 = 21, /// Latin America, South. /// /// `22` (riotapi-schema ID/repr) #[strum(to_string="LA2", serialize="LAS")] LA2 = 22, /// North America. /// /// `23` (riotapi-schema ID/repr) #[strum(to_string="NA1", serialize="NA")] NA1 = 23, /// Oceana. /// /// `24` (riotapi-schema ID/repr) #[strum(to_string="OC1", serialize="OCE")] OC1 = 24, /// Philippines /// /// `32` (riotapi-schema ID/repr) PH2 = 32, /// Russia /// /// `25` (riotapi-schema ID/repr) RU = 25, /// Singapore /// /// `33` (riotapi-schema ID/repr) SG2 = 33, /// Thailand /// /// `34` (riotapi-schema ID/repr) TH2 = 34, /// Turkey /// /// `26` (riotapi-schema ID/repr) #[strum(to_string="TR1", serialize="TR")] TR1 = 26, /// Taiwan /// /// `35` (riotapi-schema ID/repr) TW2 = 35, /// Vietnam /// /// `36` (riotapi-schema ID/repr) VN2 = 36, /// Public Beta Environment, special beta testing platform. Located in North America. /// /// `31` (riotapi-schema ID/repr) #[strum(to_string="PBE1", serialize="PBE")] PBE1 = 31, } impl PlatformRoute { /// Converts this [`PlatformRoute`] into its corresponding /// [`RegionalRoute`] for LoL and TFT match endpoints. /// For example, [`match-v5`](crate::endpoints::MatchV5). pub fn to_regional(self) -> RegionalRoute { match self { Self::BR1 => RegionalRoute::AMERICAS, Self::EUN1 => RegionalRoute::EUROPE, Self::EUW1 => RegionalRoute::EUROPE, Self::JP1 => RegionalRoute::ASIA, Self::KR => RegionalRoute::ASIA, Self::LA1 => RegionalRoute::AMERICAS, Self::LA2 => RegionalRoute::AMERICAS, Self::NA1 => RegionalRoute::AMERICAS, Self::OC1 => RegionalRoute::SEA, Self::PH2 => RegionalRoute::SEA, Self::RU => RegionalRoute::EUROPE, Self::SG2 => RegionalRoute::SEA, Self::TH2 => RegionalRoute::SEA, Self::TR1 => RegionalRoute::EUROPE, Self::TW2 => RegionalRoute::SEA, Self::VN2 => RegionalRoute::SEA, Self::PBE1 => RegionalRoute::AMERICAS, } } /// Converts this [`PlatformRoute`] into its corresponding /// [`RegionalRoute`] for LoR endpoints. /// For example, [`lor-match-v1`](crate::endpoints::LorMatchV1). pub fn to_regional_lor(self) -> RegionalRoute { match self { Self::BR1 => RegionalRoute::AMERICAS, Self::EUN1 => RegionalRoute::EUROPE, Self::EUW1 => RegionalRoute::EUROPE, Self::JP1 => RegionalRoute::ASIA, Self::KR => RegionalRoute::ASIA, Self::LA1 => RegionalRoute::AMERICAS, Self::LA2 => RegionalRoute::AMERICAS, Self::NA1 => RegionalRoute::AMERICAS, Self::OC1 => RegionalRoute::SEA, Self::PH2 => RegionalRoute::SEA, Self::RU => RegionalRoute::SEA, Self::SG2 => RegionalRoute::SEA, Self::TH2 => RegionalRoute::SEA, Self::TR1 => RegionalRoute::SEA, Self::TW2 => RegionalRoute::SEA, Self::VN2 => RegionalRoute::SEA, Self::PBE1 => RegionalRoute::AMERICAS, } } /// Used in LoL Tournament API. pub fn as_region_str(self) -> &'static str { match self { Self::BR1 => "BR", Self::EUN1 => "EUNE", Self::EUW1 => "EUW", Self::JP1 => "JP", Self::LA1 => "LAN", Self::LA2 => "LAS", Self::NA1 => "NA", Self::OC1 => "OCE", Self::TR1 => "TR", Self::PBE1 => "PBE", other => other.into() } } } /// Platform routes for Valorant. #[derive(Debug)] #[derive(PartialEq, Eq, Hash, PartialOrd, Ord)] #[derive(IntoPrimitive, TryFromPrimitive)] #[derive(EnumString, EnumIter, Display, IntoStaticStr)] #[derive(Clone, Copy)] #[repr(u8)] #[non_exhaustive] pub enum ValPlatformRoute { /// Asia-Pacific. /// /// `64` (riotapi-schema ID/repr) AP = 64, /// Brazil. /// /// `65` (riotapi-schema ID/repr) BR = 65, /// Europe. /// /// `66` (riotapi-schema ID/repr) EU = 66, /// Korea. /// /// `70` (riotapi-schema ID/repr) KR = 70, /// Latin America. /// /// `68` (riotapi-schema ID/repr) LATAM = 68, /// North America. /// /// `69` (riotapi-schema ID/repr) NA = 69, /// Special esports platform. /// /// `95` (riotapi-schema ID/repr) ESPORTS = 95, }