galeforce-tmp-sea
Version:
A customizable, promise-based, and command-oriented TypeScript library for the Riot Games API.
63 lines • 2.75 kB
JavaScript
;
/*
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