night-api
Version:
Ce paquet Npm fourni une interface pour intéragir avec [Night-API](https://night-api.com)
39 lines • 1.53 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
const constants_1 = require("./API/constants");
const axios_1 = __importDefault(require("axios"));
class Functions {
token;
constructor(token) {
this.token = token;
}
;
_convertQueryOptions(options) {
if (typeof options !== 'object')
throw new TypeError('The options must be an object');
if (typeof options.disallow !== 'string' && !Array.isArray(options.disallow))
throw new TypeError('The option "disallow" must be an Array or String');
const disallow = typeof options.disallow === 'string' ? [options.disallow] : options.disallow;
return '?' + disallow.map(function (type) { return 'disallow=' + type; }).join('&');
}
;
get(endpoint, options = null) {
let url = `${constants_1.http.api}${endpoint}`;
if (options?.query)
url += this._convertQueryOptions(options.query);
return new Promise((resolve, reject) => {
axios_1.default.get(url, { headers: this._getHeaders(), data: options?.body })
.then(res => resolve(res.data))
.catch(err => err?.response ? reject(err?.response?.data) : reject(err));
});
}
;
_getHeaders() { return { Authorization: `${this.token}` }; }
;
}
;
;
module.exports = Functions;
//# sourceMappingURL=functions.js.map