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
JavaScript
;
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;