@mome0320/kartrider.js-fetch
Version:
KartRider library interacting with Nexon API use fetch
31 lines (30 loc) • 1.23 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const UserMatchInfo_1 = __importDefault(require("./UserMatchInfo"));
class UserMatchList {
constructor(userInfo, data, page, kartMetaData) {
this.user = userInfo;
if (!this.user.name)
this.user.name = data.nickName;
this.matchList = resolveMatchList(data.matches, kartMetaData);
this.limit = page === null || page === void 0 ? void 0 : page.limit;
this.offset = page === null || page === void 0 ? void 0 : page.offset;
}
}
exports.default = UserMatchList;
function _MargeTypefromMatchObject(data) {
let result = [];
data.forEach(e => result = result.concat(e.matches));
return result;
}
function _SortDatefromMatchList(data) {
return data.sort((a, b) => Date.parse(b.endTime) - Date.parse(a.endTime));
}
function resolveMatchList(raw, kartMetaData) {
const marge = _MargeTypefromMatchObject(raw);
const sort = _SortDatefromMatchList(marge);
return sort.map(MatchData => new UserMatchInfo_1.default(MatchData, kartMetaData));
}