diff --git a/riot-api-nodejs/riot-api-nodejs-tests.ts b/riot-api-nodejs/riot-api-nodejs-tests.ts index a531f52ee0..6b571d7618 100644 --- a/riot-api-nodejs/riot-api-nodejs-tests.ts +++ b/riot-api-nodejs/riot-api-nodejs-tests.ts @@ -3,4 +3,4 @@ import * as Api from "riot-api-nodejs"; let ClassicApi = new Api.ClassicAPI([""], Api.region_e.EUW); -let TournamentApi = new Api.TournamentAPI(""); +let TournamentApi = new Api.TournamentAPI(""); \ No newline at end of file diff --git a/riot-api-nodejs/riot-api-nodejs.d.ts b/riot-api-nodejs/riot-api-nodejs.d.ts index cb4c88766a..f4900a508f 100644 --- a/riot-api-nodejs/riot-api-nodejs.d.ts +++ b/riot-api-nodejs/riot-api-nodejs.d.ts @@ -3,11 +3,18 @@ // Definitions by: Luca Laissue // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -/// /// +/// -declare module "riot-api-nodejs"{ +declare module "riot-api-nodejs" { + export const BASE_URL: string; + export const URL_1_2: string; + export const URL_1_3: string; + export const URL_1_4: string; + export const URL_2_2: string; + export const URL_2_4: string; + export const URL_2_5: string; export enum region_e { BR = 0, EUNE = 1, @@ -22,72 +29,84 @@ declare module "riot-api-nodejs"{ PBE = 10, } /** - * Tournament API - */ - export class TournamentAPI { + * Base API + */ + export class API { private ApiKeys; private ApiKey; + constructor(ApiKeys: string[]); /** - * TournamentAPI Constructor - */ - constructor(...ApiKeys: string[]); - /** - * Change the Api Key for the next requests - */ + * Change the Api Key for the next requests + */ private switchApiKey(); /** - * Send a request to the Riot Games Api and return a formatted json via a callback - * @param {string} url request url - * @param {string} method method(post / put / get) - * @param {[type]} data body parameters - * @param {(JSON} callback callback function with formatted JSON - */ - private getJSON(url, method, data, callback); + * Send a request to the Riot Games Api and return a formatted json via a callback + * @param {string} url request url + * @param {string} method method(post / put / get) + * @param {[type]} data body parameters + * @param {(JSON} callback callback function with formatted JSON + */ + getJSON(url: string, method: string, data: any): Promise; + request(url: string, method: string, data: any, prop?: string): Promise; /** - * get tournament Codes for a given tournament + * get the API Key that is used for the requests + * @return {string} the current API Key + */ + getCurrentApiKey(): string; + /** + * set the API Keys + * @param {string[]} ApiKeys the API Keys + */ + setApikeys(ApiKeys: string[]): void; + } + /** + * Tournament API + */ + export class TournamentAPI extends API { + constructor(...apiKeys: string[]); + /** + * create tournament Codes for a given tournament * @param {number} tournamentId the ID of the tournament * @param {number} count Number of codes you want * @param {RiotGamesAPI.TournamentProvider.TournamentCodeParameters} params Tournament Code parameters * @param {number[]} callback Tournaments Codes [description] */ - getTournamentCodes(tournamentId: number, count: number, params: RiotGamesAPI.TournamentProvider.TournamentCodeParameters, callback: (tournamentCodes: number[]) => void): any; + createTournamentCodes(tournamentId: number, count: number, params: RiotGamesAPI.TournamentProvider.TournamentCodeParameters): Promise; /** * get tournament infos for a given tournament code * @param {string} tournamentCode Tournament Code * @param {RiotGamesAPI.TournamentProvider.TournamentCodeDto} callback Tournament Infos */ - getTournamentByCode(tournamentCode: string, callback: (tournament: RiotGamesAPI.TournamentProvider.TournamentCodeDto) => void): any; + getTournamentByCode(tournamentCode: string): Promise; /** * edit the tournament Code parameters for a given tournament Code * @param {string} tournamentCode Tournament Code to update * @param {RiotGamesAPI.TournamentProvider.TournamentCodeUpdateParameters} params parameters to edit * @param {(} callback callback if succes */ - editTournamentByCode(tournamentCode: string, params: RiotGamesAPI.TournamentProvider.TournamentCodeUpdateParameters, callback: () => void): any; + editTournamentByCode(tournamentCode: string, params: RiotGamesAPI.TournamentProvider.TournamentCodeUpdateParameters): Promise<() => void>; /** * get the lobby envents for a given tournament Code * @param {string} tournamentCode the tournament code to get the lobby events * @param {RiotGamesAPI.TournamentProvider.LobbyEventDto} callback lobby events */ - getLobbyEventByCode(tournamentCode: string, callback: (lobbyEventDto: RiotGamesAPI.TournamentProvider.LobbyEventDto) => void): any; + getLobbyEventByCode(tournamentCode: string): Promise; /** * Register a new tournament provider * @param {region_e} region region where you want to register the provider * @param {string} url url of callback for the POST notifications * @param {number} callback returns the tounament provider ID */ - registerProvider(region: region_e, url: string, callback: (providerId: number) => void): any; + registerProvider(region: region_e, url: string): Promise; /** * Register a new tournament * @param {string} name Name of tournament * @param {number} providerId Provider ID * @param {number} callback returns the tournament ID */ - registerTournament(name: string, providerId: number, callback: (tournamentId: number) => void): any; + registerTournament(name: string, providerId: number): Promise; } - export class ClassicAPI { - private ApiKeys; - private ApiKey; + export class ClassicAPI extends API { private region; /** * ClassicAPI Constructor @@ -95,37 +114,17 @@ declare module "riot-api-nodejs"{ * @param {region_e} region region where you want to send requests */ constructor(ApiKeys: string[], region: region_e); - /** - * change the API Key for the next requests - */ - private switchApiKey(); - /** - * get the JSON response code for a given URL - * @param {string} url Request url - * @param {Function} callback JSON formatted data - */ - private getJSON(url, callback); /** * Edit the consts for a valid url for the riot games api * @param {string} unparsedURL the URL to parse * @return {string} the Parsed URL */ - private parseURL(unparsedURL); - /** - * get the API Key that is used for the requests - * @return {string} the current API Key - */ - getCurrentApiKey(): string; + parseURL(unparsedURL: string): string; /** * get the region where send send request * @return {region_e} the current region */ getRegion(): region_e; - /** - * set the API Keys - * @param {string[]} ApiKeys the API Keys - */ - setApikeys(ApiKeys: string[]): void; /** * set the region where you want to send requests * @param {region_e} region the region @@ -135,278 +134,278 @@ declare module "riot-api-nodejs"{ * get all champions of league of legends * @param {RiotGamesAPI.Champion.ChampionListDto} callback data callback */ - getChampions(callback: (championListDto: RiotGamesAPI.Champion.ChampionListDto) => void): any; + getChampions(): Promise; /** * get the champion for a given id * @param {number} id the champion id * @param {RiotGamesAPI.Champion.ChampionDto} callback data callback */ - getChampionById(id: number, callback: (ChampionDto: RiotGamesAPI.Champion.ChampionDto) => void): any; + getChampionById(id: number): Promise; /** * get the free to play champions * @param {RiotGamesAPI.Champion.ChampionListDto} callback data callback */ - getFreeToPlayChampions(callback: (championsListDto: RiotGamesAPI.Champion.ChampionListDto) => void): any; + getFreeToPlayChampions(): Promise; /** * get Champion mastery of a player for a given champion ID * @param {number} summonerId summoner ID * @param {number} championId Champion ID * @param {RiotGamesAPI.ChampionMastery.ChampionMasteryDto} callback data callback */ - getChampionMastery(summonerId: number, championId: number, callback: (championMastery: RiotGamesAPI.ChampionMastery.ChampionMasteryDto) => void): any; + getChampionMastery(summonerId: number, championId: number): Promise; /** * get all champion masteries for a given summoner * @param {number} summonerId Summoner ID * @param {[RiotGamesAPI.ChampionMastery.ChampionMasteryDto]} callback data callback */ - getChampionMasteryBySummoner(summonerId: number, callback: (championsMastery: [RiotGamesAPI.ChampionMastery.ChampionMasteryDto]) => void): any; + getChampionMasteryBySummoner(summonerId: number): Promise<[RiotGamesAPI.ChampionMastery.ChampionMasteryDto]>; /** * get the mastery score of a summoner * @param {number} summonerId Summoner ID * @param {number} callback Mastery Score */ - getChampionMasteryScore(summonerId: number, callback: (score: number) => void): any; + getChampionMasteryScore(summonerId: number): Promise; /** * get The 3 best champion masteries * @param {[type]} summonerId Summoner ID * @param {[RiotGamesAPI.ChampionMastery.ChampionMasteryDto]} callback data callback */ - getTopChampionMastery(summonerId: any, callback: (championsMastery: [RiotGamesAPI.ChampionMastery.ChampionMasteryDto]) => void): any; + getTopChampionMastery(summonerId: any): Promise<[RiotGamesAPI.ChampionMastery.ChampionMasteryDto]>; /** * get the current game infos for a given summoner ID * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.CurrentGame.CurrentGameInfo} callback data callback */ - getCurrentGame(summonerId: number, callback: (gameInfoDto: RiotGamesAPI.CurrentGame.CurrentGameInfo) => void): any; + getCurrentGame(summonerId: number): Promise; /** * get the featured games * @param {RiotGamesAPI.FeaturedGames.FeaturedGames} callback data callback */ - getFeaturedGame(callback: (featuredGamesInfos: RiotGamesAPI.FeaturedGames.FeaturedGames) => void): any; + getFeaturedGame(): Promise; /** * get the recents games for a given Summoner ID * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.Game.RecentGamesDto} callback data callback */ - getRecentGames(summonerId: number, callback: (RecentGamesDto: RiotGamesAPI.Game.RecentGamesDto) => void): any; + getRecentGames(summonerId: number): Promise; /** * Get League infos of a summoner * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.League.LeagueDto[]} callback data callback */ - getLeagueBySummonerId(summonerId: number, callback: (LeagueDto: RiotGamesAPI.League.LeagueDto[]) => void): any; + getLeagueBySummonerId(summonerId: number): Promise; /** * get League infos of a summoner * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.League.LeagueDto[]} callback data callback */ - getLeagueBySummonerIdEntry(summonerId: number, callback: (LeagueDto: RiotGamesAPI.League.LeagueDto[]) => void): any; + getLeagueBySummonerIdEntry(summonerId: number): Promise; /** * get league infos by team * @param {string} teamId Team ID * @param {RiotGamesAPI.League.LeagueDto[]} callback data callback */ - getLeagueByTeamId(teamId: string, callback: (LeagueDto: RiotGamesAPI.League.LeagueDto[]) => void): any; + getLeagueByTeamId(teamId: string): Promise; /** * get league infos by team * @param {string} teamId Team ID * @param {RiotGamesAPI.League.LeagueDto[]} callback data callback */ - getLeagueByTeamIdEntry(teamId: string, callback: (LeagueDto: RiotGamesAPI.League.LeagueDto[]) => void): any; + getLeagueByTeamIdEntry(teamId: string): Promise; /** * get Challengers in SOLO Queue * @param {RiotGamesAPI.League.LeagueDto} callback data callback */ - getChallengers_SOLO(callback: (League: RiotGamesAPI.League.LeagueDto) => void): any; + getChallengers_SOLO(): Promise; /** * get Challengers Teams in 3x3 * @param {RiotGamesAPI.League.LeagueDto} callback data callback */ - getChallengers_3x3(callback: (League: RiotGamesAPI.League.LeagueDto) => void): any; + getChallengers_3x3(): Promise; /** * get Challengers Teams in 5x5 * @param {RiotGamesAPI.League.LeagueDto} callback data callback */ - getChallengers_5x5(callback: (League: RiotGamesAPI.League.LeagueDto) => void): any; + getChallengers_5x5(): Promise; /** * get Masters in Solo Queue * @param {RiotGamesAPI.League.LeagueDto} callback data callback */ - getMasters_SOLO(callback: (League: RiotGamesAPI.League.LeagueDto) => void): any; + getMasters_SOLO(): Promise; /** * get Master Teams in 3x3 * @param {RiotGamesAPI.League.LeagueDto} callback data callback */ - getMasters_3x3(callback: (League: RiotGamesAPI.League.LeagueDto) => void): any; + getMasters_3x3(): Promise; /** * get Master Teams in 5x5 * @param {RiotGamesAPI.League.LeagueDto} callback data callback */ - getMasters_5x5(callback: (League: RiotGamesAPI.League.LeagueDto) => void): any; + getMasters_5x5(): Promise; /** * get Champions (static data) * @param {RiotGamesAPI.LolStaticData.ChampionListDto} callback data callback */ - staticDataChampions(callback: (championListDto: RiotGamesAPI.LolStaticData.ChampionListDto) => void): any; + staticDataChampions(): Promise; /** * get data by champion ID * @param {number} championsId Champion ID * @param {RiotGamesAPI.LolStaticData.ChampionDto} callback data callback */ - staticDataChampionById(championsId: number, callback: (championDto: RiotGamesAPI.LolStaticData.ChampionDto) => void): any; + staticDataChampionById(championsId: number): Promise; /** * get League of Legends Items * @param {RiotGamesAPI.LolStaticData.ItemListDto} callback data callback */ - staticDataItems(callback: (itemsDto: RiotGamesAPI.LolStaticData.ItemListDto) => void): any; + staticDataItems(): Promise; /** * Get item infos by ID * @param {number} itemId item ID * @param {RiotGamesAPI.LolStaticData.ItemDto} callback data callback */ - staticDataItemById(itemId: number, callback: (itemDto: RiotGamesAPI.LolStaticData.ItemDto) => void): any; + staticDataItemById(itemId: number): Promise; /** * get league of legends languages * @param {RiotGamesAPI.LolStaticData.LanguageStringsDto} callback data callback */ - staticDataLanguagesStrings(callback: (languageStringsDto: RiotGamesAPI.LolStaticData.LanguageStringsDto) => void): any; + staticDataLanguagesStrings(): Promise; /** * get league of legends languages * @param {string[]} callback data callback */ - staticDataLanguages(callback: (languages: string[]) => void): any; + staticDataLanguages(): Promise; /** * get Map data * @param {RiotGamesAPI.LolStaticData.MapDataDto} callback data callback */ - staticDataMap(callback: (mapDataDto: RiotGamesAPI.LolStaticData.MapDataDto) => void): any; + staticDataMap(): Promise; /** * get all masteries * @param {RiotGamesAPI.LolStaticData.MasteryListDto} callback data callback */ - staticDataMastery(callback: (masteryListDto: RiotGamesAPI.LolStaticData.MasteryListDto) => void): any; + staticDataMastery(): Promise; /** * get data by mastery ID * @param {number} masteryId Mastery ID * @param {RiotGamesAPI.LolStaticData.MasteryDto} callback data callback */ - staticDataMasteryById(masteryId: number, callback: (masteryDto: RiotGamesAPI.LolStaticData.MasteryDto) => void): any; - staticDataRealm(callback: (realmDto: RiotGamesAPI.LolStaticData.RealmDto) => void): any; + staticDataMasteryById(masteryId: number): Promise; + staticDataRealm(): Promise; /** * get all runes * @param {RiotGamesAPI.LolStaticData.RuneListDto} callback data callback */ - staticDataRunes(callback: (runeListDto: RiotGamesAPI.LolStaticData.RuneListDto) => void): any; + staticDataRunes(): Promise; /** * get rune by Rune ID * @param {number} runeId Rune ID * @param {RiotGamesAPI.LolStaticData.RuneDto} callback data callback */ - staticDataRuneById(runeId: number, callback: (runeDto: RiotGamesAPI.LolStaticData.RuneDto) => void): any; + staticDataRuneById(runeId: number): Promise; /** * get all summoner spells * @param {RiotGamesAPI.LolStaticData.SummonerSpellListDto} callback data callback */ - staticDataSummonerSpells(callback: (summonerSpellListDto: RiotGamesAPI.LolStaticData.SummonerSpellListDto) => void): any; + staticDataSummonerSpells(): Promise; /** * get summoner spell by summoner spell ID * @param {number} summonerSpellId Summoner spell ID * @param {RiotGamesAPI.LolStaticData.SummonerSpellDto} callback data callback */ - staticDataSummonSpellById(summonerSpellId: number, callback: (runeDto: RiotGamesAPI.LolStaticData.SummonerSpellDto) => void): any; + staticDataSummonSpellById(summonerSpellId: number): Promise; /** * get league of legends versions * @param {string[]} callback data callback */ - staticDataVersion(callback: (versions: string[]) => void): any; + staticDataVersion(): Promise; /** * get league of legends status * @param {RiotGamesAPI.LolStatus.Shard[]} callback data callback */ - getSatus(callback: (shardList: RiotGamesAPI.LolStatus.Shard[]) => void): any; + getSatus(): Promise; /** * get status for a given region * @param {region_e} region region * @param {RiotGamesAPI.LolStatus.Shard} callback data callback */ - getSatusByRegion(region: region_e, callback: (shard: RiotGamesAPI.LolStatus.Shard) => void): any; + getSatusByRegion(region: region_e): Promise; /** * get match infos for a given match ID * @param {number} matchId Match ID * @param {RiotGamesAPI.Match.MatchDetail} callback data callback */ - getMatch(matchId: number, callback: (matchDetails: RiotGamesAPI.Match.MatchDetail) => void): any; + getMatch(matchId: number): Promise; /** * get all matches for a given tournament code * @param {string} tournamentCode Tournament Code * @param {number[]} callback data callback */ - getMatchIdsByTournamentCode(tournamentCode: string, callback: (matchIds: number[]) => void): any; + getMatchIdsByTournamentCode(tournamentCode: string): Promise; /** * get match by ID in a tournament * @param {number} matchId Match ID * @param {RiotGamesAPI.Match.MatchDetail} callback data callback */ - getMatchForTournament(matchId: number, callback: (matchDetails: RiotGamesAPI.Match.MatchDetail) => void): any; + getMatchForTournament(matchId: number): Promise; /** * get match list of a summoner * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.MatchList.MatchList} callback data callback */ - getMatchList(summonerId: number, callback: (matchList: RiotGamesAPI.MatchList.MatchList) => void): any; + getMatchList(summonerId: number): Promise; /** * get ranked stats of summoner * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.Stats.RankedStatsDto} callback data callback */ - getStatsRanked(summonerId: number, callback: (rankedStatsDto: RiotGamesAPI.Stats.RankedStatsDto) => void): any; + getStatsRanked(summonerId: number): Promise; /** * get summary ranked stats of summoner * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.Stats.PlayerStatsSummaryListDto} callback data callback */ - getStatsSummary(summonerId: number, callback: (playerStatsSummaryListDto: RiotGamesAPI.Stats.PlayerStatsSummaryListDto) => void): any; + getStatsSummary(summonerId: number): Promise; /** * get summoner infos by Summoner Name * @param {string} summonerName Summoner Name * @param {RiotGamesAPI.Summoner.SummonerDto} callback data callback */ - getSummonerByName(summonerName: string, callback: (summonerDto: RiotGamesAPI.Summoner.SummonerDto) => void): any; + getSummonerByName(summonerName: string): Promise; /** * get summoner infos by summoner ID * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.Summoner.SummonerDto} callback data callback */ - getSummonerById(summonerId: number, callback: (summonerDto: RiotGamesAPI.Summoner.SummonerDto) => void): any; + getSummonerById(summonerId: number): Promise; /** * get masteries of a summoner * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.Summoner.MasteryPagesDto} callback data callback */ - getSummonerMasteries(summonerId: number, callback: (masteryPagesDto: RiotGamesAPI.Summoner.MasteryPagesDto) => void): any; + getSummonerMasteries(summonerId: number): Promise; /** * get the Summoner Name of a summoner ID * @param {number} summonerId Summoner ID * @param {string} callback data callback */ - getSummonerName(summonerId: number, callback: (summonerName: string) => void): any; + getSummonerName(summonerId: number): Promise; /** * get the runes of a summoner * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.Summoner.RunePagesDto} callback data callback */ - getSummonerRunes(summonerId: number, callback: (runePagesDto: RiotGamesAPI.Summoner.RunePagesDto) => void): any; + getSummonerRunes(summonerId: number): Promise; /** * get teams of a summoner * @param {number} summonerId Summoner ID * @param {RiotGamesAPI.Team.TeamDto[]} callback data callback */ - getTeamsBySummoner(summonerId: number, callback: (teamsList: RiotGamesAPI.Team.TeamDto[]) => void): any; + getTeamsBySummoner(summonerId: number): Promise; /** * get Team infos by Team ID * @param {string} teamId Team ID * @param {RiotGamesAPI.Team.TeamDto} callback data callback */ - getTeamById(teamId: string, callback: (teamDto: RiotGamesAPI.Team.TeamDto) => void): any; + getTeamById(teamId: string): Promise; } }