UNPKG

leaguejs

Version:

Wrapper for the League of Legends API

71 lines (62 loc) 2.52 kB
const Bluebird = require('bluebird'); const Endpoint = require('../Endpoint'); const util = require('../util'); const {ErrorUtil, SummonerUtil} = util; /** * Endpoint to receive Summoner information */ class SummonerEndpoint extends Endpoint { constructor(config, rateLimiter) { super('Summoner', config, rateLimiter); this.apiUrl += `/summoner/${this.apiVersion}/summoners`; } /** * Get the summoner by the given name * @methodOf {SummonerEndpoint} * @param {string} name * @param {string} platformIdOrRegion * @return {Bluebird<SummonerDto>} */ gettingByName(name, platformIdOrRegion = this.config.PLATFORM_ID) { return Bluebird.resolve() .then(() => Bluebird.all([ErrorUtil.throwIfIsArray(name, 'name'), ErrorUtil.throwIfNameIsInvalid(name, 'name')])) .then(() => { let normalizedName = SummonerUtil.normalizeSummonerName(name); return this.executingRequest(`/by-name/${encodeURIComponent(normalizedName)}`, platformIdOrRegion); }); } /** * Get the summoner by the given riot account id * @param accountId * @param [platformIdOrRegion] case-insensitive. defaults to PLATFORM_ID set at instantiation of LeagueJs or from default-config. * @return {Bluebird<SummonerDto>} */ gettingByAccount(accountId, platformIdOrRegion = this.config.PLATFORM_ID) { return Bluebird.resolve() .then(() => ErrorUtil.checkAccountId(accountId, this.apiVersion)) .then(() => this.executingRequest(`/by-account/${accountId}`, platformIdOrRegion)); } /** * * @param summonerId * @param [platformIdOrRegion] case-insensitive. defaults to PLATFORM_ID set at instantiation of LeagueJs or from default-config. * @return {Bluebird<SummonerDto>} */ gettingById(summonerId, platformIdOrRegion = this.config.PLATFORM_ID) { return Bluebird.resolve() .then(() => ErrorUtil.checkSummonerId(summonerId, this.apiVersion)) .then(() => this.executingRequest(`/${summonerId}`, platformIdOrRegion)); } /** * * @param puuid encrypted puuid * @param [platformIdOrRegion] case-insensitive. defaults to PLATFORM_ID set at instantiation of LeagueJs or from default-config. * @return {Bluebird<SummonerDto>} */ gettingByPUUID(puuid, platformIdOrRegion = this.config.PLATFORM_ID) { return Bluebird.resolve() .then(() => ErrorUtil.throwIfNotString(puuid, 'puuid')) .then(() => this.executingRequest(`/by-puuid/${puuid}`, platformIdOrRegion)); } } module.exports = SummonerEndpoint;