UNPKG

genshin-manager

Version:

<div align="center"> <p> <a href="https://www.npmjs.com/package/genshin-manager"><img src="https://img.shields.io/npm/v/genshin-manager.svg?maxAge=3600" alt="npm version" /></a> <a href="https://www.npmjs.com/package/genshin-manager"><img src="https:

35 lines (34 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GenshinAccount = void 0; const EnkaBuild_1 = require("../../models/enka/EnkaBuild"); const PlayerDetail_1 = require("../../models/enka/PlayerDetail"); /** * Class of GenshinAccount */ class GenshinAccount { /** * Create a GenshinAccount * @param gameAccountData Data from EnkaNetwork * @param buildDatas Data from EnkaNetwork * @param username Username of EnkaNetwork * @param enkaBaseURL URL of enka.network */ constructor(gameAccountData, buildDatas, username, enkaBaseURL) { this.uid = gameAccountData.uid; this.hash = gameAccountData.hash; this.region = gameAccountData.region; this.uidPublic = gameAccountData.uid_public; this.livePublic = gameAccountData.live_public; this.verified = gameAccountData.verified; this.playerDetail = new PlayerDetail_1.PlayerDetail(gameAccountData.player_info); const avatarOrder = gameAccountData.avatar_order; const avatarIdOrder = Object.keys(avatarOrder).sort((a, b) => avatarOrder[a] - avatarOrder[b]); this.url = `${enkaBaseURL}/u/${username}/${this.hash}`; this.builds = avatarIdOrder.map((avatarId) => buildDatas[avatarId] .sort((a, b) => a.order - b.order) .map((data) => new EnkaBuild_1.EnkaBuild(data, this.url))); this.data = gameAccountData; } } exports.GenshinAccount = GenshinAccount;