league-wrapper
Version:
REST API Wrapper for the League of Legends API
52 lines (43 loc) • 1.08 kB
JavaScript
;
const convert = require('./util/convert.js');
const RequestOptions = require('./options/request.js');
const Request = require('./request.js');
/**
* @class
* @alias module:LeagueWrapper~Service
*/
class Service {
/**
* @param {module:LeagueWrapper~LeagueWrapper} api
*/
constructor(api) {
this.api = api;
}
/**
* @param {Error} error
* @param {function} [callback]
*
* @returns {Promise}
* @protected
*/
_fail(error, callback) {
const promise = Promise.reject(error);
if (callback) {
promise.catch(callback);
}
return promise || callback && callback(error);
}
/**
* @param {module:LeagueWrapper/options~RequestOptions} options
* @returns {module:LeagueWrapper~Request}
*/
request(options) {
options = Object.assign({
region: this.api.getRegion()
}, options);
options = convert(options, RequestOptions);
return new Request(this.api, options);
}
}
Service.Request = Request;
exports = module.exports = Service;