enka-network-api
Version:
Enka-network API wrapper for Genshin Impact.
29 lines (28 loc) • 1.37 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GenshinCharacterBuild = void 0;
const config_file_js_1 = require("config_file.js");
const Character_1 = require("../character/Character");
const enka_system_1 = require("enka-system");
/**
* A present character build or a saved character build in Enka.Network account
*/
class GenshinCharacterBuild extends enka_system_1.CharacterBuild {
constructor(data, enka, username, hash) {
super();
this._data = data;
this.enka = enka;
this.enkaUserInfo = { username: username, hash: hash };
const json = new config_file_js_1.JsonReader(config_file_js_1.defaultJsonOptions, this._data);
this.id = json.getAsNumber("id");
this.name = json.getAsString("name");
this.order = json.getAsNumber("order");
this.isLive = json.getAsBoolean("live");
this.isPublic = json.getAsBoolean("public");
this.character = new Character_1.Character(json.getAsJsonObject("avatar_data"), enka);
this.imageUrl = json.getAsNullableString("image");
this.hoyoType = json.getAsNumber("hoyo_type");
this.url = `${this.enka.options.enkaUrl}/u/${this.enkaUserInfo.username}/${this.enkaUserInfo.hash}/${this.character.characterData.id}/${this.id}/`;
}
}
exports.GenshinCharacterBuild = GenshinCharacterBuild;