Huge News!Announcing our $40M Series B led by Abstract Ventures.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.5 to 2.0.6

2

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 i={exports:{}};t(i,e.redis,e.doubleEndedQueue,e.xregexp,e.chalk,e.request,e.chalk,e.queryString),e.kindredApi=i.exports}}(this,function(e,t,i,n,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,i){return new w({key:e,defaultRegion:t,debug:i,limits:S.DEV,cacheOptions:_[0]})}function g(e,t){e?console.log(e):console.log(t)}var h="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},m=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),d=function(){function e(){u(this,e),this.cache={}}return m(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(i){u(this,e);var n=Object.assign({},i||{},{host:"127.0.0.1",port:6379,keyPrefix:"kindredAPI-"});this.client=t.createClient(n.port,n.host),this.client.on("error",function(e){console.log("Redis error:",e)}),process.on("exit",function(){console.log("closing"),this.client.quit()}),this.prefix=n.keyPrefix}return m(e,[{key:"get",value:function(e,t){this.client.get(this.prefix+e.key,function(e,i){i?t(e,i):t(e)})}},{key:"set",value:function(e,i){this.client.setex(this.prefix+e.key,e.ttl,i,t.print),console.log("set for "+e.ttl+" seconds")}}]),e}(),p=function(){function e(t,n){u(this,e),this.allowedRequests=t,this.seconds=n,this.madeRequests=new i}return m(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:null,STATUS:"status",MASTERIES:"platform",MATCH:null,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},v={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},S={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"},b={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"},E={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"},I={CHAMPION:3,CHAMPION_MASTERY:3,CURRENT_GAME:1,FEATURED_GAMES:1,GAME:1.3,LEAGUE:2.5,STATIC_DATA:3,STATUS:3,MATCH:2.2,MATCH_LIST:2.2,RUNES_MASTERIES:3,SPECTATOR:3,STATS:1.3,SUMMONER:3},_=["in-memory-cache","redis"],A=n("^[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})}},T={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}},C=function(e){var t=!0,i=!1,n=void 0;try{for(var r,s=Object.keys(b)[Symbol.iterator]();!(t=(r=s.next()).done);t=!0){var o=r.value;if(b[o]===e)return!0}}catch(e){i=!0,n=e}finally{try{!t&&s.return&&s.return()}finally{if(i)throw n}}return!1},U={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=U[e];if(t)return t},D=[200,400,500],N=function(e){return e>=D[0]&&e<D[1]?r.green(e):e>=D[1]&&e<D[2]?r.red(e+" "+q(e)):r.bold.red(e+" "+q(e))},k=function(e){return(Array.isArray(e)&&2!==e.length||!T.int(e[0])||2!==e[0].length||!T.int(e[1])||2!==e[1].length)&&"dev"!==e&&"prod"!==e},O=function(e,t,i){console.log(t,i),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()},w=function(){function e(t){var i=t.key,n=t.defaultRegion,r=void 0===n?b.NORTH_AMERICA:n,s=t.debug,a=void 0!==s&&s,l=t.limits,g=t.cacheOptions,h=t.cacheTTL;if(u(this,e),this.key=i,this.defaultRegion=C(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,g?(g===_[0]?this.cache=new d:g===_[1]?this.cache=new c:this.cache=g,this.CACHE_TIMERS=h?h:v):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){k(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=S.DEV),"prod"===l&&(l=S.PROD);var m=!0,y=!1,R=void 0;try{for(var f,E=Object.keys(b)[Symbol.iterator]();!(m=(f=E.next()).done);m=!0){var I=f.value;this.limits[b[I]]=[new p(l[0][0],l[0][1]),new p(l[1][0],l[1][1])]}}catch(e){y=!0,R=e}finally{try{!m&&E.return&&E.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),get:this.getRecentGames.bind(this)},this.League={getLeagues:this.getLeagues.bind(this),get:this.getLeagues.bind(this),getLeagueEntries:this.getLeagueEntries.bind(this),getEntries:this.getLeagueEntries.bind(this),entries:this.getLeagueEntries.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),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)},this.MatchList={getMatchList:this.getMatchList.bind(this),get:this.getMatchList.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)}}return m(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 A.test(e)}},{key:"_makeUrl",value:function(e,t,i,n,r,s){var o=i?"":t+"/",a=n||r||s?"":"api/lol/"+o,u="https://"+t+".api.riotgames.com/"+a+encodeURI(e),l="https://"+f[E[t]].toLowerCase()+".api.riotgames.com/lol/"+encodeURI(e);return l.lastIndexOf("v3")==-1?u:l}},{key:"_baseRequest",value:function(e,t){var i=this,n=e.endUrl,r=e.region,u=void 0===r?this.defaultRegion:r,l=e.status,g=void 0!==l&&l,h=e.observerMode,m=void 0!==h&&h,d=e.staticReq,c=void 0!==d&&d,p=e.championMastery,y=void 0!==p&&p,R=e.options,v=void 0===R?{}:R,S=e.cacheParams,f=void 0===S?{}:S,b=function(){return new Promise(function(e,r){var l=!0,h=!1,d=void 0;try{for(var p,R=Object.keys(v)[Symbol.iterator]();!(l=(p=R.next()).done);l=!0){var S=p.value;Array.isArray(v[S])&&(v[S]=v[S].join(","))}}catch(e){h=!0,d=e}finally{try{!l&&R.return&&R.return()}finally{if(h)throw d}}var b=a.stringify(v),E=b?"?"+b:"",I=i._makeUrl(n+E,u,c,g,m,y),_=I+(I.lastIndexOf("?")===-1?"?":"&")+"api_key="+i.key;i.cache.get({key:I},function(n,a){if(a){var l=JSON.parse(a);return t?t(n,l):e(l)}if(i.limits){var g=i;!function t(i){g.canMakeRequest(u)?(c||(g.limits[u][0].addRequest(),g.limits[u][1].addRequest()),s({url:_},function(n,s,a){if(s&&a){var u=s.statusCode,l=N(u);if(g.debug&&O(s,l,_),"function"==typeof i)return u>=500&&(g.debug&&console.log("!!! resending request !!!"),setTimeout(function(){t.bind(g)(i)},1e3)),429===u&&(g.debug&&console.log("!!! resending request !!!"),setTimeout(function(){t.bind(g)(i)},1e3*s.headers["retry-after"]+50)),u>=400?i(l+" : "+o.yellow(I)):(Number.isInteger(f.ttl)&&f.ttl>0&&g.cache.set({key:I,ttl:f.ttl},a),i(n,JSON.parse(a)));if(500===u)g.debug&&console.log("!!! resending promise request !!!"),setTimeout(function(){return r("retry")},1e3);else{if(429!==u)return n||u>=400?r("err:",n,u):(Number.isInteger(f.ttl)&&f.ttl>0&&g.cache.set({key:I,ttl:f.ttl},a),e(JSON.parse(a)));g.debug&&console.log("!!! resending promise request !!!"),setTimeout(function(){return r("retry")},1e3*s.headers["retry-after"]+50)}}else console.log(n,_)})):setTimeout(function(){t.bind(g)(i)},1e3)}(t)}else s({url:_},function(i,n,s){if(n){var a=n.statusCode,u=N(a);return g.debug&&O(n,u,_),"function"==typeof t?a>=400?t(u+" : "+o.yellow(I)):t(i,JSON.parse(s)):i?r("err:",i):e(JSON.parse(s))}console.log(i,I)})})})};return t?b():b().catch(b).catch(b).catch(b).then(function(e){return e})}},{key:"_championMasteryRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:y.CHAMPION_MASTERY+"/v"+I.CHAMPION+"/"+i,region:n,options:r,championMastery:!0,cacheParams:{ttl:this.CACHE_TIMERS.CHAMPION_MASTERY}},t)}},{key:"_championRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:y.CHAMPION+"/v"+I.CHAMPION+"/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.CHAMPION}},t)}},{key:"_spectatorRequest",value:function(e,t){var i=e.endUrl,n=e.region;return this._baseRequest({endUrl:y.SPECTATOR+"/v"+I.SPECTATOR+"/"+i,region:n,cacheParams:{ttl:this.CACHE_TIMERS.SPECTATOR}},t)}},{key:"_staticRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=void 0===n?this.defaultRegion:n,s=e.options;return this._baseRequest({endUrl:y.STATIC_DATA+"/v"+I.STATIC_DATA+"/"+i,staticReq:!0,region:r,options:s,cacheParams:{ttl:this.CACHE_TIMERS.STATIC}},t)}},{key:"_statusRequest",value:function(e,t){var i=e.endUrl,n=(e.region,e.options);return this._baseRequest({endUrl:y.STATUS+"/v"+I.STATUS+"/"+i,status:!0,options:n,cacheParams:{ttl:this.CACHE_TIMERS.STATUS}},t)}},{key:"_gameRequest",value:function(e,t){var i=e.endUrl,n=e.region;return this._baseRequest({endUrl:"v"+I.GAME+"/game/"+i,region:n,cacheParams:{ttl:this.CACHE_TIMERS.GAME}},t)}},{key:"_leagueRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:"v"+I.LEAGUE+"/league/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.LEAGUE}},t)}},{key:"_matchRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:"v"+I.MATCH+"/match/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.MATCH}},t)}},{key:"_matchListRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:"v"+I.MATCH_LIST+"/matchlist/by-summoner/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.MATCH_LIST}},t)}},{key:"_runesMasteriesRequest",value:function(e,t){var i=e.endUrl,n=e.region;return this._baseRequest({endUrl:y.RUNES_MASTERIES+"/v"+I.RUNES_MASTERIES+"/"+i,region:n,cacheParams:{ttl:this.CACHE_TIMERS.RUNES_MASTERIES}},t)}},{key:"_statsRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:"v"+I.STATS+"/stats/by-summoner/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.STATS}},t)}},{key:"_summonerRequest",value:function(e,t){var i=e.endUrl,n=e.region;return this._baseRequest({endUrl:y.SUMMONER+"/v"+I.SUMMONER+"/summoners/"+i,region:n,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=C(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,i=e.options,n=arguments[1];return this._championRequest({endUrl:"champions",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getChamp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.championID,r=arguments[1];return Number.isInteger(i)||Number.isInteger(n)?this._championRequest({endUrl:"champions/"+(i||n),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,i=void 0===t?this.defaultRegion:t,n=e.playerID,r=e.championID,s=e.options,a=arguments[1];return Number.isInteger(n)&&Number.isInteger(r)?this._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+n+"/by-champion/"+r,region:i,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]:{},i=t.region,n=void 0===i?this.defaultRegion:i,r=t.id,s=t.summonerID,a=t.playerID,u=t.name,l=t.options,g=arguments[1];return Number.isInteger(r||s||a)?this._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+(r||s||a),region:n,options:l},g):"object"===h(arguments[0])&&"string"==typeof u?new Promise(function(t,i){return e.getSummoner({name:u,region:n},function(r,s){return r?void(g?g(r):i(r)):t(e._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+s.id,region:n},g))})}):this._logError(this.getChampMasteries.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=void 0===i?this.defaultRegion:i,r=t.id,s=t.summonerID,a=t.playerID,u=t.name,l=t.options,g=arguments[1];return Number.isInteger(r||s||a)?this._championMasteryRequest({endUrl:"scores/by-summoner/"+(r||s||a),region:n,options:l},g):"object"===h(arguments[0])&&"string"==typeof u?new Promise(function(t,i){return e.getSummoner({name:u,region:n},function(r,s){return r?void(g?g(r):i(r)):t(e._championMasteryRequest({endUrl:"scores/by-summoner/"+s.id,region:n},g))})}):this._logError(this.getTotalChampMasteryScore.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getCurrentGame",value:function(){var e=this,t=arguments,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=i.region,r=void 0===n?this.defaultRegion:n,s=i.id,a=i.summonerID,u=i.playerID,l=i.name,g=arguments[1];return Number.isInteger(s||a||u)?this._spectatorRequest({endUrl:"active-games/by-summoner/"+(s||a||u),region:r},g=r?g:arguments[0]):"object"===h(arguments[0])&&"string"==typeof l?new Promise(function(i,n){return e.getSummoner({name:l,region:r},function(s,o){return s?void(g?g(s):n(s)):i(e._spectatorRequest({endUrl:"active-games/by-summoner/"+o.id,region:r},g=r?g:t[0]))})}):this._logError(this.getCurrentGame.name,"required params "+o.yellow("`id/summonerID/playerID` (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,i=arguments[1];return this._spectatorRequest({endUrl:"featured-games",region:t},i=t?i:arguments[0])}},{key:"getRecentGames",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=arguments[1];return Number.isInteger(n||r||s)?this._gameRequest({endUrl:"by-summoner/"+(n||r||s)+"/recent",region:i},u):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(u?u(r):n(r)):t(e._gameRequest({endUrl:"by-summoner/"+s.id+"/recent",region:i},u))})}):this._logError(this.getRecentGames.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=t.options,l=arguments[1];return Number.isInteger(n||r||s)?this._leagueRequest({endUrl:"by-summoner/"+(n||r||s),region:i,options:u},l):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(l?l(r):n(r)):t(e._leagueRequest({endUrl:"by-summoner/"+s.id,region:i,options:u},l))})}):this._logError(this.getLeagues.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getLeagueEntries",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=arguments[1];return Number.isInteger(n||r||s)?this._leagueRequest({endUrl:"by-summoner/"+(n||r||s)+"/entry",region:i},u):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(u?u(r):n(r)):t(e._leagueRequest({endUrl:"by-summoner/"+s.id+"/entry",region:i},u))})}):void this._logError(this.getLeagueEntries.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getChallengers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=void 0===i?{type:"RANKED_SOLO_5x5"}:i,r=arguments[1];return this._leagueRequest({endUrl:"challenger",region:t,options:n},r=2===arguments.length?r:arguments[0])}},{key:"getMasters",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=void 0===i?{type:"RANKED_SOLO_5x5"}:i,r=arguments[1];return this._leagueRequest({endUrl:"master",region:t,options:n},r=2===arguments.length?r:arguments[0])}},{key:"getChampionList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"champions",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getChampion",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.championID,r=e.options,s=arguments[1];return Number.isInteger(i||n)?this._staticRequest({endUrl:"champions/"+(i||n),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,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"items",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getItem",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.itemID,r=e.options,s=arguments[1];return Number.isInteger(i||n)?this._staticRequest({endUrl:"items/"+(i||n),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,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"language-strings",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getLanguages",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=arguments[1];return this._staticRequest({endUrl:"languages",region:t},i=t?i:arguments[0])}},{key:"getMapData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"maps",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getMasteryList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"masteries",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getMastery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.masteryID,r=e.options,s=arguments[1];return Number.isInteger(i||n)?this._staticRequest({endUrl:"masteries/"+(i||n),region:t,options:r},s):this._logError(this.getMastery.name,"required params "+o.yellow("`id/masteryID` (int)")+" not passed in")}},{key:"getRealmData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=arguments[1];return this._staticRequest({endUrl:"realms",region:t},i=t?i:arguments[0])}},{key:"getRuneList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"runes",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getRune",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.runeID,r=e.options,s=arguments[1];return Number.isInteger(i||n)?this._staticRequest({endUrl:"runes/"+(i||n),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,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"summoner-spells",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getSummonerSpell",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.spellID,r=e.summonerSpellID,s=e.options,a=arguments[1];return Number.isInteger(i||n||r)?this._staticRequest({endUrl:"summoner-spells/"+(i||n||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,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"versions",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getShardStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=arguments[1];return this._statusRequest({endUrl:"shard-data",region:t},i=t?i:arguments[0])}},{key:"getMatch",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.matchID,r=e.options,s=void 0===r?{includeTimeline:!0}:r,a=arguments[1];return Number.isInteger(i||n)?this._matchRequest({endUrl:""+(i||n),region:t,options:s},a):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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=t.options,l=void 0===u?{rankedQueues:"TEAM_BUILDER_RANKED_SOLO"}:u,g=arguments[1];return Number.isInteger(n||r||s)?this._matchListRequest({endUrl:""+(n||r||s),region:i,options:l},g):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(g?g(r):n(r)):t(e._matchListRequest({endUrl:""+s.id,region:i,options:l},g))})}):this._logError(this.getMatchList.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getRunes",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=arguments[1];return Number.isInteger(n||r||s)?this._runesMasteriesRequest({endUrl:"runes/by-summoner/"+(n||r||s),region:i},u):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(u?u(r):n(r)):t(e._runesMasteriesRequest({endUrl:"runes/by-summoner/"+s.id,region:i},u))})}):this._logError(this.getRunes.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=arguments[1];return Number.isInteger(n||r||s)?this._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+(n||r||s),region:i},u):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(u?u(r):n(r)):t(e._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+s.id,region:i},u))})}):this._logError(this.getMasteries.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=t.options,l=arguments[1];return Number.isInteger(n||r||s)?this._statsRequest({endUrl:(n||r||s)+"/ranked",region:i,options:u},l):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(l?l(r):n(r)):t(e._statsRequest({endUrl:s.id+"/ranked",region:i,options:u},l))})}):void this._logError(this.getRankedStats.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=t.options,l=arguments[1];return Number.isInteger(n||r||s)?this._statsRequest({endUrl:(n||r||s)+"/summary",region:i,options:u},l):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(l?l(r):n(r)):t(e._statsRequest({endUrl:s.id+"/summary",region:i,options:u},l))})}):void this._logError(this.getRankedStats.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getSummoners",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.summonerID,r=e.playerID,s=e.name,a=arguments[1];return Number.isInteger(i||n||r)?this._summonerRequest({endUrl:""+(i||n||r),region:t},a):"object"===h(arguments[0])&&"string"==typeof s?this._summonerRequest({endUrl:"by-name/"+this._sanitizeName(s),region:t},a):void this._logError(this.getSummoners.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getSummoner",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.summonerID,r=e.playerID,s=e.name,a=arguments[1];return Number.isInteger(i||n||r)?this._summonerRequest({endUrl:""+(i||n||r),region:t},a):"object"===h(arguments[0])&&"string"==typeof s?this._summonerRequest({endUrl:"by-name/"+this._sanitizeName(s),region:t
!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 i={exports:{}};t(i,e.redis,e.doubleEndedQueue,e.xregexp,e.chalk,e.request,e.chalk,e.queryString),e.kindredApi=i.exports}}(this,function(e,t,i,n,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,i){return new w({key:e,defaultRegion:t,debug:i,limits:S.DEV,cacheOptions:_[0]})}function g(e,t){e?console.log(e):console.log(t)}var h="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},m=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),d=function(){function e(){u(this,e),this.cache={}}return m(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(i){u(this,e);var n=Object.assign({},i||{},{host:"127.0.0.1",port:6379,keyPrefix:"kindredAPI-"});this.client=t.createClient(n.port,n.host),this.client.on("error",function(e){console.log("Redis error:",e)}),process.on("exit",function(){console.log("closing"),this.client.quit()}),this.prefix=n.keyPrefix}return m(e,[{key:"get",value:function(e,t){this.client.get(this.prefix+e.key,function(e,i){i?t(e,i):t(e)})}},{key:"set",value:function(e,i){this.client.setex(this.prefix+e.key,e.ttl,i,t.print),console.log("set for "+e.ttl+" seconds")}}]),e}(),p=function(){function e(t,n){u(this,e),this.allowedRequests=t,this.seconds=n,this.madeRequests=new i}return m(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:null,STATUS:"status",MASTERIES:"platform",MATCH:null,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},v={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},S={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"},b={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"},E={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"},I={CHAMPION:3,CHAMPION_MASTERY:3,CURRENT_GAME:1,FEATURED_GAMES:1,GAME:1.3,LEAGUE:2.5,STATIC_DATA:3,STATUS:3,MATCH:2.2,MATCH_LIST:2.2,RUNES_MASTERIES:3,SPECTATOR:3,STATS:1.3,SUMMONER:3},_=["in-memory-cache","redis"],A=n("^[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})}},T={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}},C=function(e){var t=!0,i=!1,n=void 0;try{for(var r,s=Object.keys(b)[Symbol.iterator]();!(t=(r=s.next()).done);t=!0){var o=r.value;if(b[o]===e)return!0}}catch(e){i=!0,n=e}finally{try{!t&&s.return&&s.return()}finally{if(i)throw n}}return!1},U={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=U[e];if(t)return t},D=[200,400,500],N=function(e){return e>=D[0]&&e<D[1]?r.green(e):e>=D[1]&&e<D[2]?r.red(e+" "+q(e)):r.bold.red(e+" "+q(e))},k=function(e){return(Array.isArray(e)&&2!==e.length||!T.int(e[0])||2!==e[0].length||!T.int(e[1])||2!==e[1].length)&&"dev"!==e&&"prod"!==e},O=function(e,t,i){console.log(t,i),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()},w=function(){function e(t){var i=t.key,n=t.defaultRegion,r=void 0===n?b.NORTH_AMERICA:n,s=t.debug,a=void 0!==s&&s,l=t.limits,g=t.cacheOptions,h=t.cacheTTL;if(u(this,e),this.key=i,this.defaultRegion=C(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,g?(g===_[0]?this.cache=new d:g===_[1]?this.cache=new c:this.cache=g,this.CACHE_TIMERS=h?h:v):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){k(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=S.DEV),"prod"===l&&(l=S.PROD);var m=!0,y=!1,R=void 0;try{for(var f,E=Object.keys(b)[Symbol.iterator]();!(m=(f=E.next()).done);m=!0){var I=f.value;this.limits[b[I]]=[new p(l[0][0],l[0][1]),new p(l[1][0],l[1][1])]}}catch(e){y=!0,R=e}finally{try{!m&&E.return&&E.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),get:this.getRecentGames.bind(this)},this.League={getLeagues:this.getLeagues.bind(this),get:this.getLeagues.bind(this),getLeagueEntries:this.getLeagueEntries.bind(this),getEntries:this.getLeagueEntries.bind(this),entries:this.getLeagueEntries.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),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)},this.MatchList={getMatchList:this.getMatchList.bind(this),get:this.getMatchList.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)}}return m(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 A.test(e)}},{key:"_makeUrl",value:function(e,t,i,n,r,s){var o=i?"":t+"/",a=n||r||s?"":"api/lol/"+o,u="https://"+t+".api.riotgames.com/"+a+encodeURI(e),l="https://"+f[E[t]].toLowerCase()+".api.riotgames.com/lol/"+encodeURI(e);return l.lastIndexOf("v3")==-1?u:l}},{key:"_baseRequest",value:function(e,t){var i=this,n=e.endUrl,r=e.region,u=void 0===r?this.defaultRegion:r,l=e.status,g=void 0!==l&&l,h=e.observerMode,m=void 0!==h&&h,d=e.staticReq,c=void 0!==d&&d,p=e.championMastery,y=void 0!==p&&p,R=e.options,v=void 0===R?{}:R,S=e.cacheParams,f=void 0===S?{}:S,b=function(){return new Promise(function(e,r){var l=!0,h=!1,d=void 0;try{for(var p,R=Object.keys(v)[Symbol.iterator]();!(l=(p=R.next()).done);l=!0){var S=p.value;Array.isArray(v[S])&&(v[S]=v[S].join(","))}}catch(e){h=!0,d=e}finally{try{!l&&R.return&&R.return()}finally{if(h)throw d}}var b=a.stringify(v).replace(/%2C/,","),E=b?"?"+b:"",I=i._makeUrl(n+E,u,c,g,m,y),_=I+(I.lastIndexOf("?")===-1?"?":"&")+"api_key="+i.key;i.cache.get({key:I},function(n,a){if(a){var l=JSON.parse(a);return t?t(n,l):e(l)}if(i.limits){var g=i;!function t(i){g.canMakeRequest(u)?(c||(g.limits[u][0].addRequest(),g.limits[u][1].addRequest()),s({url:_},function(n,s,a){if(s&&a){var u=s.statusCode,l=N(u);if(g.debug&&O(s,l,_),"function"==typeof i)return u>=500&&(g.debug&&console.log("!!! resending request !!!"),setTimeout(function(){t.bind(g)(i)},1e3)),429===u&&(g.debug&&console.log("!!! resending request !!!"),setTimeout(function(){t.bind(g)(i)},1e3*s.headers["retry-after"]+50)),u>=400?i(l+" : "+o.yellow(I)):(Number.isInteger(f.ttl)&&f.ttl>0&&g.cache.set({key:I,ttl:f.ttl},a),i(n,JSON.parse(a)));if(500===u)g.debug&&console.log("!!! resending promise request !!!"),setTimeout(function(){return r("retry")},1e3);else{if(429!==u)return n||u>=400?r("err:",n,u):(Number.isInteger(f.ttl)&&f.ttl>0&&g.cache.set({key:I,ttl:f.ttl},a),e(JSON.parse(a)));g.debug&&console.log("!!! resending promise request !!!"),setTimeout(function(){return r("retry")},1e3*s.headers["retry-after"]+50)}}else console.log(n,_)})):setTimeout(function(){t.bind(g)(i)},1e3)}(t)}else s({url:_},function(i,n,s){if(n){var a=n.statusCode,u=N(a);return g.debug&&O(n,u,_),"function"==typeof t?a>=400?t(u+" : "+o.yellow(I)):t(i,JSON.parse(s)):i?r("err:",i):e(JSON.parse(s))}console.log(i,I)})})})};return t?b():b().catch(b).catch(b).catch(b).then(function(e){return e})}},{key:"_championMasteryRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:y.CHAMPION_MASTERY+"/v"+I.CHAMPION+"/"+i,region:n,options:r,championMastery:!0,cacheParams:{ttl:this.CACHE_TIMERS.CHAMPION_MASTERY}},t)}},{key:"_championRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:y.CHAMPION+"/v"+I.CHAMPION+"/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.CHAMPION}},t)}},{key:"_spectatorRequest",value:function(e,t){var i=e.endUrl,n=e.region;return this._baseRequest({endUrl:y.SPECTATOR+"/v"+I.SPECTATOR+"/"+i,region:n,cacheParams:{ttl:this.CACHE_TIMERS.SPECTATOR}},t)}},{key:"_staticRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=void 0===n?this.defaultRegion:n,s=e.options;return this._baseRequest({endUrl:y.STATIC_DATA+"/v"+I.STATIC_DATA+"/"+i,staticReq:!0,region:r,options:s,cacheParams:{ttl:this.CACHE_TIMERS.STATIC}},t)}},{key:"_statusRequest",value:function(e,t){var i=e.endUrl,n=(e.region,e.options);return this._baseRequest({endUrl:y.STATUS+"/v"+I.STATUS+"/"+i,status:!0,options:n,cacheParams:{ttl:this.CACHE_TIMERS.STATUS}},t)}},{key:"_gameRequest",value:function(e,t){var i=e.endUrl,n=e.region;return this._baseRequest({endUrl:"v"+I.GAME+"/game/"+i,region:n,cacheParams:{ttl:this.CACHE_TIMERS.GAME}},t)}},{key:"_leagueRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:"v"+I.LEAGUE+"/league/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.LEAGUE}},t)}},{key:"_matchRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:"v"+I.MATCH+"/match/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.MATCH}},t)}},{key:"_matchListRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:"v"+I.MATCH_LIST+"/matchlist/by-summoner/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.MATCH_LIST}},t)}},{key:"_runesMasteriesRequest",value:function(e,t){var i=e.endUrl,n=e.region;return this._baseRequest({endUrl:y.RUNES_MASTERIES+"/v"+I.RUNES_MASTERIES+"/"+i,region:n,cacheParams:{ttl:this.CACHE_TIMERS.RUNES_MASTERIES}},t)}},{key:"_statsRequest",value:function(e,t){var i=e.endUrl,n=e.region,r=e.options;return this._baseRequest({endUrl:"v"+I.STATS+"/stats/by-summoner/"+i,region:n,options:r,cacheParams:{ttl:this.CACHE_TIMERS.STATS}},t)}},{key:"_summonerRequest",value:function(e,t){var i=e.endUrl,n=e.region;return this._baseRequest({endUrl:y.SUMMONER+"/v"+I.SUMMONER+"/summoners/"+i,region:n,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=C(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,i=e.options,n=arguments[1];return this._championRequest({endUrl:"champions",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getChamp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.championID,r=arguments[1];return Number.isInteger(i)||Number.isInteger(n)?this._championRequest({endUrl:"champions/"+(i||n),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,i=void 0===t?this.defaultRegion:t,n=e.playerID,r=e.championID,s=e.options,a=arguments[1];return Number.isInteger(n)&&Number.isInteger(r)?this._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+n+"/by-champion/"+r,region:i,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]:{},i=t.region,n=void 0===i?this.defaultRegion:i,r=t.id,s=t.summonerID,a=t.playerID,u=t.name,l=t.options,g=arguments[1];return Number.isInteger(r||s||a)?this._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+(r||s||a),region:n,options:l},g):"object"===h(arguments[0])&&"string"==typeof u?new Promise(function(t,i){return e.getSummoner({name:u,region:n},function(r,s){return r?void(g?g(r):i(r)):t(e._championMasteryRequest({endUrl:"champion-masteries/by-summoner/"+s.id,region:n},g))})}):this._logError(this.getChampMasteries.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=void 0===i?this.defaultRegion:i,r=t.id,s=t.summonerID,a=t.playerID,u=t.name,l=t.options,g=arguments[1];return Number.isInteger(r||s||a)?this._championMasteryRequest({endUrl:"scores/by-summoner/"+(r||s||a),region:n,options:l},g):"object"===h(arguments[0])&&"string"==typeof u?new Promise(function(t,i){return e.getSummoner({name:u,region:n},function(r,s){return r?void(g?g(r):i(r)):t(e._championMasteryRequest({endUrl:"scores/by-summoner/"+s.id,region:n},g))})}):this._logError(this.getTotalChampMasteryScore.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getCurrentGame",value:function(){var e=this,t=arguments,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=i.region,r=void 0===n?this.defaultRegion:n,s=i.id,a=i.summonerID,u=i.playerID,l=i.name,g=arguments[1];return Number.isInteger(s||a||u)?this._spectatorRequest({endUrl:"active-games/by-summoner/"+(s||a||u),region:r},g=r?g:arguments[0]):"object"===h(arguments[0])&&"string"==typeof l?new Promise(function(i,n){return e.getSummoner({name:l,region:r},function(s,o){return s?void(g?g(s):n(s)):i(e._spectatorRequest({endUrl:"active-games/by-summoner/"+o.id,region:r},g=r?g:t[0]))})}):this._logError(this.getCurrentGame.name,"required params "+o.yellow("`id/summonerID/playerID` (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,i=arguments[1];return this._spectatorRequest({endUrl:"featured-games",region:t},i=t?i:arguments[0])}},{key:"getRecentGames",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=arguments[1];return Number.isInteger(n||r||s)?this._gameRequest({endUrl:"by-summoner/"+(n||r||s)+"/recent",region:i},u):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(u?u(r):n(r)):t(e._gameRequest({endUrl:"by-summoner/"+s.id+"/recent",region:i},u))})}):this._logError(this.getRecentGames.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=t.options,l=arguments[1];return Number.isInteger(n||r||s)?this._leagueRequest({endUrl:"by-summoner/"+(n||r||s),region:i,options:u},l):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(l?l(r):n(r)):t(e._leagueRequest({endUrl:"by-summoner/"+s.id,region:i,options:u},l))})}):this._logError(this.getLeagues.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getLeagueEntries",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=arguments[1];return Number.isInteger(n||r||s)?this._leagueRequest({endUrl:"by-summoner/"+(n||r||s)+"/entry",region:i},u):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(u?u(r):n(r)):t(e._leagueRequest({endUrl:"by-summoner/"+s.id+"/entry",region:i},u))})}):void this._logError(this.getLeagueEntries.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getChallengers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=void 0===i?{type:"RANKED_SOLO_5x5"}:i,r=arguments[1];return this._leagueRequest({endUrl:"challenger",region:t,options:n},r=2===arguments.length?r:arguments[0])}},{key:"getMasters",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=void 0===i?{type:"RANKED_SOLO_5x5"}:i,r=arguments[1];return this._leagueRequest({endUrl:"master",region:t,options:n},r=2===arguments.length?r:arguments[0])}},{key:"getChampionList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"champions",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getChampion",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.championID,r=e.options,s=arguments[1];return Number.isInteger(i||n)?this._staticRequest({endUrl:"champions/"+(i||n),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,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"items",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getItem",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.itemID,r=e.options,s=arguments[1];return Number.isInteger(i||n)?this._staticRequest({endUrl:"items/"+(i||n),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,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"language-strings",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getLanguages",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=arguments[1];return this._staticRequest({endUrl:"languages",region:t},i=t?i:arguments[0])}},{key:"getMapData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"maps",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getMasteryList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"masteries",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getMastery",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.masteryID,r=e.options,s=arguments[1];return Number.isInteger(i||n)?this._staticRequest({endUrl:"masteries/"+(i||n),region:t,options:r},s):this._logError(this.getMastery.name,"required params "+o.yellow("`id/masteryID` (int)")+" not passed in")}},{key:"getRealmData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=arguments[1];return this._staticRequest({endUrl:"realms",region:t},i=t?i:arguments[0])}},{key:"getRuneList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"runes",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getRune",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.runeID,r=e.options,s=arguments[1];return Number.isInteger(i||n)?this._staticRequest({endUrl:"runes/"+(i||n),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,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"summoner-spells",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getSummonerSpell",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.spellID,r=e.summonerSpellID,s=e.options,a=arguments[1];return Number.isInteger(i||n||r)?this._staticRequest({endUrl:"summoner-spells/"+(i||n||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,i=e.options,n=arguments[1];return this._staticRequest({endUrl:"versions",region:t,options:i},n=2===arguments.length?n:arguments[0])}},{key:"getShardStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=arguments[1];return this._statusRequest({endUrl:"shard-data",region:t},i=t?i:arguments[0])}},{key:"getMatch",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.matchID,r=e.options,s=void 0===r?{includeTimeline:!0}:r,a=arguments[1];return Number.isInteger(i||n)?this._matchRequest({endUrl:""+(i||n),region:t,options:s},a):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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=t.options,l=void 0===u?{rankedQueues:"TEAM_BUILDER_RANKED_SOLO"}:u,g=arguments[1];return Number.isInteger(n||r||s)?this._matchListRequest({endUrl:""+(n||r||s),region:i,options:l},g):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(g?g(r):n(r)):t(e._matchListRequest({endUrl:""+s.id,region:i,options:l},g))})}):this._logError(this.getMatchList.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getRunes",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=arguments[1];return Number.isInteger(n||r||s)?this._runesMasteriesRequest({endUrl:"runes/by-summoner/"+(n||r||s),region:i},u):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(u?u(r):n(r)):t(e._runesMasteriesRequest({endUrl:"runes/by-summoner/"+s.id,region:i},u))})}):this._logError(this.getRunes.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=arguments[1];return Number.isInteger(n||r||s)?this._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+(n||r||s),region:i},u):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(u?u(r):n(r)):t(e._runesMasteriesRequest({endUrl:"masteries/by-summoner/"+s.id,region:i},u))})}):this._logError(this.getMasteries.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=t.options,l=arguments[1];return Number.isInteger(n||r||s)?this._statsRequest({endUrl:(n||r||s)+"/ranked",region:i,options:u},l):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(l?l(r):n(r)):t(e._statsRequest({endUrl:s.id+"/ranked",region:i,options:u},l))})}):void this._logError(this.getRankedStats.name,"required params "+o.yellow("`id/summonerID/playerID` (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]:{},i=t.region,n=t.id,r=t.summonerID,s=t.playerID,a=t.name,u=t.options,l=arguments[1];return Number.isInteger(n||r||s)?this._statsRequest({endUrl:(n||r||s)+"/summary",region:i,options:u},l):"object"===h(arguments[0])&&"string"==typeof a?new Promise(function(t,n){return e.getSummoner({name:a,region:i},function(r,s){return r?void(l?l(r):n(r)):t(e._statsRequest({endUrl:s.id+"/summary",region:i,options:u},l))})}):void this._logError(this.getRankedStats.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (string)")+" not passed in")}},{key:"getSummoners",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.summonerID,r=e.playerID,s=e.name,a=arguments[1];return Number.isInteger(i||n||r)?this._summonerRequest({endUrl:""+(i||n||r),region:t},a):"object"===h(arguments[0])&&"string"==typeof s?this._summonerRequest({endUrl:"by-name/"+this._sanitizeName(s),region:t},a):void this._logError(this.getSummoners.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (str)")+" not passed in")}},{key:"getSummoner",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.region,i=e.id,n=e.summonerID,r=e.playerID,s=e.name,a=arguments[1];return Number.isInteger(i||n||r)?this._summonerRequest({endUrl:""+(i||n||r),region:t},a):"object"===h(arguments[0])&&"string"==typeof s?this._summonerRequest({endUrl:"by-name/"+this._sanitizeName(s),region:t
},a):this._logError(this.getSummoner.name,"required params "+o.yellow("`id/summonerID/playerID` (int)")+" or "+o.yellow("`name` (string)")+" not passed in")}}]),e}(),L={Kindred:w,REGIONS:b,LIMITS:S,TIME_CONSTANTS:R,CACHE_TYPES:_,QuickStart:l,print:g};e.exports=L});
{
"name": "kindred-api",
"version": "2.0.5",
"version": "2.0.6",
"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",

@@ -21,3 +21,3 @@ # Kindred

* Built-in parameter checks so you can hopefully refer to documentation less! :)
* Built-in, flexible caching (in-memory and redis).
* Built-in, flexible caching (in-memory and Redis).
* Customized expiration timers. You can set a timer for each endpoint type. Refer to [Caching](#caching) for more info.

@@ -36,2 +36,4 @@ * Designed to be simple but convenient. For example, you can call an exclusively by-id endpoint (such as grabbing the runes of a player) with just the name.

## Endpoints Covered
All examples here should be able to be run alone individually.
Make sure to check the [official Riot Documentation](https://developer.riotgames.com/api-methods/) to see what query parameters you can pass in to each endpoint (through the options parameter)!

@@ -196,2 +198,4 @@

* Namespaced Functions: *Static.getChampions, Static.champions*
* Example 1: ```k.Static.champions(rprint)```
* Example 2: ```k.Static.champions({ options: { champData: 'all' } }).then(data => console.log(data))```
2. **/lol/static-data/v3/champions/{id}**

@@ -201,2 +205,4 @@ * Retrieves a champion by its id. (REST)

* Namespaced Functions: *Static.getChampion, Static.champion*
* Example 1: ```k.Static.champion({ id: 131 }, rprint)```
* Example 2: ```k.Static.champion({ id: 131, options: { champData: 'enemytips', version: '7.7.1' } }, rprint)```
3. **/lol/static-data/v3/items**

@@ -206,2 +212,3 @@ * Retrieves item list. (REST)

* Namespaced Functions: *Static.getItems, Static.items*
* Example 1: ```k.Static.items({ options: { itemListData: all } }, rprint)```
4. **/lol/static-data/v3/items/{id}**

@@ -211,2 +218,4 @@ * Get master tier leagues. (REST)

* Namespaced Functions: *Static.getItem, Static.item*
* Example 1: ```k.Static.item({ id: 3901, options: { itemData: ['image', 'gold'] } }, rprint)```
* Example 2: ```k.Static.items(rprint)```
5. **/lol/static-data/v3/language-strings**

@@ -216,2 +225,3 @@ * Retrieve language strings data. (REST)

* Namespaced Functions: *Static.getLanguageStrings, Static.languageStrings*
* Example 1: ```k.Static.languageStrings(rprint)```
6. **/lol/static-data/v3/languages**

@@ -221,2 +231,3 @@ * Retrieve supported languages data. (REST)

* Namespaced Functions: *Static.getLanguages, Static.languages*
* Example 1: ```k.Static.languages().then(data => console.log(data)).catch(err => console.log(err))```
7. **/lol/static-data/v3/maps**

@@ -226,2 +237,3 @@ * Retrieve map data. (REST)

* Namespaced Functions: *Static.getMapData, Static.mapData, Static.map, Static.maps*
* Example 1: ```k.Static.mapData().then(data => console.log(data))```
8. **/lol/static-data/v3/masteries**

@@ -231,2 +243,4 @@ * Retrieve mastery list. (REST)

* Namespaced Functions: *Static.getMasteries, Static.masteries*
* Example 1: ```k.Static.masteries({ options: { masteryListData: 'image' } }, rprint)```
* Example 2: ```k.Static.masteries(rprint)```
9. **/lol/static-data/v3/masteries/{id}**

@@ -236,2 +250,5 @@ * Retrieves mastery item by its unique id. (REST)

* Namespaced Functions: *Static.getMastery, Static.mastery*
* Example 1: ```k.Static.mastery({ id: 6361 }, rprint)```
* Example 2: ```k.Static.mastery({ id: 6361, options: { masteryData: ['image', 'masteryTree'] } }, rprint)```
* Example 3: ```k.Static.mastery({ id: 6361, options: { masteryData: 'image' } }, rprint)```
10. **/lol/static-data/v3/profile-icons**

@@ -242,2 +259,3 @@ 11. **/lol/static-data/v3/realms**

* Namespaced Functions: *Static.getRealmData, Static.realmData, Static.realm, Static.realms*
* Example 1: ```k.Static.realmData().then(data => console.log(data))```
12. **/lol/static-data/v3/runes**

@@ -247,2 +265,4 @@ * Retrieves rune list. (REST)

* Namespaced Functions: *Static.getRunes, Static.runes*
* Example 1: ```k.Static.runes().then(data => console.log(data))```
* Example 2: ```k.Static.runes({ options: { runeListData: 'basic' } }, rprint)```
13. **/lol/static-data/v3/runes/{id}**

@@ -252,2 +272,4 @@ * Retrieves rune by its unique id. (REST)

* Namespaced Functions: *Static.getRune, Static.rune*
* Example 1: ```k.Static.rune({ id: 10002 }, rprint)```
* Example 2: ```k.Static.rune({ id: 10001, options: { runeData: 'image' } }, rprint)```
14. **/lol/static-data/v3/summoner-spells**

@@ -257,2 +279,4 @@ * Retrieves summoner spell list. (REST)

* Namespaced Functions: *Static.getSummonerSpells, Static.summonerSpells, Static.spells*
* Example 1: ```k.Static.spells(rprint)```
* Example 2: ```k.Static.spells({ options: { spellData: 'cost', dataById: true } }, rprint)```
15. **/lol/static-data/v3/summoner-spells/{id}**

@@ -262,2 +286,4 @@ * Retrieves summoner spell by its unique id. (REST)

* Namespaced Functions: *Static.getSummonerSpell, Static.summonerSpell, Static.spell*
* Example 1: ```k.Static.spell({ id: 31 }, rprint)```
* Example 2: ```k.Static.spell({ id: 31, options: { spellData: 'cooldown' } }, rprint)```
16. **/lol/static-data/v3/versions**

@@ -267,2 +293,3 @@ * Retrieve version data. (REST)

* Namespaced Functions: *Static.getVersionData, Static.versionData, Static.version, Static.versions*
* Example 1: ```k.Static.versions(rprint)```

@@ -317,4 +344,6 @@ ### Stats

rankedQueues: ['RANKED_SOLO_5x5', 'RANKED_FLEX_SR'], // no need for joins or messy strings
championIDs: '67' // single values can be integers as well
// you can pass in arrays into any options params; array values will always be joined into a string
championIds: '67' // single values can be integers as well
} // option params should be spelled and capitalized the same as it is in Riot's docs!
// for example, matchlist query params in Riot's docs include `championIds`, `beginIndex`, `beginTime`, `seasons`
}

@@ -436,4 +465,3 @@

For example, for summoners, you have summonerID, summonerIDs,
playerID, and playerIDs.
For example, for summoners, you have summonerID and playerID.
*/

@@ -555,3 +583,3 @@ k.Summoner.get({ summonerID: 354959 }, rprint)

rankedQueues: ['RANKED_SOLO_5x5', 'RANKED_FLEX_SR'], // valid
championIDs: [67, 62, '61'] // valid
championIds: [67, 62, '61'] // valid
} }, rprint)

@@ -565,3 +593,3 @@

rankedQueues: ['RANKED_SOLO_5x5', 'RANKED_FLEX_SR'],
championIDs: '67'
championIds: '67'
}

@@ -585,3 +613,3 @@ }

I have added caching support. Right now, the library supports in-memory caching as well as
caching with redis. These are the default timers that made sense to me.
caching with Redis. These are the default timers that made sense to me.

@@ -588,0 +616,0 @@ ``` javascript

@@ -306,3 +306,3 @@ const request = require('request')

const stringifiedOpts = queryString.stringify(options)
const stringifiedOpts = queryString.stringify(options).replace(/%2C/, ',')
const postfix = stringifiedOpts ? '?' + stringifiedOpts : ''

@@ -309,0 +309,0 @@ const reqUrl = this._makeUrl(endUrl + postfix, region, staticReq, status, observerMode, championMastery)

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