UNPKG

dota2-json-api

Version:

DotA 2 Web API JS wrapper, an extension from github/kronusme/dota2-api

91 lines (61 loc) 2.44 kB
'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _mods = require('./data/mods.json'); var _mods2 = _interopRequireDefault(_mods); var _items = require('./data/items.json'); var _items2 = _interopRequireDefault(_items); var _heroes = require('./data/heroes.json'); var _heroes2 = _interopRequireDefault(_heroes); var _lobbies = require('./data/lobbies.json'); var _lobbies2 = _interopRequireDefault(_lobbies); var _regions = require('./data/regions.json'); var _regions2 = _interopRequireDefault(_regions); var _abilities = require('./data/abilities.json'); var _abilities2 = _interopRequireDefault(_abilities); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var dota = { mods: _mods2.default.mods, items: _items2.default.items, heroes: _heroes2.default.heroes, lobbies: _lobbies2.default.lobbies, regions: _regions2.default.regions, abilities: _abilities2.default.abilities }; var isKeyInvalid = function isKeyInvalid(key) { if (!(key in dota) || key === undefined) { throw "must be either " + Object.keys(dota).join('/'); } }; var random = function random(key, times) { isKeyInvalid(key); if (times === undefined) { return getRandomItem(key); } else { if (typeof times !== 'number') throw new TypeError('Times is not a number : ' + times + " is " + (typeof times === 'undefined' ? 'undefined' : _typeof(times))); var rand = []; for (var i = 0; i < times; i++) { rand.push(getRandomItem(key)); } return rand; } function getRandomItem(key) { return dota[key][Math.floor(Math.random() * dota[key].length)]; } }; var search = function search(key, searchItem) { isKeyInvalid(key); if (searchItem === undefined) throw 'Search keyword is undefined'; return dota[key].filter(function (item) { return item.name === searchItem; }); }; module.exports = { mods: _mods2.default, items: _items2.default, heroes: _heroes2.default, lobbies: _lobbies2.default, regions: _regions2.default, abilities: _abilities2.default, random: random, search: search };