"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.disableDebugMode = exports.enableDebugMode = exports.Misc = exports.Me = exports.Store = exports.Vanguard = exports.ColdWar = exports.Warzone2 = exports.WarzoneMobile = exports.ModernWarfare3 = exports.ModernWarfare2 = exports.ModernWarfare = exports.Warzone = exports.friendActions = exports.platforms = exports.telescopeLogin = exports.login = void 0; const tslib_1 = require("tslib"); const undici_1 = require("undici"); const weapon_ids_json_1 = tslib_1.__importDefault(require("./wz-data/weapon-ids.json")); const game_modes_json_1 = tslib_1.__importDefault(require("./wz-data/game-modes.json")); const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"; let baseCookie = "new_SiteId=cod;ACT_SSO_LOCALE=en_US;country=US;"; let baseSsoToken = ""; let debugMode = false; let baseHeaders = { "content-type": "application/json", cookie: baseCookie, "user-agent": userAgent, }; let baseTelescopeHeaders = { accept: "application/json, text/plain, */*", "accept-language": "en-GB,en;q=0.9,en-US;q=0.8,fr;q=0.7,nl;q=0.6,et;q=0.5", "cache-control": "no-cache", pragma: "no-cache", "sec-ch-ua": '"Chromium";v="118", "Microsoft Edge";v="118", "Not=A?Brand";v="99"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site", }; let basePostHeaders = { "content-type": "text/plain", cookie: baseCookie, "user-agent": userAgent, }; let baseUrl = "https://my.callofduty.com"; let apiPath = "/api/papi-client"; let baseTelescopeUrl = "https://telescope.callofduty.com"; let apiTelescopePath = "/api/ts-api"; let loggedIn = false; var platforms; (function (platforms) { platforms["All"] = "all"; platforms["Activision"] = "acti"; platforms["Battlenet"] = "battle"; platforms["PSN"] = "psn"; platforms["Steam"] = "steam"; platforms["Uno"] = "uno"; platforms["XBOX"] = "xbl"; platforms["ios"] = "ios"; platforms["NULL"] = "_"; })(platforms || (platforms = {})); exports.platforms = platforms; var games; (function (games) { games["ModernWarfare"] = "mw"; games["ModernWarfare2"] = "mw2"; games["Vanguard"] = "vg"; games["ColdWar"] = "cw"; games["NULL"] = "_"; })(games || (games = {})); var telescopeGames; (function (telescopeGames) { telescopeGames["ModernWarfare2"] = "mw2"; telescopeGames["Warzone2"] = "wz2"; telescopeGames["ModernWarfare3"] = "jup"; telescopeGames["Mobile"] = "mgl"; })(telescopeGames || (telescopeGames = {})); var modes; (function (modes) { modes["Multiplayer"] = "mp"; modes["Warzone"] = "wz"; modes["Warzone2"] = "wz2"; modes["NULL"] = "_"; })(modes || (modes = {})); var telescopeModes; (function (telescopeModes) { telescopeModes["Multiplayer"] = "mp"; telescopeModes["Outbreak"] = "ob"; })(telescopeModes || (telescopeModes = {})); var friendActions; (function (friendActions) { friendActions["Invite"] = "invite"; friendActions["Uninvite"] = "uninvite"; friendActions["Remove"] = "remove"; friendActions["Block"] = "block"; friendActions["Unblock"] = "unblock"; })(friendActions || (friendActions = {})); exports.friendActions = friendActions; var generics; (function (generics) { generics["STEAM_UNSUPPORTED"] = "Steam platform not supported by this game. Try `battle` instead."; generics["UNO_NO_NUMERICAL_ID"] = "You must use a numerical ID when using the platform 'uno'.\nIf using an Activision ID, please use the platform 'acti'."; })(generics || (generics = {})); let telescopeUnoToken = ""; const enableDebugMode = () => (debugMode = true); exports.enableDebugMode = enableDebugMode; const disableDebugMode = () => (debugMode = false); exports.disableDebugMode = disableDebugMode; const sendTelescopeRequest = (url) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { try { if (!loggedIn) throw new Error("Not Logged In!"); let requestUrl = `${baseTelescopeUrl}${apiTelescopePath}${url}`; if (debugMode) console.log(`[DEBUG]`, `Request Uri: ${requestUrl}`); baseTelescopeHeaders.authorization = `Bearer ${telescopeUnoToken}`; const { body, statusCode } = yield (0, undici_1.request)(requestUrl, { headers: baseTelescopeHeaders, }); if (statusCode >= 500) throw new Error(`Received status code: '${statusCode}'. Route may be down or not exist.`); let response = yield body.json(); return response; } catch (exception) { throw exception; } }); const sendRequest = (url) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { try { if (!loggedIn) throw new Error("Not Logged In."); let requestUrl = `${baseUrl}${apiPath}${url}`; if (debugMode) console.log(`[DEBUG]`, `Request Uri: ${requestUrl}`); if (debugMode) console.time("Round Trip"); const { body, statusCode } = yield (0, undici_1.request)(requestUrl, { headers: baseHeaders, }); if (debugMode) console.timeEnd("Round Trip"); if (statusCode >= 500) throw new Error(`Received status code: '${statusCode}'. Route may be down or not exist.`); let response = yield body.json(); if (debugMode) console.log(`[DEBUG]`, `Body Size: ${JSON.stringify(response).length} bytes.`); return response; } catch (exception) { throw exception; } }); const sendPostRequest = (url, data) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { try { if (!loggedIn) throw new Error("Not Logged In."); let requestUrl = `${baseUrl}${apiPath}${url}`; const { body, statusCode } = yield (0, undici_1.request)(requestUrl, { method: "POST", headers: basePostHeaders, body: data, }); if (statusCode >= 500) throw new Error(`Received status code: '${statusCode}'. Route may be down or not exist.`); let response = yield body.json(); return response; } catch (exception) { throw exception; } }); const cleanClientName = (gamertag) => { return encodeURIComponent(gamertag); }; const login = (ssoToken) => { if (!ssoToken || ssoToken.trim().length <= 0) return false; let fakeXSRF = "68e8b62e-1d9d-4ce1-b93f-cbe5ff31a041"; baseHeaders["X-XSRF-TOKEN"] = fakeXSRF; baseHeaders["X-CSRF-TOKEN"] = fakeXSRF; baseHeaders["Atvi-Auth"] = ssoToken; baseHeaders["ACT_SSO_COOKIE"] = ssoToken; baseHeaders["atkn"] = ssoToken; baseHeaders["cookie"] = `${baseCookie}ACT_SSO_COOKIE=${ssoToken};XSRF-TOKEN=${fakeXSRF};API_CSRF_TOKEN=${fakeXSRF};ACT_SSO_EVENT="LOGIN_SUCCESS:1644346543228";ACT_SSO_COOKIE_EXPIRY=1645556143194;comid=cod;ssoDevId=63025d09c69f47dfa2b8d5520b5b73e4;tfa_enrollment_seen=true;gtm.custom.bot.flag=human;`; baseSsoToken = ssoToken; basePostHeaders["X-XSRF-TOKEN"] = fakeXSRF; basePostHeaders["X-CSRF-TOKEN"] = fakeXSRF; basePostHeaders["Atvi-Auth"] = ssoToken; basePostHeaders["ACT_SSO_COOKIE"] = ssoToken; basePostHeaders["atkn"] = ssoToken; basePostHeaders["cookie"] = `${baseCookie}ACT_SSO_COOKIE=${ssoToken};XSRF-TOKEN=${fakeXSRF};API_CSRF_TOKEN=${fakeXSRF};ACT_SSO_EVENT="LOGIN_SUCCESS:1644346543228";ACT_SSO_COOKIE_EXPIRY=1645556143194;comid=cod;ssoDevId=63025d09c69f47dfa2b8d5520b5b73e4;tfa_enrollment_seen=true;gtm.custom.bot.flag=human;`; loggedIn = true; return loggedIn; }; exports.login = login; const telescope_login_endpoint = "https://wzm-ios-loginservice.prod.demonware.net/v1/login/uno/?titleID=7100&client=shg-cod-jup-bnet"; const telescopeLogin = (username, password) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { if (!username || !password) return false; const { body, statusCode } = yield (0, undici_1.request)(telescope_login_endpoint, { method: "POST", headers: baseHeaders, body: JSON.stringify({ platform: "ios", hardwareType: "ios", auth: { email: username, password: password, }, version: 1492, }), }); if (statusCode === 200) { let response = (yield body.json()); let unoToken = response.umbrella.accessToken; telescopeUnoToken = unoToken; } else if (statusCode === 403) { let errorResponse = (yield body.json()); console.error("Error Logging In:", errorResponse.error.msg); } loggedIn = statusCode == 200; return loggedIn; }); exports.telescopeLogin = telescopeLogin; const handleLookupType = (platform) => { return platform === platforms.Uno ? "id" : "gamer"; }; const checkForValidPlatform = (platform, gamertag) => { if (!Object.values(platforms).includes(platform)) throw new Error(`Platform '${platform}' is not valid.\nTry one of the following:\n${JSON.stringify(Object.values(platforms), null, 2)}`); if (gamertag && isNaN(Number(gamertag)) && platform === platforms.Uno) throw new Error(generics.UNO_NO_NUMERICAL_ID); }; const mapGamertagToPlatform = (gamertag, platform, steamSupport = false) => { checkForValidPlatform(platform, gamertag); const lookupType = handleLookupType(platform); if (!steamSupport && platform === platforms.Steam) throw new Error(generics.STEAM_UNSUPPORTED); if (platform == platforms.Battlenet || platform == platforms.Activision || platform == platforms.Uno) if (gamertag && gamertag.length > 0) gamertag = cleanClientName(gamertag); if (platform === platforms.Uno || platform === platforms.Activision) platform = platforms.Uno; return { gamertag, _platform: platform, lookupType }; }; class Endpoints { constructor(game, gamertag, platform, mode, lookupType) { this.fullData = () => `/stats/cod/v1/title/${this.game}/platform/${this.platform}/${this.lookupType}/${this.gamertag}/profile/type/${this.mode}`; this.combatHistory = () => `/crm/cod/v2/title/${this.game}/platform/${this.platform}/${this.lookupType}/${this.gamertag}/matches/${this.mode}/start/0/end/0/details`; this.combatHistoryWithDate = (startTime, endTime) => `/crm/cod/v2/title/${this.game}/platform/${this.platform}/${this.lookupType}/${this.gamertag}/matches/${this.mode}/start/${startTime}/end/${endTime}/details`; this.breakdown = () => `/crm/cod/v2/title/${this.game}/platform/${this.platform}/${this.lookupType}/${this.gamertag}/matches/${this.mode}/start/0/end/0`; this.breakdownWithDate = (startTime, endTime) => `/crm/cod/v2/title/${this.game}/platform/${this.platform}/${this.lookupType}/${this.gamertag}/matches/${this.mode}/start/${startTime}/end/${endTime}`; this.matchInfo = (matchId) => `/crm/cod/v2/title/${this.game}/platform/${this.platform}/fullMatch/wz/${matchId}/en`; this.seasonLoot = () => `/loot/title/${this.game}/platform/${this.platform}/${this.lookupType}/${this.gamertag}/status/en`; this.mapList = () => `/ce/v1/title/${this.game}/platform/${this.platform}/gameType/${this.mode}/communityMapData/availability`; this.purchasableItems = (gameId) => `/inventory/v1/title/${gameId}/platform/psn/purchasable/public/en`; this.bundleInformation = (gameId, bundleId) => `/inventory/v1/title/${gameId}/bundle/${bundleId}/en`; this.battlePassLoot = (season) => `/loot/title/${this.game}/platform/${this.platform}/list/loot_season_${season}/en`; this.friendFeed = () => `/userfeed/v1/friendFeed/platform/${this.platform}/${this.lookupType}/${this.gamertag}/friendFeedEvents/en`; this.eventFeed = () => `/userfeed/v1/friendFeed/rendered/en/${baseSsoToken}`; this.loggedInIdentities = () => `/crm/cod/v2/identities/${baseSsoToken}`; this.codPoints = () => `/inventory/v1/title/mw/platform/${this.platform}/${this.lookupType}/${this.gamertag}/currency`; this.connectedAccounts = () => `/crm/cod/v2/accounts/platform/${this.platform}/${this.lookupType}/${this.gamertag}`; this.settings = () => `/preferences/v1/platform/${this.platform}/${this.lookupType}/${this.gamertag}/list`; this.friendAction = (action) => `/codfriends/v1/${action}/${this.platform}/${this.lookupType}/${this.gamertag}`; this.search = () => `/crm/cod/v2/platform/${this.platform}/username/${this.gamertag}/search`; this.game = game; this.gamertag = gamertag; this.platform = platform; this.lookupType = lookupType; this.mode = mode; } } class TelescopeEndpoints { constructor(game, unoId, mode) { this.lifeTime = () => `/cr/v1/title/${this.game}/lifetime?language=english&unoId=${this.unoId}`; this.matches = () => `/cr/v1/title/${this.game}/matches?language=english&unoId=${this.unoId}`; this.match = (matchId) => `/cr/v1/title/${this.game}/match/${matchId}?language=english&unoId=${this.unoId}`; this.game = game; this.unoId = unoId; this.mode = mode; } } class WZ { constructor() { this.fullData = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Warzone, lookupType); return yield sendRequest(endpoint.fullData()); }); }; this.combatHistory = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Warzone, lookupType); return yield sendRequest(endpoint.combatHistory()); }); }; this.combatHistoryWithDate = (gamertag, startTime, endTime, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Warzone, lookupType); return yield sendRequest(endpoint.combatHistoryWithDate(startTime, endTime)); }); }; this.breakdown = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Warzone, lookupType); return yield sendRequest(endpoint.breakdown()); }); }; this.breakdownWithDate = (gamertag, startTime, endTime, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Warzone, lookupType); return yield sendRequest(endpoint.breakdownWithDate(startTime, endTime)); }); }; this.matchInfo = (matchId, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform("", platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Warzone, lookupType); return yield sendRequest(endpoint.matchInfo(matchId)); }); }; this.cleanGameMode = (mode) => tslib_1.__awaiter(this, void 0, void 0, function* () { //@ts-ignore const foundMode = game_modes_json_1.default["modes"][mode]; if (!foundMode) return mode; return foundMode; }); } } class MW { constructor() { this.fullData = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.fullData()); }); }; this.combatHistory = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.combatHistory()); }); }; this.combatHistoryWithDate = (gamertag, startTime, endTime, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.combatHistoryWithDate(startTime, endTime)); }); }; this.breakdown = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.breakdown()); }); }; this.breakdownWithDate = (gamertag, startTime, endTime, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.breakdownWithDate(startTime, endTime)); }); }; this.matchInfo = (matchId, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform("", platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.matchInfo(matchId)); }); }; this.seasonloot = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.seasonLoot()); }); }; this.mapList = (platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform("", platform)); const endpoint = new Endpoints(games.ModernWarfare, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.mapList()); }); }; } } class MW2 { constructor() { this.fullData = (unoId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.ModernWarfare2, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.lifeTime()); }); this.matches = (unoId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.ModernWarfare2, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.matches()); }); this.matchInfo = (unoId, matchId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.ModernWarfare2, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.match(matchId)); }); } } class WZ2 { constructor() { this.fullData = (unoId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.Warzone2, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.lifeTime()); }); this.matches = (unoId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.Warzone2, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.matches()); }); this.matchInfo = (unoId, matchId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.Warzone2, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.match(matchId)); }); } } class MW3 { constructor() { this.fullData = (unoId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.ModernWarfare3, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.lifeTime()); }); this.matches = (unoId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.ModernWarfare3, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.matches()); }); this.matchInfo = (unoId, matchId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.ModernWarfare3, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.match(matchId)); }); } } class WZM { constructor() { this.fullData = (unoId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.Mobile, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.lifeTime()); }); this.matches = (unoId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.Mobile, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.matches()); }); this.matchInfo = (unoId, matchId) => tslib_1.__awaiter(this, void 0, void 0, function* () { var { gamertag } = mapGamertagToPlatform(unoId, platforms.Uno, true); const endpoint = new TelescopeEndpoints(telescopeGames.Mobile, gamertag, telescopeModes.Multiplayer); return yield sendTelescopeRequest(endpoint.match(matchId)); }); } } class CW { constructor() { this.fullData = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ColdWar, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.fullData()); }); }; this.combatHistory = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ColdWar, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.combatHistory()); }); }; this.combatHistoryWithDate = (gamertag, startTime, endTime, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ColdWar, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.combatHistoryWithDate(startTime, endTime)); }); }; this.breakdown = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ColdWar, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.breakdown()); }); }; this.breakdownWithDate = (gamertag, startTime, endTime, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ColdWar, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.breakdownWithDate(startTime, endTime)); }); }; this.seasonloot = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.ColdWar, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.seasonLoot()); }); }; this.mapList = (platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform("", platform)); const endpoint = new Endpoints(games.ColdWar, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.mapList()); }); }; this.matchInfo = (matchId, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform("", platform)); const endpoint = new Endpoints(games.ColdWar, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.matchInfo(matchId)); }); }; } } class VG { constructor() { this.fullData = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.Vanguard, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.fullData()); }); }; this.combatHistory = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.Vanguard, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.combatHistory()); }); }; this.combatHistoryWithDate = (gamertag, startTime, endTime, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.Vanguard, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.combatHistoryWithDate(startTime, endTime)); }); }; this.breakdown = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.Vanguard, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.breakdown()); }); }; this.breakdownWithDate = (gamertag, startTime, endTime, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.Vanguard, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.breakdownWithDate(startTime, endTime)); }); }; this.seasonloot = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.Vanguard, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.seasonLoot()); }); }; this.mapList = (platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform("", platform)); const endpoint = new Endpoints(games.Vanguard, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.mapList()); }); }; this.matchInfo = (matchId, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform("", platform)); const endpoint = new Endpoints(games.Vanguard, gamertag, platform, modes.Multiplayer, lookupType); return yield sendRequest(endpoint.matchInfo(matchId)); }); }; } } class SHOP { constructor() { this.purchasableItems = (gameId) => tslib_1.__awaiter(this, void 0, void 0, function* () { const endpoint = new Endpoints(games.NULL, "", platforms.NULL, modes.NULL, ""); return yield sendRequest(endpoint.purchasableItems(gameId)); }); this.bundleInformation = (title, bundleId) => tslib_1.__awaiter(this, void 0, void 0, function* () { const endpoint = new Endpoints(games.NULL, "", platforms.NULL, modes.NULL, ""); return yield sendRequest(endpoint.bundleInformation(title, bundleId)); }); this.battlePassLoot = (title, season, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform("", platform)); const endpoint = new Endpoints(title, gamertag, platform, modes.NULL, lookupType); return yield sendRequest(endpoint.battlePassLoot(season)); }); }; } } class USER { constructor() { this.friendFeed = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.NULL, gamertag, platform, modes.NULL, lookupType); return yield sendRequest(endpoint.friendFeed()); }); }; this.eventFeed = () => tslib_1.__awaiter(this, void 0, void 0, function* () { const endpoint = new Endpoints(games.NULL, "", platforms.NULL, modes.NULL, ""); return yield sendRequest(endpoint.eventFeed()); }); this.loggedInIdentities = () => tslib_1.__awaiter(this, void 0, void 0, function* () { const endpoint = new Endpoints(games.NULL, "", platforms.NULL, modes.NULL, ""); return yield sendRequest(endpoint.loggedInIdentities()); }); this.codPoints = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.NULL, gamertag, platform, modes.NULL, lookupType); return yield sendRequest(endpoint.codPoints()); }); }; this.connectedAccounts = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.NULL, gamertag, platform, modes.NULL, lookupType); return yield sendRequest(endpoint.connectedAccounts()); }); }; this.settings = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.NULL, gamertag, platform, modes.NULL, lookupType); return yield sendRequest(endpoint.settings()); }); }; this.friendAction = (gamertag, platform, action) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform)); const endpoint = new Endpoints(games.NULL, gamertag, platform, modes.NULL, lookupType); return yield sendPostRequest(endpoint.friendAction(action), "{}"); }); }; } } class ALT { constructor() { this.search = (gamertag, platform) => { var gamertag, platform, lookupType; return tslib_1.__awaiter(this, void 0, void 0, function* () { ({ gamertag, _platform: platform, lookupType } = mapGamertagToPlatform(gamertag, platform, true)); const endpoint = new Endpoints(games.NULL, gamertag, platform, modes.NULL, lookupType); return yield sendRequest(endpoint.search()); }); }; this.cleanWeapon = (weapon) => tslib_1.__awaiter(this, void 0, void 0, function* () { //@ts-ignore const foundWeapon = weapon_ids_json_1.default["All Weapons"][weapon]; if (!foundWeapon) return weapon; return foundWeapon; }); } } const Warzone = new WZ(); exports.Warzone = Warzone; const ModernWarfare = new MW(); exports.ModernWarfare = ModernWarfare; const ModernWarfare2 = new MW2(); exports.ModernWarfare2 = ModernWarfare2; const Warzone2 = new WZ2(); exports.Warzone2 = Warzone2; const ModernWarfare3 = new MW3(); exports.ModernWarfare3 = ModernWarfare3; const WarzoneMobile = new WZM(); exports.WarzoneMobile = WarzoneMobile; const ColdWar = new CW(); exports.ColdWar = ColdWar; const Vanguard = new VG(); exports.Vanguard = Vanguard; const Store = new SHOP(); exports.Store = Store; const Me = new USER(); exports.Me = Me; const Misc = new ALT(); exports.Misc = Misc; //# sourceMappingURL=index.js.map