From 62e2001457544d07c02ad13da7eef5107e024b95 Mon Sep 17 00:00:00 2001 From: Mingwei Samuel Date: Wed, 30 Jun 2021 19:47:43 -0700 Subject: [PATCH] Convert Season from enum to newtype_enum --- src/consts/season.rs | 33 +++------------------------------ srcgen/consts/season.rs.dt | 28 +++------------------------- 2 files changed, 6 insertions(+), 55 deletions(-) diff --git a/src/consts/season.rs b/src/consts/season.rs index d31a0ce..11ace8d 100644 --- a/src/consts/season.rs +++ b/src/consts/season.rs @@ -6,11 +6,13 @@ // // /////////////////////////////////////////////// +use serde::{ Serialize, Deserialize }; + newtype_enum! { /// A League of Legends season for competitive matchmaking. #[derive(Serialize, Deserialize)] #[serde(transparent)] - pub newtype_enum Season { + pub newtype_enum Season(u8) { PRESEASON_3 = 0, SEASON_3 = 1, PRESEASON_2014 = 2, @@ -29,32 +31,3 @@ newtype_enum! { SEASON_2020 = 15, } } - -use serde_repr::{ Serialize_repr, Deserialize_repr }; -use num_enum::{ IntoPrimitive, TryFromPrimitive }; - -/// League of Legends matchmaking seasons. -#[non_exhaustive] -#[derive(Debug, Copy, Clone)] -#[derive(Eq, PartialEq, Hash, PartialOrd, Ord)] -#[derive(Serialize_repr, Deserialize_repr)] -#[derive(IntoPrimitive, TryFromPrimitive)] -#[repr(u8)] -pub enum Season2 { - PRESEASON_3 = 0, - SEASON_3 = 1, - PRESEASON_2014 = 2, - SEASON_2014 = 3, - PRESEASON_2015 = 4, - SEASON_2015 = 5, - PRESEASON_2016 = 6, - SEASON_2016 = 7, - PRESEASON_2017 = 8, - SEASON_2017 = 9, - PRESEASON_2018 = 10, - SEASON_2018 = 11, - PRESEASON_2019 = 12, - SEASON_2019 = 13, - PRESEASON_2020 = 14, - SEASON_2020 = 15, -} diff --git a/srcgen/consts/season.rs.dt b/srcgen/consts/season.rs.dt index 4f63c54..029b6c6 100644 --- a/srcgen/consts/season.rs.dt +++ b/srcgen/consts/season.rs.dt @@ -3,11 +3,13 @@ const seasons = require('./.seasons.json'); }}{{= dotUtils.preamble() }} +use serde::{ Serialize, Deserialize }; + newtype_enum! { /// A League of Legends season for competitive matchmaking. #[derive(Serialize, Deserialize)] #[serde(transparent)] - pub newtype_enum Season { + pub newtype_enum Season(u8) { {{ for (const e of seasons) { const desc = e['x-desc'] ? e['x-desc'].split('\n') : []; @@ -21,27 +23,3 @@ newtype_enum! { }} } } - -use serde_repr::{ Serialize_repr, Deserialize_repr }; -use num_enum::{ IntoPrimitive, TryFromPrimitive }; - -/// League of Legends matchmaking seasons. -#[non_exhaustive] -#[derive(Debug, Copy, Clone)] -#[derive(Eq, PartialEq, Hash, PartialOrd, Ord)] -#[derive(Serialize_repr, Deserialize_repr)] -#[derive(IntoPrimitive, TryFromPrimitive)] -#[repr(u8)] -pub enum Season2 { -{{ - for (const e of seasons) { - const desc = e['x-desc'] ? e['x-desc'].split('\n') : []; -}} -{{~ desc :line }} - /// {{= line }} -{{~}} - {{= e['x-name'] }} = {{= e['x-value'] }}, -{{ - } -}} -}