@mome0320/kartrider.js-fetch
Version:
KartRider library interacting with Nexon API use fetch
59 lines (58 loc) • 2.1 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Player_1 = __importDefault(require("./Player"));
const Match_1 = __importDefault(require("./Match"));
class MatchDetail extends Match_1.default {
constructor(data, kartMetaData) {
super(data, kartMetaData);
this._playTime = data.playTime;
this._gameSpeed = data.gameSpeed;
if (data.players)
this.players = data.players
.map(data => new Player_1.default(data, "0", kartMetaData))
.sort((a, b) => {
const ARank = a.matchRank || 99;
const BRank = b.matchRank || 99;
return ARank - BRank;
});
if (data.teams)
this.teams = data.teams.map(data => {
const players = data.players.map((playerData) => new Player_1.default(playerData, data.teamId, kartMetaData));
return { teamID: data.teamId, players };
}).sort((a, b) => Number(a.teamID) - Number(b.teamID));
}
get isTeam() {
return Boolean(this.matchResult !== "0");
}
get winner() {
var _a, _b;
if (this.matchResult == "0")
return (_a = this.players) === null || _a === void 0 ? void 0 : _a[0];
else {
const team = (_b = this.teams) === null || _b === void 0 ? void 0 : _b.find(team => team.teamID === this.matchResult);
return team || { teamID: this.matchResult };
}
}
get playTime() {
return this._playTime;
}
get gameSpeed() {
switch (this._gameSpeed) {
case 0:
return "빠름";
case 1:
return "매우빠름";
case 2:
return "가장빠름";
case 3:
return "보통";
case 4:
return "무한";
}
return "보통";
}
}
exports.default = MatchDetail;