New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

kindred-api

Package Overview
Dependencies
Maintainers
1
Versions
114
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kindred-api - npm Package Compare versions

Comparing version 2.0.20 to 2.0.21

4

dist/kindred-api.min.js

@@ -1,2 +0,2 @@

!function(e,t){if("function"==typeof define&&define.amd)define("kindred-api",["module","redis","double-ended-queue","xregexp","chalk","request","chalk","query-string"],t);else if("undefined"!=typeof exports)t(module,require("redis"),require("double-ended-queue"),require("xregexp"),require("chalk"),require("request"),require("chalk"),require("query-string"));else{var n={exports:{}};t(n,e.redis,e.doubleEndedQueue,e.xregexp,e.chalk,e.request,e.chalk,e.queryString),e.kindredApi=n.exports}}(this,function(e,t,n,i,r,s,o,a){"use strict";function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t,n){return new L({key:e,defaultRegion:t,debug:n,limits:_.DEV,cacheOptions:A[0]})}function d(e,t){e?console.log(e):console.log(t)}var g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),c=function(){function e(){u(this,e),this.cache={}}return h(e,[{key:"get",value:function(e,t){return this.cache[e.key]?Date.now()>this.cache[e.key].expires?(delete this.cache[e.key],t("expired cache key")):t(null,this.cache[e.key].value):t("cache key doesn't exist")}},{key:"set",value:function(e,t){this.cache[e.key]={expires:e.ttl?Date.now()+1e3*e.ttl:null,value:t}}}]),e}(),m=function(){function e(n){u(this,e);var i=Object.assign({},n||{},{host:"127.0.0.1",port:6379,keyPrefix:"kindredAPI-"});this.client=t.createClient(i.port,i.host),this.client.on("error",function(e){console.log("Redis error:",e)}),process.on("exit",function(){console.log("closing"),this.client.quit()}),this.prefix=i.keyPrefix}return h(e,[{key:"get",value:function(e,t){this.client.get(this.prefix+e.key,function(e,n){n?t(e,n):t(e)})}},{key:"set",value:function(e,t){this.client.setex(this.prefix+e.key,e.ttl,t)}}]),e}(),p=function(){function e(t,i){u(this,e),this.allowedRequests=t,this.seconds=i,this.madeRequests=new n}return h(e,[{key:"__reload",value:function(){for(var e=(new Date).getTime();this.madeRequests.length>0&&e-this.madeRequests.peekFront()>=1e3*this.seconds;)this.madeRequests.shift()}},{key:"addRequest",value:function(){this.madeRequests.push((new Date).getTime()+1e3*this.seconds)}},{key:"requestAvailable",value:function(){return this.__reload(),this.madeRequests.length<this.allowedRequests}}]),e}(),y={CHAMPION:"platform",CHAMPION_MASTERY:"champion-mastery",GAME:null,LEAGUE:"league",STATUS:"status",MASTERIES:"platform",MATCH:"match",MATCH_LIST:null,RUNES:"platform",RUNES_MASTERIES:"platform",SPECTATOR:"spectator",STATIC_DATA:"static-data",STATS:null,SUMMONER:"summoner"},R={MONTH:2592e3,WEEK:604800,DAY:846400,SIX_HOURS:21600,THREE_HOURS:10800,TWO_HOURS:7200,HOUR:3600,THIRTY_MINUTES:1800,SHORT:600,NONE:null},I={CHAMPION:R.MONTH,CHAMPION_MASTERY:R.SIX_HOURS,CURRENT_GAME:R.NONE,FEATURED_GAMES:R.NONE,GAME:R.HOUR,LEAGUE:R.SIX_HOURS,STATIC:R.MONTH,STATUS:R.NONE,MATCH:R.MONTH,MATCH_LIST:R.ONE_HOUR,RUNES_MASTERIES:R.WEEK,SPECTATOR:R.NONE,STATS:R.HOUR,SUMMONER:R.DAY},_={DEV:[[10,10],[500,600]],PROD:[[3e3,10],[18e4,600]]},f={BRAZIL:"BR1",EUROPE:"EUN1",EUROPE_WEST:"EUW1",KOREA:"KR",LATIN_AMERICA_NORTH:"LA1",LATIN_AMERICA_SOUTH:"LA2",NORTH_AMERICA:"NA1",OCEANIA:"OC1",RUSSIA:"RU",TURKEY:"TR1",JAPAN:"JP1"},v={CUSTOM:0,NORMAL_3x3:8,NORMAL_5x5_BLIND:2,NORMAL_5x5_DRAFT:14,RANKED_SOLO_5x5:4,RANKED_PREMADE_5x5:6,RANKED_PREMADE_3x3:9,RANKED_FLEX_TT:9,RANKED_TEAM_3x3:41,RANKED_TEAM_5x5:42,ODIN_5x5_BLIND:16,ODIN_5x5_DRAFT:17,BOT_5x5:7,BOT_ODIN_5x5:25,BOT_5x5_INTRO:31,BOT_5x5_BEGINNER:32,BOT_5x5_INTERMEDIATE:33,BOT_TT_3x3:52,GROUP_FINDER_5x5:61,ARAM_5x5:65,ONEFORALL_5x5:70,FIRSTBLOOD_1x1:72,FIRSTBLOOD_2x2:73,SR_6x6:75,URF_5x5:76,ONEFORALL_MIRRORMODE_5x5:78,BOT_URF_5x5:83,NIGHTMARE_BOT_5x5_RANK1:91,NIGHTMARE_BOT_5x5_RANK2:92,NIGHTMARE_BOT_5x5_RANK5:93,ASCENSION_5x5:96,HEXAKILL:98,BILGEWATER_ARAM_5x5:100,KING_PORO_5x5:300,COUNTER_PICK:310,BILGEWATER_5x5:313,SIEGE:315,DEFINITELY_NOT_DOMINION_5x5:317,ARURF_5X5:318,ARSR_5x5:325,TEAM_BUILDER_DRAFT_UNRANKED_5x5:400,TEAM_BUILDER_DRAFT_RANKED_5x5:410,TEAM_BUILDER_RANKED_SOLO:420,RANKED_FLEX_SR:440,ASSASSINATE_5x5:600,DARKSTAR_3x3:610},S={BRAZIL:"br",EUROPE:"eune",EUROPE_WEST:"euw",KOREA:"kr",LATIN_AMERICA_NORTH:"lan",LATIN_AMERICA_SOUTH:"las",NORTH_AMERICA:"na",OCEANIA:"oce",RUSSIA:"ru",TURKEY:"tr",JAPAN:"jp"},b={br:"BRAZIL",eune:"EUROPE",euw:"EUROPE_WEST",kr:"KOREA",lan:"LATIN_AMERICA_NORTH",las:"LATIN_AMERICA_SOUTH",na:"NORTH_AMERICA",oce:"OCEANIA",ru:"RUSSIA",tr:"TURKEY",jp:"JAPAN"},E={CHAMPION:3,CHAMPION_MASTERY:3,CURRENT_GAME:1,FEATURED_GAMES:1,GAME:1.3,LEAGUE:3,STATIC_DATA:3,STATUS:3,MATCH:3,MATCH_LIST:2.2,RUNES_MASTERIES:3,SPECTATOR:3,STATS:1.3,SUMMONER:3},A=["in-memory-cache","redis"],M=i("^[0-9\\p{L} _\\.]+$"),T={int:function(e){return e.every(function(e){return Number.isInteger(e)})},string:function(e){return e.every(function(e){return"string"==typeof e})}},N={int:function(e){return e&&Array.isArray(e)&&T.int(e)&&e.length>0},string:function(e){return e&&Array.isArray(e)&&T.string(e)&&e.length>0}},U=function(e){var t=!0,n=!1,i=void 0;try{for(var r,s=Object.keys(S)[Symbol.iterator]();!(t=(r=s.next()).done);t=!0){var o=r.value;if(S[o]===e)return!0}}catch(e){n=!0,i=e}finally{try{!t&&s.return&&s.return()}finally{if(n)throw i}}return!1},q={400:"Bad Request",403:"Forbidden",404:"Not Found",415:"Unsupported Media Type",429:"Rate Limit Exceeded",500:"Internal Service Error",503:"Service Unavailable"},C=function(e){var t=q[e];if(t)return t},O=[200,400,500],k=function(e){return e>=O[0]&&e<O[1]?r.green(e):e>=O[1]&&e<O[2]?r.red(e+" "+C(e)):r.bold.red(e+" "+C(e))},w=function(e){return(Array.isArray(e)&&2!==e.length||!N.int(e[0])||2!==e[0].length||!N.int(e[1])||2!==e[1].length)&&"dev"!==e&&"prod"!==e},P=function(e,t,n){console.log(t,n),console.log({"x-app-rate-limit-count":e.headers["x-app-rate-limit-count"],"x-method-rate-limit-count":e.headers["x-method-rate-limit-count"],"x-rate-limit-count":e.headers["x-rate-limit-count"],"retry-after":e.headers["retry-after"]}),console.log()},L=function(){function e(t){var n=t.key,i=t.defaultRegion,r=void 0===i?S.NORTH_AMERICA:i,s=t.debug,a=void 0!==s&&s,l=t.limits,d=t.cacheOptions,g=t.cacheTTL;if(u(this,e),this.key=n,this.defaultRegion=U(r)?r:void 0,this.defaultRegion||(console.log(""+o.red("Initialization of Kindred failed: "+o.yellow(r)+" is an invalid region.")),console.log(""+o.red("Try importing "+o.yellow("require('./dist/kindred-api').REGIONS")+" and using one of those values instead.")),process.exit(1)),this.debug=a,d?(d===A[0]?this.cache=new c:d===A[1]?this.cache=new m:this.cache=d,this.CACHE_TIMERS=g?g:I):this.cache={get:function(e,t){return t(null,null)},set:function(e,t){}},this.CACHE_TIMERS||(this.CACHE_TIMERS={CHAMPION:0,CHAMPION_MASTERY:0,CURRENT_GAME:0,FEATURED_GAMES:0,GAME:0,LEAGUE:0,STATIC:0,STATUS:0,MATCH:0,MATCH_LIST:0,RUNES_MASTERIES:0,STATS:0,SUMMONER:0}),l){w(l)&&(console.log(o.red("Initialization of Kindred failed: Invalid "+o.yellow("limits")+". Valid examples: "+o.yellow("[[10, 10], [500, 600]]"))+"."),console.log(o.red("You can also pass in one of these two strings:")+" dev/prod "),console.log(""+o.red("and Kindred will set the limits appropriately.")),process.exit(1)),this.limits={},"dev"===l&&(l=_.DEV),"prod"===l&&(l=_.PROD);var h=!0,y=!1,R=void 0;try{for(var f,v=Object.keys(S)[Symbol.iterator]();!(h=(f=v.next()).done);h=!0){var b=f.value;this.limits[S[b]]=[new p(l[0][0],l[0][1]),new p(l[1][0],l[1][1])]}}catch(e){y=!0,R=e}finally{try{!h&&v.return&&v.return()}finally{if(y)throw R}}}this.Champion={getChampions:this.getChamps.bind(this),getAll:this.getChamps.bind(this),all:this.getChamps.bind(this),getChampion:this.getChamp.bind(this),get:this.getChamp.bind(this)},this.ChampionMastery={getChampionMastery:this.getChampMastery.bind(this),get:this.getChampMastery.bind(this),getChampionMasteries:this.getChampMasteries.bind(this),getAll:this.getChampMasteries.bind(this),all:this.getChampMasteries.bind(this),getTotalChampionMasteryScore:this.getTotalChampMasteryScore.bind(this),getTotalScore:this.getTotalChampMasteryScore.bind(this),totalScore:this.getTotalChampMasteryScore.bind(this),total:this.getTotalChampMasteryScore.bind(this),score:this.getTotalChampMasteryScore.bind(this)},this.CurrentGame={getCurrentGame:this.getCurrentGame.bind(this),get:this.getCurrentGame.bind(this)},this.FeaturedGames={getFeaturedGames:this.getFeaturedGames.bind(this),get:this.getFeaturedGames.bind(this)},this.Game={getRecentGames:this.getRecentGames.bind(this),getRecent:this.getRecentGames.bind(this),recent:this.getRecentGames.bind(this),get:this.getRecentGames.bind(this)},this.League={getLeagues:this.getLeagues.bind(this),leagues:this.getLeagues.bind(this),get:this.getLeagues.bind(this),getLeaguePositions:this.getLeaguePositions.bind(this),getPositions:this.getLeaguePositions.bind(this),positions:this.getLeaguePositions.bind(this),getChallengers:this.getChallengers.bind(this),challengers:this.getChallengers.bind(this),getMasters:this.getMasters.bind(this),masters:this.getMasters.bind(this)},this.Static={getChampions:this.getChampionList.bind(this),champions:this.getChampionList.bind(this),getChampion:this.getChampion.bind(this),champion:this.getChampion.bind(this),getItems:this.getItems.bind(this),items:this.getItems.bind(this),getItem:this.getItem.bind(this),item:this.getItem.bind(this),getLanguageStrings:this.getLanguageStrings.bind(this),languageStrings:this.getLanguageStrings.bind(this),getLanguages:this.getLanguages.bind(this),languages:this.getLanguages.bind(this),getMapData:this.getMapData.bind(this),mapData:this.getMapData.bind(this),map:this.getMapData.bind(this),maps:this.getMapData.bind(this),getMasteries:this.getMasteryList.bind(this),masteries:this.getMasteryList.bind(this),getMastery:this.getMastery.bind(this),mastery:this.getMastery.bind(this),getProfileIcons:this.getProfileIcons.bind(this),profileIcons:this.getProfileIcons.bind(this),getRealmData:this.getRealmData.bind(this),realmData:this.getRealmData.bind(this),realm:this.getRealmData.bind(this),realms:this.getRealmData.bind(this),getRunes:this.getRuneList.bind(this),runes:this.getRuneList.bind(this),getRune:this.getRune.bind(this),rune:this.getRune.bind(this),getSummonerSpells:this.getSummonerSpells.bind(this),summonerSpells:this.getSummonerSpells.bind(this),spells:this.getSummonerSpells.bind(this),getSummonerSpell:this.getSummonerSpell.bind(this),summonerSpell:this.getSummonerSpell.bind(this),spell:this.getSummonerSpell.bind(this),getVersionData:this.getVersionData.bind(this),versionData:this.getVersionData.bind(this),version:this.getVersionData.bind(this),versions:this.getVersionData.bind(this)},this.Status={getShardStatus:this.getShardStatus.bind(this),getStatus:this.getShardStatus.bind(this),get:this.getShardStatus.bind(this)},this.Match={getMatch:this.getMatch.bind(this),get:this.getMatch.bind(this),getMatchTimeline:this.getMatchTimeline.bind(this),getTimeline:this.getMatchTimeline.bind(this),timeline:this.getMatchTimeline.bind(this)},this.Matchlist={getMatchlist:this.getMatchlist.bind(this),get:this.getMatchlist.bind(this),getRecentMatchlist:this.getRecentMatchlist.bind(this),recent:this.getRecentMatchlist.bind(this)},this.RunesMasteries={getRunes:this.getRunes.bind(this),runes:this.getRunes.bind(this),getMasteries:this.getMasteries.bind(this),masteries:this.getMasteries.bind(this)},this.Runes={get:this.getRunes.bind(this)},this.Masteries={get:this.getMasteries.bind(this)},this.Stats={getRankedStats:this.getRankedStats.bind(this),ranked:this.getRankedStats.bind(this),getStatsSummary:this.getStatsSummary.bind(this),summary:this.getStatsSummary.bind(this)},this.Summoner={getSummoner:this.getSummoner.bind(this),get:this.getSummoner.bind(this),getRunes:this.getRunes.bind(this),runes:this.getRunes.bind(this),getMasteries:this.getMasteries.bind(this),masteries:this.getMasteries.bind(this),getMatchHistory:this.getRecentMatchlist.bind(this),matchHistory:this.getRecentMatchlist.bind(this),getMatchlist:this.getMatchlist.bind(this),matchlist:this.getMatchlist.bind(this),getChampionMasteries:this.getChampMasteries.bind(this),championMasteries:this.getChampMasteries.bind(this),getTotalChampionMasteryScore:this.getTotalChampMasteryScore.bind(this),totalChampionMasteryScore:this.getTotalChampMasteryScore.bind(this)},this.Ex={getSummonerByAccId:this.getSummonerByAccId.bind(this),getMatchlistByName:this.getMatchlistByName.bind(this),getRunesBySummonerId:this.getRunesBySummonerId.bind(this),getRunesByAccountId:this.getRunesByAccountId.bind(this),staticRuneList:this.staticRuneList.bind(this)}}return h(e,[{key:"canMakeRequest",value:function(e){return!(!this.limits[e][0].requestAvailable()||!this.limits[e][1].requestAvailable())}},{key:"_sanitizeName",value:function(e){if(this._validName(e))return e.replace(/\s/g,"").toLowerCase();this._logError(this._validName.name,"Name "+o.yellow(e)+" is not valid. Request failed."),process.exit(1)}},{key:"_validName",value:function(e){return M.test(e)}},{key:"_makeUrl",value:function(e,t,n,i,r,s){var o=n?"":t+"/",a=i||r||s?"":"api/lol/"+o,u="https://"+t+".api.riotgames.com/"+a+encodeURI(e),l="https://"+f[b[t]].toLowerCase()+".api.riotgames.com/lol/"+encodeURI(e);return l.lastIndexOf("v3")==-1?u:l}},{key:"_baseRequest",value:function(e,t){var n=this,i=e.endUrl,r=e.region,u=void 0===r?this.defaultRegion:r,l=e.status,d=void 0!==l&&l,g=e.observerMode,h=void 0!==g&&g,c=e.staticReq,m=void 0!==c&&c,p=e.championMastery,y=void 0!==p&&p,R=e.options,I=void 0===R?{}:R,_=e.cacheParams,f=void 0===_?{}:_,v=function(){return new Promise(function(e,r){var l="";if(i.lastIndexOf("v3")==-1){var g=!0,c=!1,p=void 0;try{for(var R,_=Object.keys(I)[Symbol.iterator]();!(g=(R=_.next()).done);g=!0){var v=R.value;Array.isArray(I[v])&&(I[v]=I[v].join(","))}}catch(e){c=!0,p=e}finally{try{!g&&_.return&&_.return()}finally{if(c)throw p}}l=a.stringify(I).replace(/%2C/,",")}else{var S=!0,b=!1,E=void 0;try{for(var A,M=Object.keys(I)[Symbol.iterator]();!(S=(A=M.next()).done);S=!0){var T=A.value;if(Array.isArray(I[T]))for(var N=0;N<I[T].length;++N)l&&(l+="&"),l+=T+"="+I[T][N];else l&&(l+="&"),l+=T+"="+I[T]}}catch(e){b=!0,E=e}finally{try{!S&&M.return&&M.return()}finally{if(b)throw E}}}var U=l?"?"+l:"",q=n._makeUrl(i+U,u,m,d,h,y),C=q+(q.lastIndexOf("?")===-1?"?":"&")+"api_key="+n.key;n.cache.get({key:q},function(i,a){if(a){n.debug&&console.log(o.green("CACHE HIT")+" "+C);var l=JSON.parse(a);return t?t(i,l):e(l)}if(n.limits){var d=n;!function t(n){d.canMakeRequest(u)?(m||(d.limits[u][0].addRequest(),d.limits[u][1].addRequest()),s({url:C},function(i,s,a){if(s&&a){var u=s.statusCode,l=k(u);if(d.debug&&P(s,l,C),"function"==typeof n)return u>=500&&(d.debug&&console.log("!!! resending request !!!"),setTimeout(function(){t.bind(d)(n)},1e3)),429===u&&(d.debug&&console.log("!!! resending request !!!"),setTimeout(function(){t.bind(d)(n)},1e3*s.headers["retry-after"]+50)),u>=400?n(l+" : "+o.yellow(q)):(Number.isInteger(f.ttl)&&f.ttl>0&&d.cache.set({key:q,ttl:f.ttl},a),n(i,JSON.parse(a)));if(500===u)d.debug&&console.log("!!! resending promise request !!!"),setTimeout(function(){return r("retry")},1e3);else{if(429!==u)return i||u>=400?r("err:",i,u):(Number.isInteger(f.ttl)&&f.ttl>0&&d.cache.set({key:q,ttl:f.ttl},a),e(JSON.parse(a)));d.debug&&console.log("!!! resending promise request !!!"),setTimeout(function(){return r("retry")},1e3*s.headers["retry-after"]+50)}}else console.log(i,C)})):setTimeout(function(){t.bind(d)(n)},1e3)}(t)}else s({url:C},function(n,i,s){if(i){var a=i.statusCode,u=k(a);return d.debug&&P(i,u,C),"function"==typeof t?a>=400?t(u+" : "+o.yellow(q)):t(n,JSON.parse(s)):n?r("err:",n):e(JSON.parse(s))}console.log(n,q)})})})};return t?v():v().catch(v).catch(v).catch(v).then(function(e){return e})}},{key:"_championMasteryRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:y.CHAMPION_MASTERY+"/v"+E.CHAMPION+"/"+n,region:i,options:r,championMastery:!0,cacheParams:{ttl:this.CACHE_TIMERS.CHAMPION_MASTERY}},t)}},{key:"_championRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:y.CHAMPION+"/v"+E.CHAMPION+"/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.CHAMPION}},t)}},{key:"_spectatorRequest",value:function(e,t){var n=e.endUrl,i=e.region;return this._baseRequest({endUrl:y.SPECTATOR+"/v"+E.SPECTATOR+"/"+n,region:i,cacheParams:{ttl:this.CACHE_TIMERS.SPECTATOR}},t)}},{key:"_staticRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=void 0===i?this.defaultRegion:i,s=e.options;return this._baseRequest({endUrl:y.STATIC_DATA+"/v"+E.STATIC_DATA+"/"+n,staticReq:!0,region:r,options:s,cacheParams:{ttl:this.CACHE_TIMERS.STATIC}},t)}},{key:"_statusRequest",value:function(e,t){var n=e.endUrl,i=(e.region,e.options);return this._baseRequest({endUrl:y.STATUS+"/v"+E.STATUS+"/"+n,status:!0,options:i,cacheParams:{ttl:this.CACHE_TIMERS.STATUS}},t)}},{key:"_gameRequest",value:function(e,t){var n=e.endUrl,i=e.region;return this._baseRequest({endUrl:"v"+E.GAME+"/game/"+n,region:i,cacheParams:{ttl:this.CACHE_TIMERS.GAME}},t)}},{key:"_leagueRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:y.LEAGUE+"/v"+E.LEAGUE+"/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.LEAGUE}},t)}},{key:"_matchRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:y.MATCH+"/v"+E.MATCH+"/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.MATCH}},t)}},{key:"_matchlistRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:"v"+E.MATCH_LIST+"/matchlist/by-summoner/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.MATCH_LIST}},t)}},{key:"_runesMasteriesRequest",value:function(e,t){var n=e.endUrl,i=e.region;return this._baseRequest({endUrl:y.RUNES_MASTERIES+"/v"+E.RUNES_MASTERIES+"/"+n,region:i,cacheParams:{ttl:this.CACHE_TIMERS.RUNES_MASTERIES}},t)}},{key:"_statsRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:"v"+E.STATS+"/stats/by-summoner/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.STATS}},t)}},{key:"_summonerRequest",value:function(e,t){var n=e.endUrl,i=e.region;return this._baseRequest({endUrl:y.SUMMONER+"/v"+E.SUMMONER+"/summoners/"+n,region:i,cacheParams:{ttl:this.CACHE_TIMERS.SUMMONER}},t)}},{key:"_logError",value:function(e,t){console.log(o.bold.yellow(e),o.red("request"),o.bold.red("FAILED")+o.red("; "+t))}},{key:"setRegion",value:function(e){this.defaultRegion=U(e)?e:void 0,console.log(""+o.red("setRegion() by Kindred failed: "+o.yellow(e)+" is an invalid region.")),console.log(""+o.red("Try importing "+o.yellow("require('./dist/kindred-api').REGIONS")+" and using one of those values instead.")),process.exit(1)}},{key:"getChamps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._championRequest({endUrl:"champions",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getChamp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.championId,r=arguments[1];return Number.isInteger(n)||Number.isInteger(i)?this._championRequest({endUrl:"champions/"+(n||i),region:t},r):this._logError(this.getChamp.name,"required params "+o.yellow("`id/championId` (int)")+" not passed in")}},{key:"getChampMastery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=void 0===t?this.defaultRegion:t,i=e.playerId,r=e.championId,s=e.options,a=arguments[1];return Number.isInteger(i)&&Number.isInteger(r)?this._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+i+"/by-champion/"+r,region:n,options:s},a):this._logError(this.getChampMastery.name,"required params "+o.yellow("`playerId` (int) AND `championId` (int)")+" not passed in")}},{key:"getChampMasteries",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=void 0===n?this.defaultRegion:n,r=t.accountId,s=t.accId,a=t.id,u=t.summonerId,l=t.playerId,d=t.name,h=t.options,c=arguments[1];return Number.isInteger(r||s)?new Promise(function(t,n){return e.getSummoner({accId:r||s,region:i},function(r,s){return r?void(c?c(r):n(r)):t(e._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+s.id,region:i},c))})}):Number.isInteger(a||u||l)?this._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+(a||u||l),region:i,options:h},c):"object"===g(arguments[0])&&"string"==typeof d?new Promise(function(t,n){return e.getSummoner({name:d,region:i},function(r,s){return r?void(c?c(r):n(r)):t(e._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+s.id,region:i},c))})}):this._logError(this.getChampMasteries.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getTotalChampMasteryScore",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=void 0===n?this.defaultRegion:n,r=t.accountId,s=t.accId,a=t.id,u=t.summonerId,l=t.playerId,d=t.name,h=t.options,c=arguments[1];return Number.isInteger(r||s)?new Promise(function(t,n){return e.getSummoner({accId:r||s,region:i},function(r,s){return r?void(c?c(r):n(r)):t(e._championMasteryRequest({endUrl:"scores/by-summoner/"+s.id,region:i},c))})}):Number.isInteger(a||u||l)?this._championMasteryRequest({endUrl:"scores/by-summoner/"+(a||u||l),region:i,options:h},c):"object"===g(arguments[0])&&"string"==typeof d?new Promise(function(t,n){return e.getSummoner({name:d,region:i},function(r,s){return r?void(c?c(r):n(r)):t(e._championMasteryRequest({endUrl:"scores/by-summoner/"+s.id,region:i},c))})}):this._logError(this.getTotalChampMasteryScore.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getCurrentGame",value:function(){var e=this,t=arguments,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.region,r=void 0===i?this.defaultRegion:i,s=n.accountId,a=n.accId,u=n.id,l=n.summonerId,d=n.playerId,h=n.name,c=arguments[1];return Number.isInteger(s||a)?new Promise(function(n,i){return e.getSummoner({accId:s||a,region:r},function(s,o){return s?void(c?c(s):i(s)):n(e._spectatorRequest({endUrl:"active-games/by-summoner/"+o.id,region:r},c=r?c:t[0]))})}):Number.isInteger(u||l||d)?this._spectatorRequest({endUrl:"active-games/by-summoner/"+(u||l||d),region:r},c=r?c:arguments[0]):"object"===g(arguments[0])&&"string"==typeof h?new Promise(function(n,i){return e.getSummoner({name:h,region:r},function(s,o){return s?void(c?c(s):i(s)):n(e._spectatorRequest({endUrl:"active-games/by-summoner/"+o.id,region:r},c=r?c:t[0]))})}):this._logError(this.getCurrentGame.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getFeaturedGames",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=arguments[1];return this._spectatorRequest({endUrl:"featured-games",region:t},n=t?n:arguments[0])}},{key:"getRecentGames",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(d?d(i):s(i)):t(e._gameRequest({endUrl:"by-summoner/"+r.id+"/recent",region:n},d))})}):Number.isInteger(s||a||u)?this._gameRequest({endUrl:"by-summoner/"+(s||a||u)+"/recent",region:n},d):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._gameRequest({endUrl:"by-summoner/"+s.id+"/recent",region:n},d))})}):this._logError(this.getRecentGames.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getLeagues",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=t.options,h=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(h?h(i):s(i)):t(e._leagueRequest({endUrl:"leagues/by-summoner/"+r.id,region:n,options:d},h))})}):Number.isInteger(s||a||u)?this._leagueRequest({endUrl:"leagues/by-summoner/"+(s||a||u),region:n,options:d},h):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(h?h(r):i(r)):t(e._leagueRequest({endUrl:"leagues/by-summoner/"+s.id,region:n,options:d},h))})}):this._logError(this.getLeagues.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getLeaguePositions",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(d?d(i):s(i)):t(e._leagueRequest({endUrl:"positions/by-summoner/"+r.id,region:n},d))})}):Number.isInteger(s||a||u)?this._leagueRequest({endUrl:"positions/by-summoner/"+(s||a||u),region:n},d):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._leagueRequest({endUrl:"positions/by-summoner/"+s.id,region:n},d))})}):void this._logError(this.getLeaguePositions.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getChallengers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.queue,i=void 0===n?"RANKED_SOLO_5x5":n,r=arguments[1];if(r="function"==typeof arguments[0]?arguments[0]:arguments[1],"string"==typeof i)return this._leagueRequest({endUrl:"challengerleagues/by-queue/"+i,region:t},r);this._logError(this.getChallengers.name,"required params "+o.yellow("`queue` (string)")+" not passed in")}},{key:"getMasters",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.queue,i=void 0===n?"RANKED_SOLO_5x5":n,r=arguments[1];if(r="function"==typeof arguments[0]?arguments[0]:arguments[1],"string"==typeof i)return this._leagueRequest({endUrl:"masterleagues/by-queue/"+i,region:t},r);this._logError(this.getMasters.name,"required params "+o.yellow("`queue` (string)")+" not passed in")}},{key:"getChampionList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"champions",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getChampion",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.championId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._staticRequest({endUrl:"champions/"+(n||i),region:t,options:r},s):this._logError(this.getChampion.name,"required params "+o.yellow("`id/championId` (int)")+" not passed in")}},{key:"getItems",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"items",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getItem",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.itemId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._staticRequest({endUrl:"items/"+(n||i),region:t,options:r},s):this._logError(this.getItem.name,"required params "+o.yellow("`id/itemId` (int)")+" not passed in")}},{key:"getLanguageStrings",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"language-strings",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getLanguages",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=arguments[1];return this._staticRequest({endUrl:"languages",region:t},n=t?n:arguments[0])}},{key:"getMapData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"maps",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getMasteryList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"masteries",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getMastery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.masteryId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._staticRequest({endUrl:"masteries/"+(n||i),region:t,options:r},s):this._logError(this.getMastery.name,"required params "+o.yellow("`id/masteryId` (int)")+" not passed in")}},{key:"getProfileIcons",value:function(e,t){var n=e.region,i=e.options;return this._staticRequest({endUrl:"profile-icons",region:n,options:i},t=2===arguments.length?t:arguments[0])}},{key:"getRealmData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=arguments[1];return this._staticRequest({endUrl:"realms",region:t},n=t?n:arguments[0])}},{key:"getRuneList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"runes",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getRune",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.runeId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._staticRequest({endUrl:"runes/"+(n||i),region:t,options:r},s):this._logError(this.getRune.name,"required params "+o.yellow("`id/runeId` (int)")+" not passed in")}},{key:"getSummonerSpells",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"summoner-spells",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getSummonerSpell",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.spellId,r=e.summonerSpellId,s=e.options,a=arguments[1];return Number.isInteger(n||i||r)?this._staticRequest({endUrl:"summoner-spells/"+(n||i||r),region:t,options:s},a):this._logError(this.getSummonerSpell.name,"required params "+o.yellow("`id/spellId/summonerSpellId` (int)")+" not passed in")}},{key:"getVersionData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"versions",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getShardStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=arguments[1];return this._statusRequest({endUrl:"shard-data",region:t},n=t?n:arguments[0])}},{key:"getMatch",value:function(){
var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.matchId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._matchRequest({endUrl:"matches/"+(n||i),region:t,options:r},s):this._logError(this.getMatch.name,"required params "+o.yellow("`id/matchId` (int)")+" not passed in")}},{key:"getMatchlist",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=t.options,h=void 0===d?{queue:v.TEAM_BUILDER_RANKED_SOLO}:d,c=arguments[1];return Number.isInteger(i||r)?this._matchRequest({endUrl:"matchlists/by-account/"+(i||r),region:n,options:h},c):Number.isInteger(s||a||u)?new Promise(function(t,i){return e.getSummoner({id:s,region:n},function(r,s){return r?void(c?c(r):i(r)):t(e._matchRequest({endUrl:"matchlists/by-account/"+s.accountId,region:n,options:h},c))})}):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(c?c(r):i(r)):t(e._matchRequest({endUrl:"matchlists/by-account/"+s.accountId,region:n,options:h},c))})}):this._logError(this.getMatchlist.name,"required params "+o.yellow("`accountId/accId` (int)")+", "+o.yellow("`id/summonerId/playerId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getRecentMatchlist",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?this._matchRequest({endUrl:"matchlists/by-account/"+(i||r)+"/recent",region:n},d):Number.isInteger(s||a||u)?new Promise(function(t,i){return e.getSummoner({id:s,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._matchRequest({endUrl:"matchlists/by-account/"+s.accountId+"/recent",region:n},d))})}):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._matchRequest({endUrl:"matchlists/by-account/"+s.accountId+"/recent",region:n},d))})}):this._logError(this.getRecentMatchlist.name,"required params "+o.yellow("`accountId/accId` (int)")+", "+o.yellow("`id/summonerId/playerId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getMatchTimeline",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.matchId,r=arguments[1];return Number.isInteger(n||i)?this._matchRequest({endUrl:"timelines/by-match/"+(n||i),region:t},r):this._logError(this.getMatchTimeline.name,"required params "+o.yellow("`id/matchId` (int)")+" not passed in")}},{key:"getRunes",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(d?d(i):s(i)):t(e._runesMasteriesRequest({endUrl:"runes/by-summoner/"+r.id,region:n},d))})}):Number.isInteger(s||a||u)?this._runesMasteriesRequest({endUrl:"runes/by-summoner/"+(s||a||u),region:n},d):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._runesMasteriesRequest({endUrl:"runes/by-summoner/"+s.id,region:n},d))})}):this._logError(this.getRunes.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getMasteries",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(d?d(i):s(i)):t(e._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+r.id,region:n},d))})}):Number.isInteger(s||a||u)?this._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+(s||a||u),region:n},d):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+s.id,region:n},d))})}):this._logError(this.getMasteries.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getRankedStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=t.options,h=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(h?h(i):s(i)):t(e._statsRequest({endUrl:r.id+"/ranked",region:n,options:d},h))})}):Number.isInteger(s||a||u)?this._statsRequest({endUrl:(s||a||u)+"/ranked",region:n,options:d},h):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(h?h(r):i(r)):t(e._statsRequest({endUrl:s.id+"/ranked",region:n,options:d},h))})}):void this._logError(this.getRankedStats.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getStatsSummary",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=t.options,h=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(h?h(i):s(i)):t(e._statsRequest({endUrl:r.id+"/summary",region:n,options:d},h))})}):Number.isInteger(s||a||u)?this._statsRequest({endUrl:(s||a||u)+"/summary",region:n,options:d},h):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(h?h(r):i(r)):t(e._statsRequest({endUrl:s.id+"/summary",region:n,options:d},h))})}):void this._logError(this.getStatsSummary.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getSummoner",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.summonerId,r=e.playerId,s=e.accountId,a=e.accId,u=e.name,l=arguments[1];return Number.isInteger(n||i||r)?this._summonerRequest({endUrl:""+(n||i||r),region:t},l):"object"===g(arguments[0])&&"string"==typeof u?this._summonerRequest({endUrl:"by-name/"+this._sanitizeName(u),region:t},l):Number.isInteger(s||a)?this._summonerRequest({endUrl:"by-account/"+(s||a),region:t},l):this._logError(this.getSummoner.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getSummonerByAccId",value:function(e,t,n){return this.Summoner.get({region:t,accId:e},n)}},{key:"getMatchlistByName",value:function(e,t,n,i){return this.Matchlist.get({region:t,name:e,options:n},i)}},{key:"getRunesBySummonerId",value:function(e,t,n){return this.Runes.get({region:t,id:e},n)}},{key:"getRunesByAccountId",value:function(e,t,n){return this.Runes.get({region:t,accId:e},n)}},{key:"staticRuneList",value:function(e,t,n){return this.Static.runes({region:e,options:t},n)}}]),e}(),x={Kindred:L,REGIONS:S,LIMITS:_,TIME_CONSTANTS:R,CACHE_TYPES:A,QUEUE_TYPES:v,QuickStart:l,print:d};e.exports=x});
!function(e,t){if("function"==typeof define&&define.amd)define("kindred-api",["module","redis","double-ended-queue","xregexp","chalk","request","chalk","query-string"],t);else if("undefined"!=typeof exports)t(module,require("redis"),require("double-ended-queue"),require("xregexp"),require("chalk"),require("request"),require("chalk"),require("query-string"));else{var n={exports:{}};t(n,e.redis,e.doubleEndedQueue,e.xregexp,e.chalk,e.request,e.chalk,e.queryString),e.kindredApi=n.exports}}(this,function(e,t,n,i,r,s,o,a){"use strict";function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t,n){return new P({key:e,defaultRegion:t,debug:n,limits:_.DEV,cacheOptions:A[0]})}function d(e,t){e?console.log(e):console.log(t)}var g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),m=function(){function e(){u(this,e),this.cache={}}return h(e,[{key:"get",value:function(e,t){return this.cache[e.key]?Date.now()>this.cache[e.key].expires?(delete this.cache[e.key],t("expired cache key")):t(null,this.cache[e.key].value):t("cache key doesn't exist")}},{key:"set",value:function(e,t){this.cache[e.key]={expires:e.ttl?Date.now()+1e3*e.ttl:null,value:t}}}]),e}(),c=function(){function e(n){u(this,e);var i=Object.assign({},n||{},{host:"127.0.0.1",port:6379,keyPrefix:"kindredAPI-"});this.client=t.createClient(i.port,i.host),this.client.on("error",function(e){console.log("Redis error:",e)}),process.on("exit",function(){console.log("closing"),this.client.quit()}),this.prefix=i.keyPrefix}return h(e,[{key:"get",value:function(e,t){this.client.get(this.prefix+e.key,function(e,n){n?t(e,n):t(e)})}},{key:"set",value:function(e,t){this.client.setex(this.prefix+e.key,e.ttl,t)}}]),e}(),y=function(){function e(t,i){u(this,e),this.allowedRequests=t,this.seconds=i,this.madeRequests=new n}return h(e,[{key:"__reload",value:function(){for(var e=(new Date).getTime();this.madeRequests.length>0&&e-this.madeRequests.peekFront()>=1e3*this.seconds;)this.madeRequests.shift()}},{key:"addRequest",value:function(){this.madeRequests.push((new Date).getTime()+1e3*this.seconds)}},{key:"requestAvailable",value:function(){return this.__reload(),this.madeRequests.length<this.allowedRequests}}]),e}(),p={CHAMPION:"platform",CHAMPION_MASTERY:"champion-mastery",GAME:null,LEAGUE:"league",STATUS:"status",MASTERIES:"platform",MATCH:"match",MATCH_LIST:null,RUNES:"platform",RUNES_MASTERIES:"platform",SPECTATOR:"spectator",STATIC_DATA:"static-data",STATS:null,SUMMONER:"summoner",TOURNAMENT_STUB:"tournament-stub",TOURNAMENT:"tournament"},R={MONTH:2592e3,WEEK:604800,DAY:846400,SIX_HOURS:21600,THREE_HOURS:10800,TWO_HOURS:7200,HOUR:3600,THIRTY_MINUTES:1800,SHORT:600,NONE:null},I={CHAMPION:R.MONTH,CHAMPION_MASTERY:R.SIX_HOURS,CURRENT_GAME:R.NONE,FEATURED_GAMES:R.NONE,GAME:R.HOUR,LEAGUE:R.SIX_HOURS,STATIC:R.MONTH,STATUS:R.NONE,MATCH:R.MONTH,MATCH_LIST:R.ONE_HOUR,RUNES_MASTERIES:R.WEEK,SPECTATOR:R.NONE,STATS:R.HOUR,SUMMONER:R.DAY,TOURNAMENT_STUB:R.HOUR,TOURNAMENT:R.HOUR},_={DEV:[[10,10],[500,600]],PROD:[[3e3,10],[18e4,600]]},v={BRAZIL:"BR1",EUROPE:"EUN1",EUROPE_WEST:"EUW1",KOREA:"KR",LATIN_AMERICA_NORTH:"LA1",LATIN_AMERICA_SOUTH:"LA2",NORTH_AMERICA:"NA1",OCEANIA:"OC1",RUSSIA:"RU",TURKEY:"TR1",JAPAN:"JP1"},b={CUSTOM:0,NORMAL_3x3:8,NORMAL_5x5_BLIND:2,NORMAL_5x5_DRAFT:14,RANKED_SOLO_5x5:4,RANKED_PREMADE_5x5:6,RANKED_PREMADE_3x3:9,RANKED_FLEX_TT:9,RANKED_TEAM_3x3:41,RANKED_TEAM_5x5:42,ODIN_5x5_BLIND:16,ODIN_5x5_DRAFT:17,BOT_5x5:7,BOT_ODIN_5x5:25,BOT_5x5_INTRO:31,BOT_5x5_BEGINNER:32,BOT_5x5_INTERMEDIATE:33,BOT_TT_3x3:52,GROUP_FINDER_5x5:61,ARAM_5x5:65,ONEFORALL_5x5:70,FIRSTBLOOD_1x1:72,FIRSTBLOOD_2x2:73,SR_6x6:75,URF_5x5:76,ONEFORALL_MIRRORMODE_5x5:78,BOT_URF_5x5:83,NIGHTMARE_BOT_5x5_RANK1:91,NIGHTMARE_BOT_5x5_RANK2:92,NIGHTMARE_BOT_5x5_RANK5:93,ASCENSION_5x5:96,HEXAKILL:98,BILGEWATER_ARAM_5x5:100,KING_PORO_5x5:300,COUNTER_PICK:310,BILGEWATER_5x5:313,SIEGE:315,DEFINITELY_NOT_DOMINION_5x5:317,ARURF_5X5:318,ARSR_5x5:325,TEAM_BUILDER_DRAFT_UNRANKED_5x5:400,TEAM_BUILDER_DRAFT_RANKED_5x5:410,TEAM_BUILDER_RANKED_SOLO:420,RANKED_FLEX_SR:440,ASSASSINATE_5x5:600,DARKSTAR_3x3:610},f={BRAZIL:"br",EUROPE:"eune",EUROPE_WEST:"euw",KOREA:"kr",LATIN_AMERICA_NORTH:"lan",LATIN_AMERICA_SOUTH:"las",NORTH_AMERICA:"na",OCEANIA:"oce",RUSSIA:"ru",TURKEY:"tr",JAPAN:"jp"},S={br:"BRAZIL",eune:"EUROPE",euw:"EUROPE_WEST",kr:"KOREA",lan:"LATIN_AMERICA_NORTH",las:"LATIN_AMERICA_SOUTH",na:"NORTH_AMERICA",oce:"OCEANIA",ru:"RUSSIA",tr:"TURKEY",jp:"JAPAN"},E={CHAMPION:3,CHAMPION_MASTERY:3,CURRENT_GAME:1,FEATURED_GAMES:1,GAME:1.3,LEAGUE:3,STATIC_DATA:3,STATUS:3,MATCH:3,MATCH_LIST:2.2,RUNES_MASTERIES:3,SPECTATOR:3,STATS:1.3,SUMMONER:3,TOURNAMENT_STUB:3,TOURNAMENT:3},A=["in-memory-cache","redis"],T=i("^[0-9\\p{L} _\\.]+$"),M={int:function(e){return e.every(function(e){return Number.isInteger(e)})},string:function(e){return e.every(function(e){return"string"==typeof e})}},N={int:function(e){return e&&Array.isArray(e)&&M.int(e)&&e.length>0},string:function(e){return e&&Array.isArray(e)&&M.string(e)&&e.length>0}},U=function(e){var t=!0,n=!1,i=void 0;try{for(var r,s=Object.keys(f)[Symbol.iterator]();!(t=(r=s.next()).done);t=!0){var o=r.value;if(f[o]===e)return!0}}catch(e){n=!0,i=e}finally{try{!t&&s.return&&s.return()}finally{if(n)throw i}}return!1},C={400:"Bad Request",403:"Forbidden",404:"Not Found",415:"Unsupported Media Type",429:"Rate Limit Exceeded",500:"Internal Service Error",503:"Service Unavailable"},q=function(e){var t=C[e];if(t)return t},O=[200,400,500],k=function(e){return e>=O[0]&&e<O[1]?r.green(e):e>=O[1]&&e<O[2]?r.red(e+" "+q(e)):r.bold.red(e+" "+q(e))},w=function(e){return(Array.isArray(e)&&2!==e.length||!N.int(e[0])||2!==e[0].length||!N.int(e[1])||2!==e[1].length)&&"dev"!==e&&"prod"!==e},L=function(e,t,n){console.log(t,n),console.log({"x-app-rate-limit-count":e.headers["x-app-rate-limit-count"],"x-method-rate-limit-count":e.headers["x-method-rate-limit-count"],"x-rate-limit-count":e.headers["x-rate-limit-count"],"retry-after":e.headers["retry-after"]}),console.log()},P=function(){function e(t){var n=t.key,i=t.defaultRegion,r=void 0===i?f.NORTH_AMERICA:i,s=t.debug,a=void 0!==s&&s,l=t.limits,d=t.cacheOptions,g=t.cacheTTL;if(u(this,e),this.key=n,this.defaultRegion=U(r)?r:void 0,this.defaultRegion||(console.log(""+o.red("Initialization of Kindred failed: "+o.yellow(r)+" is an invalid region.")),console.log(""+o.red("Try importing "+o.yellow("require('./dist/kindred-api').REGIONS")+" and using one of those values instead.")),process.exit(1)),this.debug=a,d?(d===A[0]?this.cache=new m:d===A[1]?this.cache=new c:this.cache=d,this.CACHE_TIMERS=g?g:I):this.cache={get:function(e,t){return t(null,null)},set:function(e,t){}},this.CACHE_TIMERS||(this.CACHE_TIMERS={CHAMPION:0,CHAMPION_MASTERY:0,CURRENT_GAME:0,FEATURED_GAMES:0,GAME:0,LEAGUE:0,STATIC:0,STATUS:0,MATCH:0,MATCH_LIST:0,RUNES_MASTERIES:0,STATS:0,SUMMONER:0}),l){w(l)&&(console.log(o.red("Initialization of Kindred failed: Invalid "+o.yellow("limits")+". Valid examples: "+o.yellow("[[10, 10], [500, 600]]"))+"."),console.log(o.red("You can also pass in one of these two strings:")+" dev/prod "),console.log(""+o.red("and Kindred will set the limits appropriately.")),process.exit(1)),this.limits={},"dev"===l&&(l=_.DEV),"prod"===l&&(l=_.PROD);var h=!0,p=!1,R=void 0;try{for(var v,b=Object.keys(f)[Symbol.iterator]();!(h=(v=b.next()).done);h=!0){var S=v.value;this.limits[f[S]]=[new y(l[0][0],l[0][1]),new y(l[1][0],l[1][1])]}}catch(e){p=!0,R=e}finally{try{!h&&b.return&&b.return()}finally{if(p)throw R}}}this.Champion={getChampions:this.getChamps.bind(this),getAll:this.getChamps.bind(this),all:this.getChamps.bind(this),getChampion:this.getChamp.bind(this),get:this.getChamp.bind(this)},this.ChampionMastery={getChampionMastery:this.getChampMastery.bind(this),get:this.getChampMastery.bind(this),getChampionMasteries:this.getChampMasteries.bind(this),getAll:this.getChampMasteries.bind(this),all:this.getChampMasteries.bind(this),getTotalChampionMasteryScore:this.getTotalChampMasteryScore.bind(this),getTotalScore:this.getTotalChampMasteryScore.bind(this),totalScore:this.getTotalChampMasteryScore.bind(this),total:this.getTotalChampMasteryScore.bind(this),score:this.getTotalChampMasteryScore.bind(this)},this.CurrentGame={getCurrentGame:this.getCurrentGame.bind(this),get:this.getCurrentGame.bind(this)},this.FeaturedGames={getFeaturedGames:this.getFeaturedGames.bind(this),get:this.getFeaturedGames.bind(this)},this.Game={getRecentGames:this.getRecentGames.bind(this),getRecent:this.getRecentGames.bind(this),recent:this.getRecentGames.bind(this),get:this.getRecentGames.bind(this)},this.League={getLeagues:this.getLeagues.bind(this),leagues:this.getLeagues.bind(this),get:this.getLeagues.bind(this),getLeaguePositions:this.getLeaguePositions.bind(this),getPositions:this.getLeaguePositions.bind(this),positions:this.getLeaguePositions.bind(this),getChallengers:this.getChallengers.bind(this),challengers:this.getChallengers.bind(this),getMasters:this.getMasters.bind(this),masters:this.getMasters.bind(this)},this.Static={getChampions:this.getChampionList.bind(this),champions:this.getChampionList.bind(this),getChampion:this.getChampion.bind(this),champion:this.getChampion.bind(this),getItems:this.getItems.bind(this),items:this.getItems.bind(this),getItem:this.getItem.bind(this),item:this.getItem.bind(this),getLanguageStrings:this.getLanguageStrings.bind(this),languageStrings:this.getLanguageStrings.bind(this),getLanguages:this.getLanguages.bind(this),languages:this.getLanguages.bind(this),getMapData:this.getMapData.bind(this),mapData:this.getMapData.bind(this),map:this.getMapData.bind(this),maps:this.getMapData.bind(this),getMasteries:this.getMasteryList.bind(this),masteries:this.getMasteryList.bind(this),getMastery:this.getMastery.bind(this),mastery:this.getMastery.bind(this),getProfileIcons:this.getProfileIcons.bind(this),profileIcons:this.getProfileIcons.bind(this),getRealmData:this.getRealmData.bind(this),realmData:this.getRealmData.bind(this),realm:this.getRealmData.bind(this),realms:this.getRealmData.bind(this),getRunes:this.getRuneList.bind(this),runes:this.getRuneList.bind(this),getRune:this.getRune.bind(this),rune:this.getRune.bind(this),getSummonerSpells:this.getSummonerSpells.bind(this),summonerSpells:this.getSummonerSpells.bind(this),spells:this.getSummonerSpells.bind(this),getSummonerSpell:this.getSummonerSpell.bind(this),summonerSpell:this.getSummonerSpell.bind(this),spell:this.getSummonerSpell.bind(this),getVersionData:this.getVersionData.bind(this),versionData:this.getVersionData.bind(this),version:this.getVersionData.bind(this),versions:this.getVersionData.bind(this)},this.Status={getShardStatus:this.getShardStatus.bind(this),getStatus:this.getShardStatus.bind(this),get:this.getShardStatus.bind(this)},this.Match={getMatch:this.getMatch.bind(this),get:this.getMatch.bind(this),getMatchTimeline:this.getMatchTimeline.bind(this),getTimeline:this.getMatchTimeline.bind(this),timeline:this.getMatchTimeline.bind(this)},this.Matchlist={getMatchlist:this.getMatchlist.bind(this),get:this.getMatchlist.bind(this),getRecentMatchlist:this.getRecentMatchlist.bind(this),recent:this.getRecentMatchlist.bind(this)},this.RunesMasteries={getRunes:this.getRunes.bind(this),runes:this.getRunes.bind(this),getMasteries:this.getMasteries.bind(this),masteries:this.getMasteries.bind(this)},this.Runes={get:this.getRunes.bind(this)},this.Masteries={get:this.getMasteries.bind(this)},this.Stats={getRankedStats:this.getRankedStats.bind(this),ranked:this.getRankedStats.bind(this),getStatsSummary:this.getStatsSummary.bind(this),summary:this.getStatsSummary.bind(this)},this.Summoner={getSummoner:this.getSummoner.bind(this),get:this.getSummoner.bind(this),getRunes:this.getRunes.bind(this),runes:this.getRunes.bind(this),getMasteries:this.getMasteries.bind(this),masteries:this.getMasteries.bind(this),getMatchHistory:this.getRecentMatchlist.bind(this),matchHistory:this.getRecentMatchlist.bind(this),getMatchlist:this.getMatchlist.bind(this),matchlist:this.getMatchlist.bind(this),getChampionMasteries:this.getChampMasteries.bind(this),championMasteries:this.getChampMasteries.bind(this),getTotalChampionMasteryScore:this.getTotalChampMasteryScore.bind(this),totalChampionMasteryScore:this.getTotalChampMasteryScore.bind(this)},this.Tournament={getDTOByCode:this.getDTOByCode.bind(this),DTO:{byCode:this.getDTOByCode.bind(this)},getLobbyListEventsByCode:this.getLobbyListEventsByCode.bind(this),LobbyListEvents:{byCode:this.getLobbyListEventsByCode.bind(this)}},this.Ex={getSummonerByAccId:this.getSummonerByAccId.bind(this),getMatchlistByName:this.getMatchlistByName.bind(this),getRunesBySummonerId:this.getRunesBySummonerId.bind(this),getRunesByAccountId:this.getRunesByAccountId.bind(this),staticRuneList:this.staticRuneList.bind(this)}}return h(e,[{key:"canMakeRequest",value:function(e){return!(!this.limits[e][0].requestAvailable()||!this.limits[e][1].requestAvailable())}},{key:"_sanitizeName",value:function(e){if(this._validName(e))return e.replace(/\s/g,"").toLowerCase();this._logError(this._validName.name,"Name "+o.yellow(e)+" is not valid. Request failed."),process.exit(1)}},{key:"_validName",value:function(e){return T.test(e)}},{key:"_makeUrl",value:function(e,t,n,i,r,s){var o=n?"":t+"/",a=i||r||s?"":"api/lol/"+o,u="https://"+t+".api.riotgames.com/"+a+encodeURI(e),l="https://"+v[S[t]].toLowerCase()+".api.riotgames.com/lol/"+encodeURI(e);return l.lastIndexOf("v3")==-1?u:l}},{key:"_baseRequest",value:function(e,t){var n=this,i=e.endUrl,r=e.region,u=void 0===r?this.defaultRegion:r,l=e.status,d=void 0!==l&&l,g=e.observerMode,h=void 0!==g&&g,m=e.staticReq,c=void 0!==m&&m,y=e.championMastery,p=void 0!==y&&y,R=e.options,I=void 0===R?{}:R,_=e.cacheParams,v=void 0===_?{}:_,b=function(){return new Promise(function(e,r){var l="";if(i.lastIndexOf("v3")==-1){var g=!0,m=!1,y=void 0;try{for(var R,_=Object.keys(I)[Symbol.iterator]();!(g=(R=_.next()).done);g=!0){var b=R.value;Array.isArray(I[b])&&(I[b]=I[b].join(","))}}catch(e){m=!0,y=e}finally{try{!g&&_.return&&_.return()}finally{if(m)throw y}}l=a.stringify(I).replace(/%2C/,",")}else{var f=!0,S=!1,E=void 0;try{for(var A,T=Object.keys(I)[Symbol.iterator]();!(f=(A=T.next()).done);f=!0){var M=A.value;if(Array.isArray(I[M]))for(var N=0;N<I[M].length;++N)l&&(l+="&"),l+=M+"="+I[M][N];else l&&(l+="&"),l+=M+"="+I[M]}}catch(e){S=!0,E=e}finally{try{!f&&T.return&&T.return()}finally{if(S)throw E}}}var U=l?"?"+l:"",C=n._makeUrl(i+U,u,c,d,h,p),q=C+(C.lastIndexOf("?")===-1?"?":"&")+"api_key="+n.key;n.cache.get({key:C},function(i,a){if(a){n.debug&&console.log(o.green("CACHE HIT")+" "+q);var l=JSON.parse(a);return t?t(i,l):e(l)}if(n.limits){var d=n;!function t(n){d.canMakeRequest(u)?(c||(d.limits[u][0].addRequest(),d.limits[u][1].addRequest()),s({url:q},function(i,s,a){if(s&&a){var u=s.statusCode,l=k(u);if(d.debug&&L(s,l,q),"function"==typeof n)return u>=500&&(d.debug&&console.log("!!! resending request !!!"),setTimeout(function(){t.bind(d)(n)},1e3)),429===u&&(d.debug&&console.log("!!! resending request !!!"),setTimeout(function(){t.bind(d)(n)},1e3*s.headers["retry-after"]+50)),u>=400?n(l+" : "+o.yellow(C)):(Number.isInteger(v.ttl)&&v.ttl>0&&d.cache.set({key:C,ttl:v.ttl},a),n(i,JSON.parse(a)));if(500===u)d.debug&&console.log("!!! resending promise request !!!"),setTimeout(function(){return r("retry")},1e3);else{if(429!==u)return i||u>=400?r("err:",i,u):(Number.isInteger(v.ttl)&&v.ttl>0&&d.cache.set({key:C,ttl:v.ttl},a),e(JSON.parse(a)));d.debug&&console.log("!!! resending promise request !!!"),setTimeout(function(){return r("retry")},1e3*s.headers["retry-after"]+50)}}else console.log(i,q)})):setTimeout(function(){t.bind(d)(n)},1e3)}(t)}else s({url:q},function(n,i,s){if(i){var a=i.statusCode,u=k(a);return d.debug&&L(i,u,q),"function"==typeof t?a>=400?t(u+" : "+o.yellow(C)):t(n,JSON.parse(s)):n?r("err:",n):e(JSON.parse(s))}console.log(n,C)})})})};return t?b():b().catch(b).catch(b).catch(b).then(function(e){return e})}},{key:"_championMasteryRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:p.CHAMPION_MASTERY+"/v"+E.CHAMPION+"/"+n,region:i,options:r,championMastery:!0,cacheParams:{ttl:this.CACHE_TIMERS.CHAMPION_MASTERY}},t)}},{key:"_championRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:p.CHAMPION+"/v"+E.CHAMPION+"/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.CHAMPION}},t)}},{key:"_spectatorRequest",value:function(e,t){var n=e.endUrl,i=e.region;return this._baseRequest({endUrl:p.SPECTATOR+"/v"+E.SPECTATOR+"/"+n,region:i,cacheParams:{ttl:this.CACHE_TIMERS.SPECTATOR}},t)}},{key:"_staticRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=void 0===i?this.defaultRegion:i,s=e.options;return this._baseRequest({endUrl:p.STATIC_DATA+"/v"+E.STATIC_DATA+"/"+n,staticReq:!0,region:r,options:s,cacheParams:{ttl:this.CACHE_TIMERS.STATIC}},t)}},{key:"_statusRequest",value:function(e,t){var n=e.endUrl,i=(e.region,e.options);return this._baseRequest({endUrl:p.STATUS+"/v"+E.STATUS+"/"+n,status:!0,options:i,cacheParams:{ttl:this.CACHE_TIMERS.STATUS}},t)}},{key:"_gameRequest",value:function(e,t){var n=e.endUrl,i=e.region;return this._baseRequest({endUrl:"v"+E.GAME+"/game/"+n,region:i,cacheParams:{ttl:this.CACHE_TIMERS.GAME}},t)}},{key:"_leagueRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:p.LEAGUE+"/v"+E.LEAGUE+"/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.LEAGUE}},t)}},{key:"_matchRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:p.MATCH+"/v"+E.MATCH+"/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.MATCH}},t)}},{key:"_matchlistRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:"v"+E.MATCH_LIST+"/matchlist/by-summoner/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.MATCH_LIST}},t)}},{key:"_runesMasteriesRequest",value:function(e,t){var n=e.endUrl,i=e.region;return this._baseRequest({endUrl:p.RUNES_MASTERIES+"/v"+E.RUNES_MASTERIES+"/"+n,region:i,cacheParams:{ttl:this.CACHE_TIMERS.RUNES_MASTERIES}},t)}},{key:"_statsRequest",value:function(e,t){var n=e.endUrl,i=e.region,r=e.options;return this._baseRequest({endUrl:"v"+E.STATS+"/stats/by-summoner/"+n,region:i,options:r,cacheParams:{ttl:this.CACHE_TIMERS.STATS}},t)}},{key:"_summonerRequest",value:function(e,t){var n=e.endUrl,i=e.region;return this._baseRequest({endUrl:p.SUMMONER+"/v"+E.SUMMONER+"/summoners/"+n,region:i,cacheParams:{ttl:this.CACHE_TIMERS.SUMMONER}},t)}},{key:"_tournamentRequest",value:function(e,t){var n=(e.endUrl,e.region);return this._baseRequest({endUrl:p.TOURNAMENT+"/v"+E.TOURNAMENT,region:n,cacheParams:{ttl:this.CACHE_TIMERS.TOURNAMENT}},t)}},{key:"_logError",value:function(e,t){console.log(o.bold.yellow(e),o.red("request"),o.bold.red("FAILED")+o.red("; "+t)),process.exit(1)}},{key:"setRegion",value:function(e){this.defaultRegion=U(e)?e:void 0,console.log(""+o.red("setRegion() by Kindred failed: "+o.yellow(e)+" is an invalid region.")),console.log(""+o.red("Try importing "+o.yellow("require('./dist/kindred-api').REGIONS")+" and using one of those values instead.")),process.exit(1)}},{key:"getChamps",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._championRequest({endUrl:"champions",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getChamp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.championId,r=arguments[1];return Number.isInteger(n)||Number.isInteger(i)?this._championRequest({endUrl:"champions/"+(n||i),region:t},r):this._logError(this.getChamp.name,"required params "+o.yellow("`id/championId` (int)")+" not passed in")}},{key:"getChampMastery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=void 0===t?this.defaultRegion:t,i=e.playerId,r=e.championId,s=e.options,a=arguments[1];return Number.isInteger(i)&&Number.isInteger(r)?this._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+i+"/by-champion/"+r,region:n,options:s},a):this._logError(this.getChampMastery.name,"required params "+o.yellow("`playerId` (int) AND `championId` (int)")+" not passed in")}},{key:"getChampMasteries",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=void 0===n?this.defaultRegion:n,r=t.accountId,s=t.accId,a=t.id,u=t.summonerId,l=t.playerId,d=t.name,h=t.options,m=arguments[1];return Number.isInteger(r||s)?new Promise(function(t,n){return e.getSummoner({accId:r||s,region:i},function(r,s){return r?void(m?m(r):n(r)):t(e._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+s.id,region:i},m))})}):Number.isInteger(a||u||l)?this._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+(a||u||l),region:i,options:h},m):"object"===g(arguments[0])&&"string"==typeof d?new Promise(function(t,n){return e.getSummoner({name:d,region:i},function(r,s){return r?void(m?m(r):n(r)):t(e._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+s.id,region:i},m))})}):this._logError(this.getChampMasteries.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getTotalChampMasteryScore",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=void 0===n?this.defaultRegion:n,r=t.accountId,s=t.accId,a=t.id,u=t.summonerId,l=t.playerId,d=t.name,h=t.options,m=arguments[1];return Number.isInteger(r||s)?new Promise(function(t,n){return e.getSummoner({accId:r||s,region:i},function(r,s){return r?void(m?m(r):n(r)):t(e._championMasteryRequest({endUrl:"scores/by-summoner/"+s.id,region:i},m))})}):Number.isInteger(a||u||l)?this._championMasteryRequest({endUrl:"scores/by-summoner/"+(a||u||l),region:i,options:h},m):"object"===g(arguments[0])&&"string"==typeof d?new Promise(function(t,n){return e.getSummoner({name:d,region:i},function(r,s){return r?void(m?m(r):n(r)):t(e._championMasteryRequest({endUrl:"scores/by-summoner/"+s.id,region:i},m))})}):this._logError(this.getTotalChampMasteryScore.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getCurrentGame",value:function(){var e=this,t=arguments,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=n.region,r=void 0===i?this.defaultRegion:i,s=n.accountId,a=n.accId,u=n.id,l=n.summonerId,d=n.playerId,h=n.name,m=arguments[1];return Number.isInteger(s||a)?new Promise(function(n,i){return e.getSummoner({accId:s||a,region:r},function(s,o){return s?void(m?m(s):i(s)):n(e._spectatorRequest({endUrl:"active-games/by-summoner/"+o.id,region:r},m=r?m:t[0]))})}):Number.isInteger(u||l||d)?this._spectatorRequest({endUrl:"active-games/by-summoner/"+(u||l||d),region:r},m=r?m:arguments[0]):"object"===g(arguments[0])&&"string"==typeof h?new Promise(function(n,i){return e.getSummoner({name:h,region:r},function(s,o){return s?void(m?m(s):i(s)):n(e._spectatorRequest({endUrl:"active-games/by-summoner/"+o.id,region:r},m=r?m:t[0]))})}):this._logError(this.getCurrentGame.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getFeaturedGames",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=arguments[1];return this._spectatorRequest({endUrl:"featured-games",region:t},n=t?n:arguments[0])}},{key:"getRecentGames",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(d?d(i):s(i)):t(e._gameRequest({endUrl:"by-summoner/"+r.id+"/recent",region:n},d))})}):Number.isInteger(s||a||u)?this._gameRequest({endUrl:"by-summoner/"+(s||a||u)+"/recent",region:n},d):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._gameRequest({endUrl:"by-summoner/"+s.id+"/recent",region:n},d))})}):this._logError(this.getRecentGames.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getLeagues",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=t.options,h=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(h?h(i):s(i)):t(e._leagueRequest({endUrl:"leagues/by-summoner/"+r.id,region:n,options:d},h))})}):Number.isInteger(s||a||u)?this._leagueRequest({endUrl:"leagues/by-summoner/"+(s||a||u),region:n,options:d},h):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(h?h(r):i(r)):t(e._leagueRequest({endUrl:"leagues/by-summoner/"+s.id,region:n,options:d},h))})}):this._logError(this.getLeagues.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getLeaguePositions",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(d?d(i):s(i)):t(e._leagueRequest({endUrl:"positions/by-summoner/"+r.id,region:n},d))})}):Number.isInteger(s||a||u)?this._leagueRequest({endUrl:"positions/by-summoner/"+(s||a||u),region:n},d):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._leagueRequest({endUrl:"positions/by-summoner/"+s.id,region:n},d))})}):void this._logError(this.getLeaguePositions.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getChallengers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.queue,i=void 0===n?"RANKED_SOLO_5x5":n,r=arguments[1];if(r="function"==typeof arguments[0]?arguments[0]:arguments[1],"string"==typeof i)return this._leagueRequest({endUrl:"challengerleagues/by-queue/"+i,region:t},r);this._logError(this.getChallengers.name,"required params "+o.yellow("`queue` (string)")+" not passed in")}},{key:"getMasters",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.queue,i=void 0===n?"RANKED_SOLO_5x5":n,r=arguments[1];if(r="function"==typeof arguments[0]?arguments[0]:arguments[1],"string"==typeof i)return this._leagueRequest({endUrl:"masterleagues/by-queue/"+i,region:t},r);this._logError(this.getMasters.name,"required params "+o.yellow("`queue` (string)")+" not passed in")}},{key:"getChampionList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"champions",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getChampion",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.championId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._staticRequest({endUrl:"champions/"+(n||i),region:t,options:r},s):this._logError(this.getChampion.name,"required params "+o.yellow("`id/championId` (int)")+" not passed in")}},{key:"getItems",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"items",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getItem",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.itemId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._staticRequest({endUrl:"items/"+(n||i),region:t,options:r},s):this._logError(this.getItem.name,"required params "+o.yellow("`id/itemId` (int)")+" not passed in")}},{key:"getLanguageStrings",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"language-strings",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getLanguages",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=arguments[1];return this._staticRequest({endUrl:"languages",region:t},n=t?n:arguments[0])}},{key:"getMapData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"maps",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getMasteryList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"masteries",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getMastery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.masteryId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._staticRequest({endUrl:"masteries/"+(n||i),region:t,options:r},s):this._logError(this.getMastery.name,"required params "+o.yellow("`id/masteryId` (int)")+" not passed in")}},{key:"getProfileIcons",value:function(e,t){var n=e.region,i=e.options;return this._staticRequest({endUrl:"profile-icons",region:n,options:i},t=2===arguments.length?t:arguments[0])}},{key:"getRealmData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=arguments[1];return this._staticRequest({endUrl:"realms",region:t},n=t?n:arguments[0])}},{key:"getRuneList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"runes",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getRune",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.runeId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._staticRequest({endUrl:"runes/"+(n||i),region:t,options:r},s):this._logError(this.getRune.name,"required params "+o.yellow("`id/runeId` (int)")+" not passed in")}},{key:"getSummonerSpells",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"summoner-spells",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getSummonerSpell",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.spellId,r=e.summonerSpellId,s=e.options,a=arguments[1];return Number.isInteger(n||i||r)?this._staticRequest({endUrl:"summoner-spells/"+(n||i||r),region:t,options:s
},a):this._logError(this.getSummonerSpell.name,"required params "+o.yellow("`id/spellId/summonerSpellId` (int)")+" not passed in")}},{key:"getVersionData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.options,i=arguments[1];return this._staticRequest({endUrl:"versions",region:t,options:n},i=2===arguments.length?i:arguments[0])}},{key:"getShardStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=arguments[1];return this._statusRequest({endUrl:"shard-data",region:t},n=t?n:arguments[0])}},{key:"getMatch",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.matchId,r=e.options,s=arguments[1];return Number.isInteger(n||i)?this._matchRequest({endUrl:"matches/"+(n||i),region:t,options:r},s):this._logError(this.getMatch.name,"required params "+o.yellow("`id/matchId` (int)")+" not passed in")}},{key:"getMatchlist",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=t.options,h=void 0===d?{queue:b.TEAM_BUILDER_RANKED_SOLO}:d,m=arguments[1];return Number.isInteger(i||r)?this._matchRequest({endUrl:"matchlists/by-account/"+(i||r),region:n,options:h},m):Number.isInteger(s||a||u)?new Promise(function(t,i){return e.getSummoner({id:s,region:n},function(r,s){return r?void(m?m(r):i(r)):t(e._matchRequest({endUrl:"matchlists/by-account/"+s.accountId,region:n,options:h},m))})}):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(m?m(r):i(r)):t(e._matchRequest({endUrl:"matchlists/by-account/"+s.accountId,region:n,options:h},m))})}):this._logError(this.getMatchlist.name,"required params "+o.yellow("`accountId/accId` (int)")+", "+o.yellow("`id/summonerId/playerId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getRecentMatchlist",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?this._matchRequest({endUrl:"matchlists/by-account/"+(i||r)+"/recent",region:n},d):Number.isInteger(s||a||u)?new Promise(function(t,i){return e.getSummoner({id:s,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._matchRequest({endUrl:"matchlists/by-account/"+s.accountId+"/recent",region:n},d))})}):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._matchRequest({endUrl:"matchlists/by-account/"+s.accountId+"/recent",region:n},d))})}):this._logError(this.getRecentMatchlist.name,"required params "+o.yellow("`accountId/accId` (int)")+", "+o.yellow("`id/summonerId/playerId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getMatchTimeline",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.matchId,r=arguments[1];return Number.isInteger(n||i)?this._matchRequest({endUrl:"timelines/by-match/"+(n||i),region:t},r):this._logError(this.getMatchTimeline.name,"required params "+o.yellow("`id/matchId` (int)")+" not passed in")}},{key:"getRunes",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(d?d(i):s(i)):t(e._runesMasteriesRequest({endUrl:"runes/by-summoner/"+r.id,region:n},d))})}):Number.isInteger(s||a||u)?this._runesMasteriesRequest({endUrl:"runes/by-summoner/"+(s||a||u),region:n},d):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._runesMasteriesRequest({endUrl:"runes/by-summoner/"+s.id,region:n},d))})}):this._logError(this.getRunes.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getMasteries",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(d?d(i):s(i)):t(e._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+r.id,region:n},d))})}):Number.isInteger(s||a||u)?this._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+(s||a||u),region:n},d):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(d?d(r):i(r)):t(e._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+s.id,region:n},d))})}):this._logError(this.getMasteries.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getRankedStats",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=t.options,h=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(h?h(i):s(i)):t(e._statsRequest({endUrl:r.id+"/ranked",region:n,options:d},h))})}):Number.isInteger(s||a||u)?this._statsRequest({endUrl:(s||a||u)+"/ranked",region:n,options:d},h):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(h?h(r):i(r)):t(e._statsRequest({endUrl:s.id+"/ranked",region:n,options:d},h))})}):void this._logError(this.getRankedStats.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getStatsSummary",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.region,i=t.accountId,r=t.accId,s=t.id,a=t.summonerId,u=t.playerId,l=t.name,d=t.options,h=arguments[1];return Number.isInteger(i||r)?new Promise(function(t,s){return e.getSummoner({accId:i||r,region:n},function(i,r){return i?void(h?h(i):s(i)):t(e._statsRequest({endUrl:r.id+"/summary",region:n,options:d},h))})}):Number.isInteger(s||a||u)?this._statsRequest({endUrl:(s||a||u)+"/summary",region:n,options:d},h):"object"===g(arguments[0])&&"string"==typeof l?new Promise(function(t,i){return e.getSummoner({name:l,region:n},function(r,s){return r?void(h?h(r):i(r)):t(e._statsRequest({endUrl:s.id+"/summary",region:n,options:d},h))})}):void this._logError(this.getStatsSummary.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getSummoner",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,n=e.id,i=e.summonerId,r=e.playerId,s=e.accountId,a=e.accId,u=e.name,l=arguments[1];return Number.isInteger(n||i||r)?this._summonerRequest({endUrl:""+(n||i||r),region:t},l):"object"===g(arguments[0])&&"string"==typeof u?this._summonerRequest({endUrl:"by-name/"+this._sanitizeName(u),region:t},l):Number.isInteger(s||a)?this._summonerRequest({endUrl:"by-account/"+(s||a),region:t},l):this._logError(this.getSummoner.name,"required params "+o.yellow("`id/summonerId/playerId` (int)")+", "+o.yellow("`accountId/accId` (int)")+", or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getDTOByCode",value:function(e,t){return"string"==typeof e?this._tournamentRequest({endUrl:"lobby-events/codes/"+e},t):this._logError(this.getDTOByCode.name,"required params "+o.yellow("`code` (int)")+" not passed in")}},{key:"getLobbyListEventsByCode",value:function(e,t){return"string"==typeof e?this._tournamentRequest({endUrl:"lobby-events/by-code/"+e},t):this._logError(this.getLobbyListEventsByCode.name,"required params "+o.yellow("`code` (int)")+" not passed in")}},{key:"getSummonerByAccId",value:function(e,t,n){return this.Summoner.get({region:t,accId:e},n)}},{key:"getMatchlistByName",value:function(e,t,n,i){return this.Matchlist.get({region:t,name:e,options:n},i)}},{key:"getRunesBySummonerId",value:function(e,t,n){return this.Runes.get({region:t,id:e},n)}},{key:"getRunesByAccountId",value:function(e,t,n){return this.Runes.get({region:t,accId:e},n)}},{key:"staticRuneList",value:function(e,t,n){return this.Static.runes({region:e,options:t},n)}}]),e}(),D={Kindred:P,REGIONS:f,LIMITS:_,TIME_CONSTANTS:R,CACHE_TYPES:A,QUEUE_TYPES:b,QuickStart:l,print:d};e.exports=D});
{
"name": "kindred-api",
"version": "2.0.20",
"version": "2.0.21",
"description": "Kindred is a thin Node.js wrapper on top of Riot Games API for League of Legends",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -54,2 +54,3 @@ # Kindred

* [SUMMONER-V3](#summoner)
* [TOURNAMENT-V3](#tournament)

@@ -105,3 +106,3 @@ ### Champion Mastery

### League
[docs](https://developer.riotgames.com/api-methods/#league-v2.5)
[docs](https://developer.riotgames.com/api-methods/#league-v3)

@@ -338,2 +339,12 @@ 1. **/lol/league/v3/challengerleagues/by-queue/{queue}**

### Tournament
[docs](https://developer.riotgames.com/api-methods/#tournament-v3)
1. **/lol/tournament/v3/codes/{tournamentCode}**
* Returns the tournament code DTO associated with a tournament code string.
* getDTOByCode(code (string), cb)
2. **/lol/tournament/v3/lobby-events/by-code/{tournamentCode}**
* Gets a list of lobby events by tournament code.
* getLobbyListEventsByCode(code (string), cb)
## Quickstart

@@ -448,5 +459,3 @@ Debug on, dev key rate limiting per region, in-memory cache with default settings on for quick scripts

k.League.challengers({ region: 'na', options: {
type: 'RANKED_FLEX_SR'
}}, rprint)
k.League.challengers({ region: 'na', queue: 'RANKED_FLEX_SR' }, rprint)

@@ -594,5 +603,3 @@ /*

k.League.challengers({ region: REGIONS.NORTH_AMERICA }, rprint) // get challengers from ranked solo queue ladder
k.League.challengers({ region: REGIONS.NORTH_AMERICA, options: {
type: 'RANKED_FLEX_SR' // league v2.5 still uses strings
}}, rprint) // get challengers from ranked flex ladder
k.League.challengers({ region: REGIONS.NORTH_AMERICA, queue: 'RANKED_FLEX_SR' }, rprint) // get challengers from ranked flex ladder
k.Match.get({ id: 2459973154 }, rprint) // includes timeline by default

@@ -599,0 +606,0 @@ k.Match.get({ id: 2459973154, options: { includeTimeline: false } }, rprint)

@@ -18,5 +18,7 @@ import cacheTimers from './cache-timers'

STATS: cacheTimers.HOUR,
SUMMONER: cacheTimers.DAY
SUMMONER: cacheTimers.DAY,
TOURNAMENT_STUB: cacheTimers.HOUR, // TODO: ??
TOURNAMENT: cacheTimers.HOUR // TODO: ??
}
export default endpointCacheTimers
const limits = {
'DEV': [[10, 10], [500, 600]],
// 'NEW_DEV': [[20, 1], [100, 120]]; https://discussion.developer.riotgames.com/articles/1221/overhauling-development-api-keys.html
'PROD': [[3000, 10], [180000, 600]]

@@ -4,0 +5,0 @@ }

@@ -15,5 +15,7 @@ const services = {

'STATS': null,
'SUMMONER': 'summoner'
'SUMMONER': 'summoner',
'TOURNAMENT_STUB': 'tournament-stub',
'TOURNAMENT': 'tournament'
}
export default services

@@ -16,5 +16,7 @@ /* This will be removed once all the endpoints are implemented by Riot. */

'STATS': 1.3,
'SUMMONER': 3
'SUMMONER': 3,
'TOURNAMENT_STUB': 3,
'TOURNAMENT': 3
}
export default versions

@@ -285,2 +285,16 @@ const request = require('request')

this.Tournament = {
getDTOByCode: this.getDTOByCode.bind(this),
DTO: { // hmm i like this
byCode: this.getDTOByCode.bind(this)
},
getLobbyListEventsByCode: this.getLobbyListEventsByCode.bind(this),
LobbyListEvents: {
byCode: this.getLobbyListEventsByCode.bind(this)
}
}
this.Ex = {

@@ -587,2 +601,11 @@ getSummonerByAccId: this.getSummonerByAccId.bind(this),

_tournamentRequest({ endUrl, region }, cb) {
return this._baseRequest({
endUrl: `${SERVICES.TOURNAMENT}/v${VERSIONS.TOURNAMENT}`, region,
cacheParams: {
ttl: this.CACHE_TIMERS.TOURNAMENT
}
}, cb)
}
_logError(message, expected) {

@@ -592,2 +615,3 @@ console.log(

)
process.exit(1)
}

@@ -1358,2 +1382,29 @@

/* TOURNAMENT-V3 */
getDTOByCode(code, cb) {
if (typeof code === 'string') {
return this._tournamentRequest({
endUrl: `lobby-events/codes/${code}`
}, cb)
} else {
return this._logError(
this.getDTOByCode.name,
`required params ${chalk.yellow('`code` (int)')} not passed in`
)
}
}
getLobbyListEventsByCode(code, cb) {
if (typeof code === 'string') {
return this._tournamentRequest({
endUrl: `lobby-events/by-code/${code}`
}, cb)
} else {
return this._logError(
this.getLobbyListEventsByCode.name,
`required params ${chalk.yellow('`code` (int)')} not passed in`
)
}
}
/* Examples */

@@ -1360,0 +1411,0 @@ getSummonerByAccId(accId, region, cb) {

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc