galeforce-tmp-sea
Version:
A customizable, promise-based, and command-oriented TypeScript library for the Riot Games API.
28 lines • 1.26 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const action_1 = __importDefault(require("../../action"));
const riot_api_1 = require("../../../../riot-api");
const mixins_1 = require("../../mixins");
const BaseAction = (0, mixins_1.TakesTier)((0, mixins_1.TakesChallengeId)((0, mixins_1.TakesRegion)({}, action_1.default)));
class GetChallengeLeaderboard extends BaseAction {
constructor(submodules) {
super(submodules);
this.payload.type = 'lol';
this.payload.method = 'GET';
}
async exec() {
if (typeof this.payload.tier !== 'undefined' && [riot_api_1.Tier.MASTER, riot_api_1.Tier.GRANDMASTER, riot_api_1.Tier.CHALLENGER].includes(this.payload.tier)) {
// set to experimental endpoint for support
this.payload.endpoint = riot_api_1.ENDPOINTS.CHALLENGES.LEADERBOARD;
}
else {
throw new Error('[galeforce]: .tier() must be CHALLENGER, GRANDMASTER, or MASTER.');
}
return super.exec();
}
}
exports.default = GetChallengeLeaderboard;
//# sourceMappingURL=leaderboard.js.map