UNPKG

@jlenon7/zedjs

Version:

Riot API Library for NodeJS

61 lines (59 loc) 1.79 kB
import { Regions } from '../../../constants' import { endpointsV4, endpointsV3 } from '../../../endpoints/endpoints' import { ChampionMasteryDTO } from '../../../models-dto/champion/champion-mastery.dto' import { ChampionsScoreDTO } from '../../../models-dto/champion/champions-score.dto' import { BaseApiLol } from '../base/base.api.lol' /** * Third party methods */ export class ChampionApi extends BaseApiLol { /** * Get champion rotation * @param region Riot region */ public async rotation (region: Regions) { return this.request(region, endpointsV3.ChampionRotation) } /** * Champion mastery by summoner * @param encryptedSummonerId * @param region */ public async masteryBySummoner (encryptedSummonerId: string, region: Regions) { const params = { encryptedSummonerId } return this.request<ChampionMasteryDTO[]>(region, endpointsV4.ChampionMasteryBySummoner, params) } /** * Champion mastery by summoner * @param encryptedSummonerId * @param region */ public async masteryBySummonerChampion (encryptedSummonerId: string, championId: number, region: Regions) { const params = { encryptedSummonerId, championId } return this.request<ChampionMasteryDTO>(region, endpointsV4.ChampionMasteryBySummonerChampion, params) } /** * Champions mastery score * @param encryptedSummonerId * @param region */ public async championsScore (encryptedSummonerId: string, region: Regions): Promise<ChampionsScoreDTO> { const params = { encryptedSummonerId } let { response: score } = await this.request<number | undefined>(region, endpointsV4.ChampionsScore, params) if (typeof score !== 'number') { score = 0 } return { score } } }