UNPKG

tips-twisted

Version:
235 lines (234 loc) 11.2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getChampionNameCapital = exports.getChampionName = exports.Champions = void 0; const lodash_1 = require("lodash"); const axios_1 = __importDefault(require("axios")); const lodash_2 = __importDefault(require("lodash")); /** * Champions - Used as fallback */ var Champions; (function (Champions) { Champions[Champions["EMPTY_CHAMPION"] = 0] = "EMPTY_CHAMPION"; Champions[Champions["ANNIE"] = 1] = "ANNIE"; Champions[Champions["OLAF"] = 2] = "OLAF"; Champions[Champions["GALIO"] = 3] = "GALIO"; Champions[Champions["TWISTED_FATE"] = 4] = "TWISTED_FATE"; Champions[Champions["XIN_ZHAO"] = 5] = "XIN_ZHAO"; Champions[Champions["URGOT"] = 6] = "URGOT"; Champions[Champions["LEBLANC"] = 7] = "LEBLANC"; Champions[Champions["VLADIMIR"] = 8] = "VLADIMIR"; Champions[Champions["FIDDLESTICKS"] = 9] = "FIDDLESTICKS"; Champions[Champions["KAYLE"] = 10] = "KAYLE"; Champions[Champions["MASTER_YI"] = 11] = "MASTER_YI"; Champions[Champions["ALISTAR"] = 12] = "ALISTAR"; Champions[Champions["RYZE"] = 13] = "RYZE"; Champions[Champions["SION"] = 14] = "SION"; Champions[Champions["SIVIR"] = 15] = "SIVIR"; Champions[Champions["SORAKA"] = 16] = "SORAKA"; Champions[Champions["TEEMO"] = 17] = "TEEMO"; Champions[Champions["TRISTANA"] = 18] = "TRISTANA"; Champions[Champions["WARWICK"] = 19] = "WARWICK"; Champions[Champions["NUNU"] = 20] = "NUNU"; Champions[Champions["MISS_FORTUNE"] = 21] = "MISS_FORTUNE"; Champions[Champions["ASHE"] = 22] = "ASHE"; Champions[Champions["TRYNDAMERE"] = 23] = "TRYNDAMERE"; Champions[Champions["JAX"] = 24] = "JAX"; Champions[Champions["MORGANA"] = 25] = "MORGANA"; Champions[Champions["ZILEAN"] = 26] = "ZILEAN"; Champions[Champions["SINGED"] = 27] = "SINGED"; Champions[Champions["EVELYNN"] = 28] = "EVELYNN"; Champions[Champions["TWITCH"] = 29] = "TWITCH"; Champions[Champions["KARTHUS"] = 30] = "KARTHUS"; Champions[Champions["CHOGATH"] = 31] = "CHOGATH"; Champions[Champions["AMUMU"] = 32] = "AMUMU"; Champions[Champions["RAMMUS"] = 33] = "RAMMUS"; Champions[Champions["ANIVIA"] = 34] = "ANIVIA"; Champions[Champions["SHACO"] = 35] = "SHACO"; Champions[Champions["DR_MUNDO"] = 36] = "DR_MUNDO"; Champions[Champions["SONA"] = 37] = "SONA"; Champions[Champions["KASSADIN"] = 38] = "KASSADIN"; Champions[Champions["IRELIA"] = 39] = "IRELIA"; Champions[Champions["JANNA"] = 40] = "JANNA"; Champions[Champions["GANGPLANK"] = 41] = "GANGPLANK"; Champions[Champions["CORKI"] = 42] = "CORKI"; Champions[Champions["KARMA"] = 43] = "KARMA"; Champions[Champions["TARIC"] = 44] = "TARIC"; Champions[Champions["VEIGAR"] = 45] = "VEIGAR"; Champions[Champions["TRUNDLE"] = 48] = "TRUNDLE"; Champions[Champions["SWAIN"] = 50] = "SWAIN"; Champions[Champions["CAITLYN"] = 51] = "CAITLYN"; Champions[Champions["BLITZCRANK"] = 53] = "BLITZCRANK"; Champions[Champions["MALPHITE"] = 54] = "MALPHITE"; Champions[Champions["KATARINA"] = 55] = "KATARINA"; Champions[Champions["NOCTURNE"] = 56] = "NOCTURNE"; Champions[Champions["MAOKAI"] = 57] = "MAOKAI"; Champions[Champions["RENEKTON"] = 58] = "RENEKTON"; Champions[Champions["JARVAN_IV"] = 59] = "JARVAN_IV"; Champions[Champions["ELISE"] = 60] = "ELISE"; Champions[Champions["ORIANNA"] = 61] = "ORIANNA"; Champions[Champions["MONKEY_KING"] = 62] = "MONKEY_KING"; Champions[Champions["BRAND"] = 63] = "BRAND"; Champions[Champions["LEE_SIN"] = 64] = "LEE_SIN"; Champions[Champions["VAYNE"] = 67] = "VAYNE"; Champions[Champions["RUMBLE"] = 68] = "RUMBLE"; Champions[Champions["CASSIOPEIA"] = 69] = "CASSIOPEIA"; Champions[Champions["SKARNER"] = 72] = "SKARNER"; Champions[Champions["HEIMERDINGER"] = 74] = "HEIMERDINGER"; Champions[Champions["NASUS"] = 75] = "NASUS"; Champions[Champions["NIDALEE"] = 76] = "NIDALEE"; Champions[Champions["UDYR"] = 77] = "UDYR"; Champions[Champions["POPPY"] = 78] = "POPPY"; Champions[Champions["GRAGAS"] = 79] = "GRAGAS"; Champions[Champions["PANTHEON"] = 80] = "PANTHEON"; Champions[Champions["EZREAL"] = 81] = "EZREAL"; Champions[Champions["MORDEKAISER"] = 82] = "MORDEKAISER"; Champions[Champions["YORICK"] = 83] = "YORICK"; Champions[Champions["AKALI"] = 84] = "AKALI"; Champions[Champions["KENNEN"] = 85] = "KENNEN"; Champions[Champions["GAREN"] = 86] = "GAREN"; Champions[Champions["LEONA"] = 89] = "LEONA"; Champions[Champions["MALZAHAR"] = 90] = "MALZAHAR"; Champions[Champions["TALON"] = 91] = "TALON"; Champions[Champions["RIVEN"] = 92] = "RIVEN"; Champions[Champions["KOG_MAW"] = 96] = "KOG_MAW"; Champions[Champions["SHEN"] = 98] = "SHEN"; Champions[Champions["LUX"] = 99] = "LUX"; Champions[Champions["XERATH"] = 101] = "XERATH"; Champions[Champions["SHYVANA"] = 102] = "SHYVANA"; Champions[Champions["AHRI"] = 103] = "AHRI"; Champions[Champions["GRAVES"] = 104] = "GRAVES"; Champions[Champions["FIZZ"] = 105] = "FIZZ"; Champions[Champions["VOLIBEAR"] = 106] = "VOLIBEAR"; Champions[Champions["RENGAR"] = 107] = "RENGAR"; Champions[Champions["VARUS"] = 110] = "VARUS"; Champions[Champions["NAUTILUS"] = 111] = "NAUTILUS"; Champions[Champions["VIKTOR"] = 112] = "VIKTOR"; Champions[Champions["SEJUANI"] = 113] = "SEJUANI"; Champions[Champions["FIORA"] = 114] = "FIORA"; Champions[Champions["ZIGGS"] = 115] = "ZIGGS"; Champions[Champions["LULU"] = 117] = "LULU"; Champions[Champions["DRAVEN"] = 119] = "DRAVEN"; Champions[Champions["HECARIM"] = 120] = "HECARIM"; Champions[Champions["KHAZIX"] = 121] = "KHAZIX"; Champions[Champions["DARIUS"] = 122] = "DARIUS"; Champions[Champions["JAYCE"] = 126] = "JAYCE"; Champions[Champions["LISSANDRA"] = 127] = "LISSANDRA"; Champions[Champions["DIANA"] = 131] = "DIANA"; Champions[Champions["QUINN"] = 133] = "QUINN"; Champions[Champions["SYNDRA"] = 134] = "SYNDRA"; Champions[Champions["AURELION_SOL"] = 136] = "AURELION_SOL"; Champions[Champions["KAYN"] = 141] = "KAYN"; Champions[Champions["ZOE"] = 142] = "ZOE"; Champions[Champions["ZYRA"] = 143] = "ZYRA"; Champions[Champions["KAISA"] = 145] = "KAISA"; Champions[Champions["GNAR"] = 150] = "GNAR"; Champions[Champions["ZAC"] = 154] = "ZAC"; Champions[Champions["YASUO"] = 157] = "YASUO"; Champions[Champions["VELKOZ"] = 161] = "VELKOZ"; Champions[Champions["TALIYAH"] = 163] = "TALIYAH"; Champions[Champions["CAMILLE"] = 164] = "CAMILLE"; Champions[Champions["BRAUM"] = 201] = "BRAUM"; Champions[Champions["JHIN"] = 202] = "JHIN"; Champions[Champions["KINDRED"] = 203] = "KINDRED"; Champions[Champions["JINX"] = 222] = "JINX"; Champions[Champions["TAHM_KENCH"] = 223] = "TAHM_KENCH"; Champions[Champions["LUCIAN"] = 236] = "LUCIAN"; Champions[Champions["ZED"] = 238] = "ZED"; Champions[Champions["KLED"] = 240] = "KLED"; Champions[Champions["EKKO"] = 245] = "EKKO"; Champions[Champions["QIYANA"] = 246] = "QIYANA"; Champions[Champions["VI"] = 254] = "VI"; Champions[Champions["AATROX"] = 266] = "AATROX"; Champions[Champions["NAMI"] = 267] = "NAMI"; Champions[Champions["AZIR"] = 268] = "AZIR"; Champions[Champions["YUUMI"] = 350] = "YUUMI"; Champions[Champions["THRESH"] = 412] = "THRESH"; Champions[Champions["ILLAOI"] = 420] = "ILLAOI"; Champions[Champions["REKSAI"] = 421] = "REKSAI"; Champions[Champions["IVERN"] = 427] = "IVERN"; Champions[Champions["KALISTA"] = 429] = "KALISTA"; Champions[Champions["BARD"] = 432] = "BARD"; Champions[Champions["RAKAN"] = 497] = "RAKAN"; Champions[Champions["XAYAH"] = 498] = "XAYAH"; Champions[Champions["ORNN"] = 516] = "ORNN"; Champions[Champions["SYLAS"] = 517] = "SYLAS"; Champions[Champions["NEEKO"] = 518] = "NEEKO"; Champions[Champions["APHELIOS"] = 523] = "APHELIOS"; Champions[Champions["PYKE"] = 555] = "PYKE"; Champions[Champions["SENNA"] = 235] = "SENNA"; Champions[Champions["SETT"] = 875] = "SETT"; Champions[Champions["LILLIA"] = 876] = "LILLIA"; Champions[Champions["YONE"] = 777] = "YONE"; Champions[Champions["SAMIRA"] = 360] = "SAMIRA"; Champions[Champions["SERAPHINE"] = 147] = "SERAPHINE"; Champions[Champions["RELL"] = 526] = "RELL"; Champions[Champions["VIEGO"] = 234] = "VIEGO"; Champions[Champions["GWEN"] = 887] = "GWEN"; Champions[Champions["AKSHAN"] = 166] = "AKSHAN"; Champions[Champions["VEX"] = 711] = "VEX"; Champions[Champions["ZERI"] = 221] = "ZERI"; Champions[Champions["RENATA_GLASC"] = 888] = "RENATA_GLASC"; Champions[Champions["BELVETH"] = 200] = "BELVETH"; Champions[Champions["NILAH"] = 895] = "NILAH"; Champions[Champions["KSANTE"] = 897] = "KSANTE"; Champions[Champions["MILIO"] = 902] = "MILIO"; Champions[Champions["HWEI"] = 910] = "HWEI"; })(Champions || (exports.Champions = Champions = {})); const championIdMap = (0, lodash_1.invert)(Champions); /** * Fetching champion IDs from CommunityDragon's PBE content. See https://www.communitydragon.org/ */ if (process.env.UPDATE_CHAMPION_IDS) { const updateChampionIDs = () => { const CD_CHAMPIONS = 'https://raw.communitydragon.org/pbe/plugins/rcp-be-lol-game-data/global/default/v1/champion-summary.json'; try { void (0, axios_1.default)(CD_CHAMPIONS) .then(({ data: cdChamps }) => { cdChamps.forEach(({ id, alias }) => { const championAlias = alias.replace(/[a-z][A-Z]/g, letter => letter[0] + '_' + letter[1]).toUpperCase(); if (!championIdMap[id]) { championIdMap[id] = championIdMap[id] || championAlias; championIdMap[championAlias] = championIdMap[championAlias] || '' + id; } }); }); } catch (e) { console.warn('Updating champion IDs failed'); } }; // Schedule once every day. setInterval(updateChampionIDs, 1000 * 60 * 60 * 24); updateChampionIDs(); } /** * Get champion name by id */ function getChampionName(champ) { const result = championIdMap[champ]; if (!result) { throw new Error(`Invalid champ id ${champ}`); } return result; } exports.getChampionName = getChampionName; /** * Get champion and by id and return capitalize string */ function getChampionNameCapital(champ) { let name = typeof champ === 'number' ? getChampionName(champ) : champ; name = lodash_2.default.camelCase(name.toLowerCase()); name = name.charAt(0).toUpperCase() + name.slice(1); switch (name) { case 'Reksai': return 'RekSai'; case 'JarvanIv': return 'JarvanIV'; } return name; } exports.getChampionNameCapital = getChampionNameCapital;