splatoon3api
Version:
A simple Method to get current and next Splatoon 3 maps, Salmonrun Schedules and Splatnet gear
49 lines (48 loc) • 2.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = parseUpcomingSplatfests;
const utils_js_1 = require("../../utils.js");
function parseUpcomingSplatfests(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) => {
if (fest.state !== "SCHEDULED")
return;
data[region].push({
title: fest.title,
startTime: fest.startTime,
endTime: fest.endTime,
teams: {
0: {
teamName: fest.teams[0].teamName,
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)})`)
},
1: {
teamName: fest.teams[1].teamName,
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)})`)
},
2: {
teamName: fest.teams[2].teamName,
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)})`)
}
}
});
});
});
return data;
}
;