Convert Queue from enum to newtype_enum

pull/27/head
Mingwei Samuel 2021-06-30 19:44:24 -07:00
parent 2d80f97170
commit 35f826b198
2 changed files with 250 additions and 256 deletions

View File

@ -6,245 +6,242 @@
// // // //
/////////////////////////////////////////////// ///////////////////////////////////////////////
use serde_repr::{ Serialize_repr, Deserialize_repr }; use serde::{ Serialize, Deserialize };
use num_enum::{ IntoPrimitive, TryFromPrimitive };
/// League of Legends matchmaking queue. newtype_enum! {
#[non_exhaustive] /// A League of Legends matchmaking queue.
#[derive(Debug, Copy, Clone)] #[derive(Serialize, Deserialize)]
#[derive(Eq, PartialEq)] #[serde(transparent)]
#[derive(Serialize_repr, Deserialize_repr)] pub newtype_enum Queue(u16) {
#[derive(IntoPrimitive, TryFromPrimitive)] /// Games on Custom games
#[repr(u16)] CUSTOM = 0,
pub enum Queue { /// 5v5 Blind Pick games on Summoner's Rift
/// Games on Custom games /// Deprecated in patch 7.19 in favor of queueId 430
CUSTOM = 0, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 430")]
/// 5v5 Blind Pick games on Summoner's Rift SUMMONERS_RIFT_5V5_BLIND_PICK_DEPRECATED_2 = 2,
/// Deprecated in patch 7.19 in favor of queueId 430 /// 5v5 Ranked Solo games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 430")] /// Deprecated in favor of queueId 420
SUMMONERS_RIFT_5V5_BLIND_PICK_DEPRECATED_2 = 2, #[deprecated(note="Deprecated in favor of queueId 420")]
/// 5v5 Ranked Solo games on Summoner's Rift SUMMONERS_RIFT_5V5_RANKED_SOLO_DEPRECATED_4 = 4,
/// Deprecated in favor of queueId 420 /// 5v5 Ranked Premade games on Summoner's Rift
#[deprecated(note="Deprecated in favor of queueId 420")] /// Game mode deprecated
SUMMONERS_RIFT_5V5_RANKED_SOLO_DEPRECATED_4 = 4, #[deprecated(note="Game mode deprecated")]
/// 5v5 Ranked Premade games on Summoner's Rift SUMMONERS_RIFT_5V5_RANKED_PREMADE = 6,
/// Game mode deprecated /// Co-op vs AI games on Summoner's Rift
#[deprecated(note="Game mode deprecated")] /// Deprecated in favor of queueId 32 and 33
SUMMONERS_RIFT_5V5_RANKED_PREMADE = 6, #[deprecated(note="Deprecated in favor of queueId 32 and 33")]
/// Co-op vs AI games on Summoner's Rift SUMMONERS_RIFT_CO_OP_VS_AI = 7,
/// Deprecated in favor of queueId 32 and 33 /// 3v3 Normal games on Twisted Treeline
#[deprecated(note="Deprecated in favor of queueId 32 and 33")] /// Deprecated in patch 7.19 in favor of queueId 460
SUMMONERS_RIFT_CO_OP_VS_AI = 7, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 460")]
/// 3v3 Normal games on Twisted Treeline TWISTED_TREELINE_3V3_NORMAL = 8,
/// Deprecated in patch 7.19 in favor of queueId 460 /// 3v3 Ranked Flex games on Twisted Treeline
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 460")] /// Deprecated in patch 7.19 in favor of queueId 470
TWISTED_TREELINE_3V3_NORMAL = 8, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 470")]
/// 3v3 Ranked Flex games on Twisted Treeline TWISTED_TREELINE_3V3_RANKED_FLEX_DEPRECATED_9 = 9,
/// Deprecated in patch 7.19 in favor of queueId 470 /// 5v5 Draft Pick games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 470")] /// Deprecated in favor of queueId 400
TWISTED_TREELINE_3V3_RANKED_FLEX_DEPRECATED_9 = 9, #[deprecated(note="Deprecated in favor of queueId 400")]
/// 5v5 Draft Pick games on Summoner's Rift SUMMONERS_RIFT_5V5_DRAFT_PICK_DEPRECATED_14 = 14,
/// Deprecated in favor of queueId 400 /// 5v5 Dominion Blind Pick games on Crystal Scar
#[deprecated(note="Deprecated in favor of queueId 400")] /// Game mode deprecated
SUMMONERS_RIFT_5V5_DRAFT_PICK_DEPRECATED_14 = 14, #[deprecated(note="Game mode deprecated")]
/// 5v5 Dominion Blind Pick games on Crystal Scar CRYSTAL_SCAR_5V5_DOMINION_BLIND_PICK = 16,
/// Game mode deprecated /// 5v5 Dominion Draft Pick games on Crystal Scar
#[deprecated(note="Game mode deprecated")] /// Game mode deprecated
CRYSTAL_SCAR_5V5_DOMINION_BLIND_PICK = 16, #[deprecated(note="Game mode deprecated")]
/// 5v5 Dominion Draft Pick games on Crystal Scar CRYSTAL_SCAR_5V5_DOMINION_DRAFT_PICK = 17,
/// Game mode deprecated /// Dominion Co-op vs AI games on Crystal Scar
#[deprecated(note="Game mode deprecated")] /// Game mode deprecated
CRYSTAL_SCAR_5V5_DOMINION_DRAFT_PICK = 17, #[deprecated(note="Game mode deprecated")]
/// Dominion Co-op vs AI games on Crystal Scar CRYSTAL_SCAR_DOMINION_CO_OP_VS_AI = 25,
/// Game mode deprecated /// Co-op vs AI Intro Bot games on Summoner's Rift
#[deprecated(note="Game mode deprecated")] /// Deprecated in patch 7.19 in favor of queueId 830
CRYSTAL_SCAR_DOMINION_CO_OP_VS_AI = 25, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 830")]
/// Co-op vs AI Intro Bot games on Summoner's Rift SUMMONERS_RIFT_CO_OP_VS_AI_INTRO_BOT_DEPRECATED_31 = 31,
/// Deprecated in patch 7.19 in favor of queueId 830 /// Co-op vs AI Beginner Bot games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 830")] /// Deprecated in patch 7.19 in favor of queueId 840
SUMMONERS_RIFT_CO_OP_VS_AI_INTRO_BOT_DEPRECATED_31 = 31, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 840")]
/// Co-op vs AI Beginner Bot games on Summoner's Rift SUMMONERS_RIFT_CO_OP_VS_AI_BEGINNER_BOT_DEPRECATED_32 = 32,
/// Deprecated in patch 7.19 in favor of queueId 840 /// Co-op vs AI Intermediate Bot games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 840")] /// Deprecated in patch 7.19 in favor of queueId 850
SUMMONERS_RIFT_CO_OP_VS_AI_BEGINNER_BOT_DEPRECATED_32 = 32, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 850")]
/// Co-op vs AI Intermediate Bot games on Summoner's Rift SUMMONERS_RIFT_CO_OP_VS_AI_INTERMEDIATE_BOT_DEPRECATED_33 = 33,
/// Deprecated in patch 7.19 in favor of queueId 850 /// 3v3 Ranked Team games on Twisted Treeline
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 850")] /// Game mode deprecated
SUMMONERS_RIFT_CO_OP_VS_AI_INTERMEDIATE_BOT_DEPRECATED_33 = 33, #[deprecated(note="Game mode deprecated")]
/// 3v3 Ranked Team games on Twisted Treeline TWISTED_TREELINE_3V3_RANKED_TEAM = 41,
/// Game mode deprecated /// 5v5 Ranked Team games on Summoner's Rift
#[deprecated(note="Game mode deprecated")] /// Game mode deprecated
TWISTED_TREELINE_3V3_RANKED_TEAM = 41, #[deprecated(note="Game mode deprecated")]
/// 5v5 Ranked Team games on Summoner's Rift SUMMONERS_RIFT_5V5_RANKED_TEAM = 42,
/// Game mode deprecated /// Co-op vs AI games on Twisted Treeline
#[deprecated(note="Game mode deprecated")] /// Deprecated in patch 7.19 in favor of queueId 800
SUMMONERS_RIFT_5V5_RANKED_TEAM = 42, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 800")]
/// Co-op vs AI games on Twisted Treeline TWISTED_TREELINE_CO_OP_VS_AI = 52,
/// Deprecated in patch 7.19 in favor of queueId 800 /// 5v5 Team Builder games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 800")] /// Game mode deprecated
TWISTED_TREELINE_CO_OP_VS_AI = 52, #[deprecated(note="Game mode deprecated")]
/// 5v5 Team Builder games on Summoner's Rift SUMMONERS_RIFT_5V5_TEAM_BUILDER = 61,
/// Game mode deprecated /// 5v5 ARAM games on Howling Abyss
#[deprecated(note="Game mode deprecated")] /// Deprecated in patch 7.19 in favor of queueId 450
SUMMONERS_RIFT_5V5_TEAM_BUILDER = 61, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 450")]
/// 5v5 ARAM games on Howling Abyss HOWLING_ABYSS_5V5_ARAM_DEPRECATED_65 = 65,
/// Deprecated in patch 7.19 in favor of queueId 450 /// ARAM Co-op vs AI games on Howling Abyss
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 450")] /// Game mode deprecated
HOWLING_ABYSS_5V5_ARAM_DEPRECATED_65 = 65, #[deprecated(note="Game mode deprecated")]
/// ARAM Co-op vs AI games on Howling Abyss HOWLING_ABYSS_ARAM_CO_OP_VS_AI = 67,
/// Game mode deprecated /// One for All games on Summoner's Rift
#[deprecated(note="Game mode deprecated")] /// Deprecated in patch 8.6 in favor of queueId 1020
HOWLING_ABYSS_ARAM_CO_OP_VS_AI = 67, #[deprecated(note="Deprecated in patch 8.6 in favor of queueId 1020")]
/// One for All games on Summoner's Rift SUMMONERS_RIFT_ONE_FOR_ALL_DEPRECATED_70 = 70,
/// Deprecated in patch 8.6 in favor of queueId 1020 /// 1v1 Snowdown Showdown games on Howling Abyss
#[deprecated(note="Deprecated in patch 8.6 in favor of queueId 1020")] HOWLING_ABYSS_1V1_SNOWDOWN_SHOWDOWN = 72,
SUMMONERS_RIFT_ONE_FOR_ALL_DEPRECATED_70 = 70, /// 2v2 Snowdown Showdown games on Howling Abyss
/// 1v1 Snowdown Showdown games on Howling Abyss HOWLING_ABYSS_2V2_SNOWDOWN_SHOWDOWN = 73,
HOWLING_ABYSS_1V1_SNOWDOWN_SHOWDOWN = 72, /// 6v6 Hexakill games on Summoner's Rift
/// 2v2 Snowdown Showdown games on Howling Abyss SUMMONERS_RIFT_6V6_HEXAKILL = 75,
HOWLING_ABYSS_2V2_SNOWDOWN_SHOWDOWN = 73, /// Ultra Rapid Fire games on Summoner's Rift
/// 6v6 Hexakill games on Summoner's Rift SUMMONERS_RIFT_ULTRA_RAPID_FIRE = 76,
SUMMONERS_RIFT_6V6_HEXAKILL = 75, /// One For All: Mirror Mode games on Howling Abyss
/// Ultra Rapid Fire games on Summoner's Rift HOWLING_ABYSS_ONE_FOR_ALL_MIRROR_MODE = 78,
SUMMONERS_RIFT_ULTRA_RAPID_FIRE = 76, /// Co-op vs AI Ultra Rapid Fire games on Summoner's Rift
/// One For All: Mirror Mode games on Howling Abyss SUMMONERS_RIFT_CO_OP_VS_AI_ULTRA_RAPID_FIRE = 83,
HOWLING_ABYSS_ONE_FOR_ALL_MIRROR_MODE = 78, /// Doom Bots Rank 1 games on Summoner's Rift
/// Co-op vs AI Ultra Rapid Fire games on Summoner's Rift /// Deprecated in patch 7.19 in favor of queueId 950
SUMMONERS_RIFT_CO_OP_VS_AI_ULTRA_RAPID_FIRE = 83, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 950")]
/// Doom Bots Rank 1 games on Summoner's Rift SUMMONERS_RIFT_DOOM_BOTS_RANK_1 = 91,
/// Deprecated in patch 7.19 in favor of queueId 950 /// Doom Bots Rank 2 games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 950")] /// Deprecated in patch 7.19 in favor of queueId 950
SUMMONERS_RIFT_DOOM_BOTS_RANK_1 = 91, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 950")]
/// Doom Bots Rank 2 games on Summoner's Rift SUMMONERS_RIFT_DOOM_BOTS_RANK_2 = 92,
/// Deprecated in patch 7.19 in favor of queueId 950 /// Doom Bots Rank 5 games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 950")] /// Deprecated in patch 7.19 in favor of queueId 950
SUMMONERS_RIFT_DOOM_BOTS_RANK_2 = 92, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 950")]
/// Doom Bots Rank 5 games on Summoner's Rift SUMMONERS_RIFT_DOOM_BOTS_RANK_5 = 93,
/// Deprecated in patch 7.19 in favor of queueId 950 /// Ascension games on Crystal Scar
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 950")] /// Deprecated in patch 7.19 in favor of queueId 910
SUMMONERS_RIFT_DOOM_BOTS_RANK_5 = 93, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 910")]
/// Ascension games on Crystal Scar CRYSTAL_SCAR_ASCENSION_DEPRECATED_96 = 96,
/// Deprecated in patch 7.19 in favor of queueId 910 /// 6v6 Hexakill games on Twisted Treeline
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 910")] TWISTED_TREELINE_6V6_HEXAKILL = 98,
CRYSTAL_SCAR_ASCENSION_DEPRECATED_96 = 96, /// 5v5 ARAM games on Butcher's Bridge
/// 6v6 Hexakill games on Twisted Treeline BUTCHERS_BRIDGE_5V5_ARAM = 100,
TWISTED_TREELINE_6V6_HEXAKILL = 98, /// Legend of the Poro King games on Howling Abyss
/// 5v5 ARAM games on Butcher's Bridge /// Deprecated in patch 7.19 in favor of queueId 920
BUTCHERS_BRIDGE_5V5_ARAM = 100, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 920")]
/// Legend of the Poro King games on Howling Abyss HOWLING_ABYSS_LEGEND_OF_THE_PORO_KING_DEPRECATED_300 = 300,
/// Deprecated in patch 7.19 in favor of queueId 920 /// Nemesis games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 920")] SUMMONERS_RIFT_NEMESIS = 310,
HOWLING_ABYSS_LEGEND_OF_THE_PORO_KING_DEPRECATED_300 = 300, /// Black Market Brawlers games on Summoner's Rift
/// Nemesis games on Summoner's Rift SUMMONERS_RIFT_BLACK_MARKET_BRAWLERS = 313,
SUMMONERS_RIFT_NEMESIS = 310, /// Nexus Siege games on Summoner's Rift
/// Black Market Brawlers games on Summoner's Rift /// Deprecated in patch 7.19 in favor of queueId 940
SUMMONERS_RIFT_BLACK_MARKET_BRAWLERS = 313, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 940")]
/// Nexus Siege games on Summoner's Rift SUMMONERS_RIFT_NEXUS_SIEGE_DEPRECATED_315 = 315,
/// Deprecated in patch 7.19 in favor of queueId 940 /// Definitely Not Dominion games on Crystal Scar
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 940")] CRYSTAL_SCAR_DEFINITELY_NOT_DOMINION = 317,
SUMMONERS_RIFT_NEXUS_SIEGE_DEPRECATED_315 = 315, /// ARURF games on Summoner's Rift
/// Definitely Not Dominion games on Crystal Scar /// Deprecated in patch 7.19 in favor of queueId 900
CRYSTAL_SCAR_DEFINITELY_NOT_DOMINION = 317, #[deprecated(note="Deprecated in patch 7.19 in favor of queueId 900")]
/// ARURF games on Summoner's Rift SUMMONERS_RIFT_ARURF = 318,
/// Deprecated in patch 7.19 in favor of queueId 900 /// All Random games on Summoner's Rift
#[deprecated(note="Deprecated in patch 7.19 in favor of queueId 900")] SUMMONERS_RIFT_ALL_RANDOM = 325,
SUMMONERS_RIFT_ARURF = 318, /// 5v5 Draft Pick games on Summoner's Rift
/// All Random games on Summoner's Rift SUMMONERS_RIFT_5V5_DRAFT_PICK = 400,
SUMMONERS_RIFT_ALL_RANDOM = 325, /// 5v5 Ranked Dynamic games on Summoner's Rift
/// 5v5 Draft Pick games on Summoner's Rift /// Game mode deprecated in patch 6.22
SUMMONERS_RIFT_5V5_DRAFT_PICK = 400, #[deprecated(note="Game mode deprecated in patch 6.22")]
/// 5v5 Ranked Dynamic games on Summoner's Rift SUMMONERS_RIFT_5V5_RANKED_DYNAMIC = 410,
/// Game mode deprecated in patch 6.22 /// 5v5 Ranked Solo games on Summoner's Rift
#[deprecated(note="Game mode deprecated in patch 6.22")] SUMMONERS_RIFT_5V5_RANKED_SOLO = 420,
SUMMONERS_RIFT_5V5_RANKED_DYNAMIC = 410, /// 5v5 Blind Pick games on Summoner's Rift
/// 5v5 Ranked Solo games on Summoner's Rift SUMMONERS_RIFT_5V5_BLIND_PICK = 430,
SUMMONERS_RIFT_5V5_RANKED_SOLO = 420, /// 5v5 Ranked Flex games on Summoner's Rift
/// 5v5 Blind Pick games on Summoner's Rift SUMMONERS_RIFT_5V5_RANKED_FLEX = 440,
SUMMONERS_RIFT_5V5_BLIND_PICK = 430, /// 5v5 ARAM games on Howling Abyss
/// 5v5 Ranked Flex games on Summoner's Rift HOWLING_ABYSS_5V5_ARAM = 450,
SUMMONERS_RIFT_5V5_RANKED_FLEX = 440, /// 3v3 Blind Pick games on Twisted Treeline
/// 5v5 ARAM games on Howling Abyss /// Deprecated in patch 9.23
HOWLING_ABYSS_5V5_ARAM = 450, #[deprecated(note="Deprecated in patch 9.23")]
/// 3v3 Blind Pick games on Twisted Treeline TWISTED_TREELINE_3V3_BLIND_PICK = 460,
/// Deprecated in patch 9.23 /// 3v3 Ranked Flex games on Twisted Treeline
#[deprecated(note="Deprecated in patch 9.23")] /// Deprecated in patch 9.23
TWISTED_TREELINE_3V3_BLIND_PICK = 460, #[deprecated(note="Deprecated in patch 9.23")]
/// 3v3 Ranked Flex games on Twisted Treeline TWISTED_TREELINE_3V3_RANKED_FLEX_DEPRECATED_470 = 470,
/// Deprecated in patch 9.23 /// Blood Hunt Assassin games on Summoner's Rift
#[deprecated(note="Deprecated in patch 9.23")] SUMMONERS_RIFT_BLOOD_HUNT_ASSASSIN = 600,
TWISTED_TREELINE_3V3_RANKED_FLEX_DEPRECATED_470 = 470, /// Dark Star: Singularity games on Cosmic Ruins
/// Blood Hunt Assassin games on Summoner's Rift COSMIC_RUINS_DARK_STAR_SINGULARITY = 610,
SUMMONERS_RIFT_BLOOD_HUNT_ASSASSIN = 600, /// Clash games on Summoner's Rift
/// Dark Star: Singularity games on Cosmic Ruins SUMMONERS_RIFT_CLASH = 700,
COSMIC_RUINS_DARK_STAR_SINGULARITY = 610, /// Co-op vs. AI Intermediate Bot games on Twisted Treeline
/// Clash games on Summoner's Rift /// Deprecated in patch 9.23
SUMMONERS_RIFT_CLASH = 700, #[deprecated(note="Deprecated in patch 9.23")]
/// Co-op vs. AI Intermediate Bot games on Twisted Treeline TWISTED_TREELINE_CO_OP_VS_AI_INTERMEDIATE_BOT = 800,
/// Deprecated in patch 9.23 /// Co-op vs. AI Intro Bot games on Twisted Treeline
#[deprecated(note="Deprecated in patch 9.23")] /// Deprecated in patch 9.23
TWISTED_TREELINE_CO_OP_VS_AI_INTERMEDIATE_BOT = 800, #[deprecated(note="Deprecated in patch 9.23")]
/// Co-op vs. AI Intro Bot games on Twisted Treeline TWISTED_TREELINE_CO_OP_VS_AI_INTRO_BOT = 810,
/// Deprecated in patch 9.23 /// Co-op vs. AI Beginner Bot games on Twisted Treeline
#[deprecated(note="Deprecated in patch 9.23")] TWISTED_TREELINE_CO_OP_VS_AI_BEGINNER_BOT = 820,
TWISTED_TREELINE_CO_OP_VS_AI_INTRO_BOT = 810, /// Co-op vs. AI Intro Bot games on Summoner's Rift
/// Co-op vs. AI Beginner Bot games on Twisted Treeline SUMMONERS_RIFT_CO_OP_VS_AI_INTRO_BOT = 830,
TWISTED_TREELINE_CO_OP_VS_AI_BEGINNER_BOT = 820, /// Co-op vs. AI Beginner Bot games on Summoner's Rift
/// Co-op vs. AI Intro Bot games on Summoner's Rift SUMMONERS_RIFT_CO_OP_VS_AI_BEGINNER_BOT = 840,
SUMMONERS_RIFT_CO_OP_VS_AI_INTRO_BOT = 830, /// Co-op vs. AI Intermediate Bot games on Summoner's Rift
/// Co-op vs. AI Beginner Bot games on Summoner's Rift SUMMONERS_RIFT_CO_OP_VS_AI_INTERMEDIATE_BOT = 850,
SUMMONERS_RIFT_CO_OP_VS_AI_BEGINNER_BOT = 840, /// URF games on Summoner's Rift
/// Co-op vs. AI Intermediate Bot games on Summoner's Rift SUMMONERS_RIFT_URF = 900,
SUMMONERS_RIFT_CO_OP_VS_AI_INTERMEDIATE_BOT = 850, /// Ascension games on Crystal Scar
/// URF games on Summoner's Rift CRYSTAL_SCAR_ASCENSION = 910,
SUMMONERS_RIFT_URF = 900, /// Legend of the Poro King games on Howling Abyss
/// Ascension games on Crystal Scar HOWLING_ABYSS_LEGEND_OF_THE_PORO_KING = 920,
CRYSTAL_SCAR_ASCENSION = 910, /// Nexus Siege games on Summoner's Rift
/// Legend of the Poro King games on Howling Abyss SUMMONERS_RIFT_NEXUS_SIEGE = 940,
HOWLING_ABYSS_LEGEND_OF_THE_PORO_KING = 920, /// Doom Bots Voting games on Summoner's Rift
/// Nexus Siege games on Summoner's Rift SUMMONERS_RIFT_DOOM_BOTS_VOTING = 950,
SUMMONERS_RIFT_NEXUS_SIEGE = 940, /// Doom Bots Standard games on Summoner's Rift
/// Doom Bots Voting games on Summoner's Rift SUMMONERS_RIFT_DOOM_BOTS_STANDARD = 960,
SUMMONERS_RIFT_DOOM_BOTS_VOTING = 950, /// Star Guardian Invasion: Normal games on Valoran City Park
/// Doom Bots Standard games on Summoner's Rift VALORAN_CITY_PARK_STAR_GUARDIAN_INVASION_NORMAL = 980,
SUMMONERS_RIFT_DOOM_BOTS_STANDARD = 960, /// Star Guardian Invasion: Onslaught games on Valoran City Park
/// Star Guardian Invasion: Normal games on Valoran City Park VALORAN_CITY_PARK_STAR_GUARDIAN_INVASION_ONSLAUGHT = 990,
VALORAN_CITY_PARK_STAR_GUARDIAN_INVASION_NORMAL = 980, /// PROJECT: Hunters games on Overcharge
/// Star Guardian Invasion: Onslaught games on Valoran City Park OVERCHARGE_PROJECT_HUNTERS = 1000,
VALORAN_CITY_PARK_STAR_GUARDIAN_INVASION_ONSLAUGHT = 990, /// Snow ARURF games on Summoner's Rift
/// PROJECT: Hunters games on Overcharge SUMMONERS_RIFT_SNOW_ARURF = 1010,
OVERCHARGE_PROJECT_HUNTERS = 1000, /// One for All games on Summoner's Rift
/// Snow ARURF games on Summoner's Rift SUMMONERS_RIFT_ONE_FOR_ALL = 1020,
SUMMONERS_RIFT_SNOW_ARURF = 1010, /// Odyssey Extraction: Intro games on Crash Site
/// One for All games on Summoner's Rift CRASH_SITE_ODYSSEY_EXTRACTION_INTRO = 1030,
SUMMONERS_RIFT_ONE_FOR_ALL = 1020, /// Odyssey Extraction: Cadet games on Crash Site
/// Odyssey Extraction: Intro games on Crash Site CRASH_SITE_ODYSSEY_EXTRACTION_CADET = 1040,
CRASH_SITE_ODYSSEY_EXTRACTION_INTRO = 1030, /// Odyssey Extraction: Crewmember games on Crash Site
/// Odyssey Extraction: Cadet games on Crash Site CRASH_SITE_ODYSSEY_EXTRACTION_CREWMEMBER = 1050,
CRASH_SITE_ODYSSEY_EXTRACTION_CADET = 1040, /// Odyssey Extraction: Captain games on Crash Site
/// Odyssey Extraction: Crewmember games on Crash Site CRASH_SITE_ODYSSEY_EXTRACTION_CAPTAIN = 1060,
CRASH_SITE_ODYSSEY_EXTRACTION_CREWMEMBER = 1050, /// Odyssey Extraction: Onslaught games on Crash Site
/// Odyssey Extraction: Captain games on Crash Site CRASH_SITE_ODYSSEY_EXTRACTION_ONSLAUGHT = 1070,
CRASH_SITE_ODYSSEY_EXTRACTION_CAPTAIN = 1060, /// Teamfight Tactics games on Convergence
/// Odyssey Extraction: Onslaught games on Crash Site CONVERGENCE_TEAMFIGHT_TACTICS = 1090,
CRASH_SITE_ODYSSEY_EXTRACTION_ONSLAUGHT = 1070, /// Ranked Teamfight Tactics games on Convergence
/// Teamfight Tactics games on Convergence CONVERGENCE_RANKED_TEAMFIGHT_TACTICS = 1100,
CONVERGENCE_TEAMFIGHT_TACTICS = 1090, /// Teamfight Tactics Tutorial games on Convergence
/// Ranked Teamfight Tactics games on Convergence CONVERGENCE_TEAMFIGHT_TACTICS_TUTORIAL = 1110,
CONVERGENCE_RANKED_TEAMFIGHT_TACTICS = 1100, /// Teamfight Tactics 1v0 testing games on Convergence
/// Teamfight Tactics Tutorial games on Convergence CONVERGENCE_TEAMFIGHT_TACTICS_1V0_TESTING = 1111,
CONVERGENCE_TEAMFIGHT_TACTICS_TUTORIAL = 1110, /// Nexus Blitz games on Nexus Blitz
/// Teamfight Tactics 1v0 testing games on Convergence /// Deprecated in patch 9.2 in favor of queueId 1300
CONVERGENCE_TEAMFIGHT_TACTICS_1V0_TESTING = 1111, #[deprecated(note="Deprecated in patch 9.2 in favor of queueId 1300")]
/// Nexus Blitz games on Nexus Blitz NEXUS_BLITZ_NEXUS_BLITZ_DEPRECATED_1200 = 1200,
/// Deprecated in patch 9.2 in favor of queueId 1300 /// Nexus Blitz games on Nexus Blitz
#[deprecated(note="Deprecated in patch 9.2 in favor of queueId 1300")] NEXUS_BLITZ_NEXUS_BLITZ = 1300,
NEXUS_BLITZ_NEXUS_BLITZ_DEPRECATED_1200 = 1200, /// Tutorial 1 games on Summoner's Rift
/// Nexus Blitz games on Nexus Blitz SUMMONERS_RIFT_TUTORIAL_1 = 2000,
NEXUS_BLITZ_NEXUS_BLITZ = 1300, /// Tutorial 2 games on Summoner's Rift
/// Tutorial 1 games on Summoner's Rift SUMMONERS_RIFT_TUTORIAL_2 = 2010,
SUMMONERS_RIFT_TUTORIAL_1 = 2000, /// Tutorial 3 games on Summoner's Rift
/// Tutorial 2 games on Summoner's Rift SUMMONERS_RIFT_TUTORIAL_3 = 2020,
SUMMONERS_RIFT_TUTORIAL_2 = 2010, }
/// Tutorial 3 games on Summoner's Rift }
SUMMONERS_RIFT_TUTORIAL_3 = 2020,
}

View File

@ -3,30 +3,27 @@
const queues = require('./.queues.json'); const queues = require('./.queues.json');
}}{{= dotUtils.preamble() }} }}{{= dotUtils.preamble() }}
use serde_repr::{ Serialize_repr, Deserialize_repr }; use serde::{ Serialize, Deserialize };
use num_enum::{ IntoPrimitive, TryFromPrimitive };
/// League of Legends matchmaking queue. newtype_enum! {
#[non_exhaustive] /// A League of Legends matchmaking queue.
#[derive(Debug, Copy, Clone)] #[derive(Serialize, Deserialize)]
#[derive(Eq, PartialEq)] #[serde(transparent)]
#[derive(Serialize_repr, Deserialize_repr)] pub newtype_enum Queue(u16) {
#[derive(IntoPrimitive, TryFromPrimitive)]
#[repr(u16)]
pub enum Queue {
{{ {{
for (const e of queues) { for (const e of queues) {
const desc = e['x-desc'] ? e['x-desc'].split('\n') : []; const desc = e['x-desc'] ? e['x-desc'].split('\n') : [];
}} }}
{{~ desc :line }} {{~ desc :line }}
/// {{= line }} /// {{= line }}
{{~}} {{~}}
{{? e['x-deprecated'] }} {{? e['x-deprecated'] }}
/// {{= e.notes }} /// {{= e.notes }}
#[deprecated(note="{{= e.notes }}")] #[deprecated(note="{{= e.notes }}")]
{{?}} {{?}}
{{= e['x-name'] }} = {{= e['x-value'] }}, {{= e['x-name'] }} = {{= e['x-value'] }},
{{ {{
} }
}} }}
} }
}