{{ const dotUtils = require('./dotUtils.js'); const gameModes = require('./.gameModes.json'); }}{{= dotUtils.preamble() }} use strum_macros::{ EnumString, IntoStaticStr }; /// League of Legends game mode, such as Classic, /// ARAM, URF, One For All, Ascension, etc. #[non_exhaustive] #[derive(Debug, Clone)] #[derive(Eq, PartialEq, Hash)] #[derive(EnumString, IntoStaticStr)] #[repr(u8)] pub enum GameMode { /// Catch-all variant for new, unknown game modes. #[strum(default)] UNKNOWN(String), {{ for (const e of gameModes) { const desc = e['x-desc'] ? e['x-desc'].split('\n') : []; }} {{~ desc :line }} /// {{= line }} {{~}} {{= e['x-name'] }}, {{ } }} } serde_strum_unknown!(GameMode);