UNPKG

opendota-api

Version:

Wrapper from opendota

42 lines (34 loc) 951 B
'use strict'; 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;