UNPKG

overwatch-api

Version:

An Unoffical Overwatch API.

65 lines (57 loc) 1.44 kB
import rp from 'request-promise'; export default function(cb) { const url = 'https://api.overwatchleague.com/live-match'; const options = { uri: encodeURI(url), encoding: 'utf8', json: true, } rp(options).then((resp) => { const json = { data: transform(resp.data), } cb(null, json); }).catch(err => { cb(err); }); } function transform(data) { let t; if (Object.getOwnPropertyNames(data.liveMatch).length === 0) { t = { liveMatch: {}, } return t; } t = { liveMatch: { competitors: data.liveMatch.competitors.map(o => ({ name: o.name, primaryColor: o.primaryColor, secondaryColor: o.secondaryColor, abbreviatedName: o.abbreviatedName, logo: o.logo, }) ), scores: data.liveMatch.scores, status: data.liveMatch.status, games: data.liveMatch.games.map(o => ({ number: o.number, points: o.points, state: o.state, map: o.attributes.map }) ), startDate: data.liveMatch.startDate, endDate: data.liveMatch.endDate, wins: data.liveMatch.wins, ties: data.liveMatch.ties, losses: data.liveMatch.losses, timeToMatch: data.liveMatch.timeToMatch, liveStatus: data.liveMatch.liveStatus, } } return t; }