UNPKG

splatoon3api

Version:

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

142 lines (141 loc) 7.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parse; const utils_1 = require("../../utils"); function parse(json, translation) { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; let data = { regular: null, ranked: null, xbattle: null, festSchedule: null, triColorStage: null, triColorStages: [] }; if (json.data.regularSchedules.nodes[1].regularMatchSetting) { data.regular = { start_time: json.data.regularSchedules.nodes[1].startTime, end_time: json.data.regularSchedules.nodes[1].endTime, stage1: { name: (_a = translation.stages[json.data.regularSchedules.nodes[1].regularMatchSetting.vsStages[0].id]) === null || _a === void 0 ? void 0 : _a.name, image: json.data.regularSchedules.nodes[1].regularMatchSetting.vsStages[0].image.url }, stage2: { name: (_b = translation.stages[json.data.regularSchedules.nodes[1].regularMatchSetting.vsStages[1].id]) === null || _b === void 0 ? void 0 : _b.name, image: json.data.regularSchedules.nodes[1].regularMatchSetting.vsStages[1].image.url }, rules: translation.rules[json.data.regularSchedules.nodes[1].regularMatchSetting.vsRule.id].name, rulesImg: (0, utils_1.getImageFromRuleId)(json.data.regularSchedules.nodes[1].regularMatchSetting.vsRule.id) }; } else { data.regular = null; } if (json.data.bankaraSchedules.nodes[1].bankaraMatchSettings) { data.ranked = { series: { start_time: json.data.bankaraSchedules.nodes[1].startTime, end_time: json.data.bankaraSchedules.nodes[1].endTime, stage1: { name: (_c = translation.stages[json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[0].vsStages[0].id]) === null || _c === void 0 ? void 0 : _c.name, image: json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[0].vsStages[0].image.url }, stage2: { name: (_d = translation.stages[json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[0].vsStages[1].id]) === null || _d === void 0 ? void 0 : _d.name, image: json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[0].vsStages[1].image.url }, rules: translation.rules[json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[0].vsRule.id].name, rulesImg: (0, utils_1.getImageFromRuleId)(json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[0].vsRule.id), }, open: { start_time: json.data.bankaraSchedules.nodes[1].startTime, end_time: json.data.bankaraSchedules.nodes[1].endTime, stage1: { name: (_e = translation.stages[json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[1].vsStages[0].id]) === null || _e === void 0 ? void 0 : _e.name, image: json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[1].vsStages[0].image.url }, stage2: { name: (_f = translation.stages[json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[1].vsStages[1].id]) === null || _f === void 0 ? void 0 : _f.name, image: json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[1].vsStages[1].image.url }, rules: (_g = translation.rules[json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[1].vsRule.id]) === null || _g === void 0 ? void 0 : _g.name, rulesImg: (0, utils_1.getImageFromRuleId)(json.data.bankaraSchedules.nodes[1].bankaraMatchSettings[1].vsRule.id) } }; } else { data.ranked = null; } if (json.data.xSchedules.nodes[1].xMatchSetting) { data.xbattle = { start_time: json.data.xSchedules.nodes[1].startTime, end_time: json.data.xSchedules.nodes[1].endTime, stage1: { name: (_h = translation.stages[json.data.xSchedules.nodes[1].xMatchSetting.vsStages[0].id]) === null || _h === void 0 ? void 0 : _h.name, image: json.data.xSchedules.nodes[1].xMatchSetting.vsStages[0].image.url }, stage2: { name: (_j = translation.stages[json.data.xSchedules.nodes[1].xMatchSetting.vsStages[1].id]) === null || _j === void 0 ? void 0 : _j.name, image: json.data.xSchedules.nodes[1].xMatchSetting.vsStages[1].image.url }, rules: translation.rules[json.data.xSchedules.nodes[1].xMatchSetting.vsRule.id].name, rulesImg: (0, utils_1.getImageFromRuleId)(json.data.xSchedules.nodes[1].xMatchSetting.vsRule.id), }; } else { data.xbattle = null; } if (json.data.festSchedules.nodes[1].festMatchSettings) { let node = json.data.festSchedules.nodes[1]; 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: (_k = translation.stages[setting.vsStages[0].id]) === null || _k === void 0 ? void 0 : _k.name, image: setting.vsStages[0].image.url }, stage2: { name: (_l = translation.stages[setting.vsStages[1].id]) === null || _l === void 0 ? void 0 : _l.name, image: setting.vsStages[1].image.url }, rules: translation.rules[setting.vsRule.id].name, rulesImg: (0, utils_1.getImageFromRuleId)(setting.vsRule.id), festMode: setting.festMode, }; } data.festSchedule = returnObj; } else { data.festSchedule = null; } if (json.data.currentFest) { data.triColorStages = json.data.currentFest.tricolorStages ? json.data.currentFest.tricolorStages.map((stage) => { var _a; return ({ start_time: json.data.currentFest.startTime, end_time: json.data.currentFest.endTime, name: (_a = translation.stages[stage.id]) === null || _a === void 0 ? void 0 : _a.name, image: stage.image.url, rulesImg: "https://file.strassburger.org/tricolor.svg", }); }) : null; data.triColorStage = json.data.currentFest.tricolorStage ? { start_time: json.data.currentFest.startTime, end_time: json.data.currentFest.endTime, name: (_m = translation.stages[json.data.currentFest.tricolorStage.id]) === null || _m === void 0 ? void 0 : _m.name, image: json.data.currentFest.tricolorStage.image.url, rulesImg: "https://file.strassburger.org/tricolor.svg", } : null; } else { data.triColorStages = null; data.triColorStage = null; } return data; } ;