{{ const dotUtils = require('./dotUtils.js'); const maps = require('./.maps.json'); const groupedMaps = maps.groupBy(({ mapName }) => dotUtils.changeCase.pascalCase(mapName.replace(/[ ']+/, ''))); }}{{= dotUtils.preamble() }} use serde_repr::{ Serialize_repr, Deserialize_repr }; /// League of Legends maps. #[derive(Debug, Copy, Clone)] #[derive(Eq, PartialEq, Hash, PartialOrd, Ord)] #[derive(Serialize_repr, Deserialize_repr)] #[repr(u8)] pub enum Map { {{ for (const [ groupName, colMaps ] of groupedMaps) { }} {{ for (const [ i, { mapId, mapName, notes } ] of colMaps.entries()) { let name = groupName; if (i != colMaps.length - 1) name += dotUtils.changeCase.pascalCase(notes); }} /// {{= mapName }} ///
{{= notes }} {{= name }} = {{= mapId }}, {{ } } }} }