UNPKG

overwatch-api

Version:

An Unoffical Overwatch API.

70 lines (63 loc) 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = _default; var _requestPromise = _interopRequireDefault(require("request-promise")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _default(cb) { var url = 'https://api.overwatchleague.com/live-match'; var options = { uri: encodeURI(url), encoding: 'utf8', json: true }; (0, _requestPromise["default"])(options).then(function (resp) { var json = { data: transform(resp.data) }; cb(null, json); })["catch"](function (err) { cb(err); }); } function transform(data) { var t; if (Object.getOwnPropertyNames(data.liveMatch).length === 0) { t = { liveMatch: {} }; return t; } t = { liveMatch: { competitors: data.liveMatch.competitors.map(function (o) { return { 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(function (o) { return { 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; }