LeagueStats/server/src/Jax/Jax.js

48 lines
1.4 KiB
JavaScript
Raw Normal View History

import RiotRateLimiter from 'riot-ratelimiter'
import { STRATEGY } from 'riot-ratelimiter/dist/RateLimiter'
2019-08-24 14:56:55 +00:00
import LeagueEndpoint from './Endpoints/LeagueEndpoint'
import MatchEndpoint from './Endpoints/MatchEndpoint'
import MatchlistEndpoint from './Endpoints/MatchlistEndpoint'
2019-08-24 14:56:55 +00:00
import SummonerEndpoint from './Endpoints/SummonerEndpoint'
import DDragonVersionEndpoint from './Endpoints/DDragonEndpoints/DDragonVersionEndpoint'
import DDragonChampionEndpoint from './Endpoints/DDragonEndpoints/DDragonChampionEndpoint'
2019-08-24 14:56:55 +00:00
class Jax {
constructor(key = process.env.API_KEY, region = 'euw1') {
return (async () => {
this.key = key
const limiterOptions = {
strategy: STRATEGY.BURST
}
this.limiter = new RiotRateLimiter(limiterOptions)
this.region = region
this.League = new LeagueEndpoint(this.limiter, this.region)
this.Match = new MatchEndpoint(this.limiter, this.region)
this.Matchlist = new MatchlistEndpoint(this.limiter, this.region)
this.Summoner = new SummonerEndpoint(this.limiter, this.region)
this.version = (await new DDragonVersionEndpoint().list())[0]
this.DDragon = {
Champion: new DDragonChampionEndpoint(this.version),
Version: this.version
}
return this
})()
2019-08-24 14:56:55 +00:00
}
2019-08-24 14:56:55 +00:00
set regionName(regionName) {
this.region = regionName
}
}
module.exports = {
Jax
}