async getData(champion, preferredPosition, gameMode) { const res = await rp(`${this.base}/champion/${champion.key}/statistics${preferredPosition ? '/' + this.convertOPGGPosition(preferredPosition) : ''}`); const d = this._scrape(res, champion, gameMode, preferredPosition, true); let data = { roles: { [d.position]: d } }; for (const position of d.availablePositions) { console.log(2, `[ProviderHandler] [OP.GG] Gathering data (${position.name})`); try { data.roles[position.name] = this._scrape(await rp(position.link), champion, gameMode, position.name); delete data.roles[position.name].position; } catch(err) { console.log(`[ProviderHandler] [OP.GG] Something happened while gathering data (${position.name})`); console.error(err); } } delete data.roles[d.position].availablePositions; delete data.roles[d.position].position; return data; }
async getData(champion, preferredPosition, gameMode) { const res = await rp(`${this.base}champion/${champion.key}`); const d = this._scrape(res, champion, gameMode, true); let data = { roles: { [d.position]: d } }; for (const position of d.availablePositions) { console.log(2, `[Champion.GG] Gathering data (${position.name})`); try { data.roles[position.name] = this._scrape(await rp(position.link), champion, gameMode); delete data.roles[position.name].position; } catch(err) { console.log(`[ProviderHandler] [Champion.GG] Something happened while gathering data (${position.name})`); if (err.toString().includes('Data is outdated')) { throw UI.error('providers-error-outdated', this.name); } else console.error(err); } } delete data.roles[d.position].availablePositions; delete data.roles[d.position].position; return data; }