UNPKG

@mome0320/kartrider.js-fetch

Version:

KartRider library interacting with Nexon API use fetch

31 lines (30 loc) 1.23 kB
"use strict"; 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)); }