UNPKG

splatoon3api

Version:

A simple Method to get current and next Splatoon 3 maps, Salmonrun Schedules and Splatnet gear

140 lines (139 loc) 6.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parseAllStages; const utils_js_1 = require("../utils.js"); function parseAllStages(json, translation) { var _a; let data = { regular: [], ranked: [], xbattle: [], festSchedule: [], triColorStage: null }; json.data.regularSchedules.nodes.forEach((node, index) => { var _a, _b, _c; if (node.regularMatchSetting) { data.regular.push({ start_time: node.startTime, end_time: node.endTime, stage1: { name: (_a = translation.stages[node.regularMatchSetting.vsStages[0].id]) === null || _a === void 0 ? void 0 : _a.name, image: node.regularMatchSetting.vsStages[0].image.url }, stage2: { name: (_b = translation.stages[node.regularMatchSetting.vsStages[1].id]) === null || _b === void 0 ? void 0 : _b.name, image: node.regularMatchSetting.vsStages[1].image.url }, rules: (_c = translation.rules[node.regularMatchSetting.vsRule.id]) === null || _c === void 0 ? void 0 : _c.name, rulesImg: (0, utils_js_1.getImageFromRuleId)(node.regularMatchSetting.vsRule.id) }); } else { data.regular.push(null); } }); json.data.bankaraSchedules.nodes.forEach((node, index) => { var _a, _b, _c, _d, _e, _f; if (node.bankaraMatchSettings) { data.ranked.push({ series: { start_time: node.startTime, end_time: node.endTime, stage1: { name: (_a = translation.stages[node.bankaraMatchSettings[0].vsStages[0].id]) === null || _a === void 0 ? void 0 : _a.name, image: node.bankaraMatchSettings[0].vsStages[0].image.url }, stage2: { name: (_b = translation.stages[node.bankaraMatchSettings[0].vsStages[1].id]) === null || _b === void 0 ? void 0 : _b.name, image: node.bankaraMatchSettings[0].vsStages[1].image.url }, rules: (_c = translation.rules[node.bankaraMatchSettings[0].vsRule.id]) === null || _c === void 0 ? void 0 : _c.name, rulesImg: (0, utils_js_1.getImageFromRuleId)(node.bankaraMatchSettings[0].vsRule.id) }, open: { start_time: node.startTime, end_time: node.endTime, stage1: { name: (_d = translation.stages[node.bankaraMatchSettings[1].vsStages[0].id]) === null || _d === void 0 ? void 0 : _d.name, image: node.bankaraMatchSettings[1].vsStages[0].image.url }, stage2: { name: (_e = translation.stages[node.bankaraMatchSettings[1].vsStages[1].id]) === null || _e === void 0 ? void 0 : _e.name, image: node.bankaraMatchSettings[1].vsStages[1].image.url }, rules: (_f = translation.rules[node.bankaraMatchSettings[1].vsRule.id]) === null || _f === void 0 ? void 0 : _f.name, rulesImg: (0, utils_js_1.getImageFromRuleId)(node.bankaraMatchSettings[1].vsRule.id) } }); } else { data.ranked.push(null); } }); json.data.xSchedules.nodes.forEach((node, index) => { var _a, _b, _c; if (node.xMatchSetting) { data.xbattle.push({ start_time: node.startTime, end_time: node.endTime, stage1: { name: (_a = translation.stages[node.xMatchSetting.vsStages[0].id]) === null || _a === void 0 ? void 0 : _a.name, image: node.xMatchSetting.vsStages[0].image.url }, stage2: { name: (_b = translation.stages[node.xMatchSetting.vsStages[1].id]) === null || _b === void 0 ? void 0 : _b.name, image: node.xMatchSetting.vsStages[1].image.url }, rules: (_c = translation.rules[node.xMatchSetting.vsRule.id]) === null || _c === void 0 ? void 0 : _c.name, rulesImg: (0, utils_js_1.getImageFromRuleId)(node.xMatchSetting.vsRule.id), }); } else { data.xbattle.push(null); } }); json.data.festSchedules.nodes.forEach((node, index) => { var _a, _b, _c; if (node.festMatchSettings) { let returnObj = { regular: null, challenge: null }; for (let setting of node.festMatchSettings) { returnObj[setting.festMode.toLowerCase()] = { start_time: node.startTime, end_time: node.endTime, stage1: { name: (_a = translation.stages[setting.vsStages[0].id]) === null || _a === void 0 ? void 0 : _a.name, image: setting.vsStages[0].image.url }, stage2: { name: (_b = translation.stages[setting.vsStages[1].id]) === null || _b === void 0 ? void 0 : _b.name, image: setting.vsStages[1].image.url }, rules: (_c = translation.rules[setting.vsRule.id]) === null || _c === void 0 ? void 0 : _c.name, rulesImg: (0, utils_js_1.getImageFromRuleId)(setting.vsRule.id), festMode: setting.festMode, }; } data.festSchedule.push(returnObj); } else { data.festSchedule.push(null); } }); if (json.data.currentFest) { data.triColorStage = { start_time: json.data.currentFest.startTime, end_time: json.data.currentFest.endTime, name: (_a = translation.stages[json.data.currentFest.tricolorStage.id]) === null || _a === void 0 ? void 0 : _a.name, image: json.data.currentFest.tricolorStage.image.url, rulesImg: "https://file.strassburger.org/tricolor.svg", }; } else { data.triColorStage = null; } return data; }