UNPKG

galeforce-tmp-sea

Version:

A customizable, promise-based, and command-oriented TypeScript library for the Riot Games API.

63 lines 2.75 kB
"use strict"; /* The base request class is simply a "template" request class that needs to be implemented by other methods to be effective. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const axios_1 = __importDefault(require("axios")); const debug_1 = __importDefault(require("debug")); const chalk_1 = __importDefault(require("chalk")); const requestDebug = (0, debug_1.default)('galeforce:riot-api'); class Request { constructor(targetURL, body, axiosOptions = {}) { this.targetURL = targetURL; this.body = body; this.axiosOptions = axiosOptions; requestDebug(`${chalk_1.default.italic(this.targetURL)} | ${chalk_1.default.bold.green('initialize')}`); } /** * @public * @async * * @return Return JSON data as a promise (due to delayed request completion). */ async get() { requestDebug(`${chalk_1.default.italic(this.targetURL)} | ${chalk_1.default.bold.green.inverse('GET')} \u00AB ${chalk_1.default.bold('query')} %O`, this.axiosOptions.params); return axios_1.default.get(this.targetURL, this.axiosOptions); } /** * @public * @async * * @return Return JSON data as a promise (due to delayed request completion). */ async post() { requestDebug(`${chalk_1.default.italic(this.targetURL)} | ${chalk_1.default.bold.green.inverse('POST')} \u00AB ${chalk_1.default.bold('query')} %O ${chalk_1.default.bold('body')} %O`, this.axiosOptions.params, this.body); return axios_1.default.post(this.targetURL, this.body, this.axiosOptions); } /** * @public * @async * * @return Return JSON data as a promise (due to delayed request completion). */ async put() { requestDebug(`${chalk_1.default.italic(this.targetURL)} | ${chalk_1.default.bold.green.inverse('PUT')} \u00AB ${chalk_1.default.bold('query')} %O ${chalk_1.default.bold('body')} %O`, this.axiosOptions.params, this.body); return axios_1.default.put(this.targetURL, this.body, this.axiosOptions); } /** * @public * @async * * @return Return JSON data as a promise (due to delayed request completion). */ async delete() { requestDebug(`${chalk_1.default.italic(this.targetURL)} | ${chalk_1.default.bold.green.inverse('DELETE')} \u00AB ${chalk_1.default.bold('query')} %O ${chalk_1.default.bold('body')} %O`, this.axiosOptions.params, this.body); return axios_1.default.delete(this.targetURL, this.axiosOptions); } } exports.default = Request; //# sourceMappingURL=index.js.map