splatoon3api
Version:
A simple Method to get current and next Splatoon 3 maps, Salmonrun Schedules and Splatnet gear
92 lines (91 loc) • 6.61 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = parsePastSplatfests;
const utils_js_1 = require("../../utils.js");
function parsePastSplatfests(json, translation) {
let data = {
US: [],
EU: [],
JP: [],
AP: []
};
Object.keys(json).forEach((region) => {
if (!(0, utils_js_1.isFestRegion)(region))
return;
data[region] = [];
json[region].data.festRecords.nodes.forEach((fest) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
if (fest.state !== "CLOSED")
return;
data[region].push({
title: (_b = (_a = translation.festivals[fest.__splatoon3ink_id]) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : "",
startTime: fest.startTime,
endTime: fest.endTime,
teams: {
0: {
teamName: (_e = (_d = (_c = translation.festivals[fest.__splatoon3ink_id]) === null || _c === void 0 ? void 0 : _c.teams[0]) === null || _d === void 0 ? void 0 : _d.teamName) !== null && _e !== void 0 ? _e : "",
image: fest.teams[0].image.url,
color: `rgba(${fest.teams[0].color.r * 255}, ${fest.teams[0].color.g * 255}, ${fest.teams[0].color.b * 255}, ${fest.teams[0].color.a})`,
colorHEX: (0, utils_js_1.RGBAtoHEX)(`rgba(${Math.floor(fest.teams[0].color.r * 255)}, ${Math.floor(fest.teams[0].color.g * 255)}, ${Math.floor(fest.teams[0].color.b * 255)}, ${Math.floor(fest.teams[0].color.a)})`),
role: fest.teams[0].role,
results: {
isWinner: fest.teams[0].result.isWinner,
conchShellsRatio: fest.teams[0].result.horagaiRatio,
conchShellsTop: fest.teams[0].result.isHoragaiRatioTop,
voteRatio: fest.teams[0].result.voteRatio,
isVoteTop: fest.teams[0].result.isVoteRatioTop,
regularContributionRatio: fest.teams[0].result.regularContributionRatio,
isRegularContributionTop: fest.teams[0].result.isRegularContributionRatioTop,
proModeContributionRatio: fest.teams[0].result.challengeContributionRatio,
isProModeContributionTop: fest.teams[0].result.isChallengeContributionRatioTop,
tricolorContributionRatio: fest.teams[0].result.tricolorContributionRatio,
isTricolorContributionRatioTop: fest.teams[0].result.isTricolorContributionRatioTop,
}
},
1: {
teamName: (_h = (_g = (_f = translation.festivals[fest.__splatoon3ink_id]) === null || _f === void 0 ? void 0 : _f.teams[1]) === null || _g === void 0 ? void 0 : _g.teamName) !== null && _h !== void 0 ? _h : "",
image: fest.teams[1].image.url,
color: `rgba(${fest.teams[1].color.r * 255}, ${fest.teams[1].color.g * 255}, ${fest.teams[1].color.b * 255}, ${fest.teams[1].color.a})`,
colorHEX: (0, utils_js_1.RGBAtoHEX)(`rgba(${Math.floor(fest.teams[1].color.r * 255)}, ${Math.floor(fest.teams[1].color.g * 255)}, ${Math.floor(fest.teams[1].color.b * 255)}, ${Math.floor(fest.teams[1].color.a)})`),
role: fest.teams[1].role,
results: {
isWinner: fest.teams[1].result.isWinner,
conchShellsRatio: fest.teams[1].result.horagaiRatio,
conchShellsTop: fest.teams[1].result.isHoragaiRatioTop,
voteRatio: fest.teams[1].result.voteRatio,
isVoteTop: fest.teams[1].result.isVoteRatioTop,
regularContributionRatio: fest.teams[1].result.regularContributionRatio,
isRegularContributionTop: fest.teams[1].result.isRegularContributionRatioTop,
proModeContributionRatio: fest.teams[1].result.challengeContributionRatio,
isProModeContributionTop: fest.teams[1].result.isChallengeContributionRatioTop,
tricolorContributionRatio: fest.teams[1].result.tricolorContributionRatio,
isTricolorContributionRatioTop: fest.teams[1].result.isTricolorContributionRatioTop,
}
},
2: {
teamName: (_l = (_k = (_j = translation.festivals[fest.__splatoon3ink_id]) === null || _j === void 0 ? void 0 : _j.teams[2]) === null || _k === void 0 ? void 0 : _k.teamName) !== null && _l !== void 0 ? _l : "",
image: fest.teams[2].image.url,
color: `rgba(${fest.teams[2].color.r * 255}, ${fest.teams[2].color.g * 255}, ${fest.teams[2].color.b * 255}, ${fest.teams[2].color.a})`,
colorHEX: (0, utils_js_1.RGBAtoHEX)(`rgba(${Math.floor(fest.teams[2].color.r * 255)}, ${Math.floor(fest.teams[2].color.g * 255)}, ${Math.floor(fest.teams[2].color.b * 255)}, ${Math.floor(fest.teams[2].color.a)})`),
role: fest.teams[2].role,
results: {
isWinner: fest.teams[2].result.isWinner,
conchShellsRatio: fest.teams[2].result.horagaiRatio,
conchShellsTop: fest.teams[2].result.isHoragaiRatioTop,
voteRatio: fest.teams[2].result.voteRatio,
isVoteTop: fest.teams[2].result.isVoteRatioTop,
regularContributionRatio: fest.teams[2].result.regularContributionRatio,
isRegularContributionTop: fest.teams[2].result.isRegularContributionRatioTop,
proModeContributionRatio: fest.teams[2].result.challengeContributionRatio,
isProModeContributionTop: fest.teams[2].result.isChallengeContributionRatioTop,
tricolorContributionRatio: fest.teams[2].result.tricolorContributionRatio,
isTricolorContributionRatioTop: fest.teams[2].result.isTricolorContributionRatioTop,
}
}
}
});
});
});
return data;
}
;