opendota-api
Version:
Wrapper from opendota
42 lines (34 loc) • 951 B
JavaScript
;
const openDota = require('../requests');
const herodetails = require('../jsondata/herodetails');
const _ = require('lodash');
class Heroes {
constructor() {
this.openDota = openDota;
this.basePath = 'https://api.opendota.com';
this.path = '/api/heroes';
}
getHeroes(options) {
// Docs
// https://docs.opendota.com/#tag/heroes%2Fpaths%2F~1heroes%2Fget
options = {};
return new Promise(async (resolve, reject) => {
let url = `${this.basePath}${this.path}`;
let heroes = await this.openDota.request(url, options);
let result = await this.setHeroImageUrl(heroes);
resolve(result);
});
}
setHeroImageUrl(heroes) {
let hero;
return new Promise(resolve => {
heroes.map(hero => {
let heroDet = _.find(herodetails, ['id', hero.id]);
hero.img = heroDet.img;
hero.icon = heroDet.icon;
});
resolve(heroes);
});
}
}
module.exports = Heroes;