maplestory-openapi
Version:
This JavaScript library enables the use of the MapleStory OpenAPI of Nexon.
109 lines (104 loc) • 3.01 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var characterAbility = require('../../../common/dto/character/characterAbility.js');
/**
* 캐릭터 어빌리티 정보
*/
class CharacterAbilityDto extends characterAbility.CharacterAbilityDto {
/**
* 조회 기준일 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
*/
date;
/**
* 어빌리티 등급
*/
abilityGrade;
/**
* 어빌리티 정보
*/
abilityInfo;
/**
* 보유 명성치
*/
remainFame;
/**
* 적용 중인 어빌리티 프리셋 번호
*/
presetNo;
/**
* 어빌리티 1번 프리셋 전체 정보
*/
abilityPreset1;
/**
* 어빌리티 2번 프리셋 전체 정보
*/
abilityPreset2;
/**
* 어빌리티 3번 프리셋 전체 정보
*/
abilityPreset3;
constructor(obj) {
super();
const { date, ability_grade, ability_info, remain_fame, preset_no, ability_preset_1, ability_preset_2, ability_preset_3, } = obj;
this.date = date ? new Date(date) : null;
this.abilityGrade = ability_grade;
this.abilityInfo = ability_info.map((info) => new CharacterAbilityInfoDto(info));
this.remainFame = remain_fame;
this.presetNo = preset_no;
this.abilityPreset1 = ability_preset_1
? new CharacterAbilityPresetDto(ability_preset_1)
: null;
this.abilityPreset2 = ability_preset_2
? new CharacterAbilityPresetDto(ability_preset_2)
: null;
this.abilityPreset3 = ability_preset_3
? new CharacterAbilityPresetDto(ability_preset_3)
: null;
}
}
/**
* 캐릭터 어빌리티 상세 정보
*/
class CharacterAbilityInfoDto extends characterAbility.CharacterAbilityInfoDto {
/**
* 어빌리티 번호
*/
abilityNo;
/**
* 어빌리티 등급
*/
abilityGrade;
/**
* 어빌리티 옵션 및 수치
*/
abilityValue;
constructor(obj) {
super();
const { ability_no, ability_grade, ability_value } = obj;
this.abilityNo = ability_no;
this.abilityGrade = ability_grade;
this.abilityValue = ability_value;
}
}
/**
* 캐릭터 어빌리티 프리셋 정보
*/
class CharacterAbilityPresetDto extends characterAbility.CharacterAbilityPresetDto {
/**
* 프리셋의 어빌리티 등급
*/
abilityPresetGrade;
/**
* 프리셋의 어빌리티 정보
*/
abilityInfo;
constructor(obj) {
super();
const { ability_preset_grade, ability_info } = obj;
this.abilityPresetGrade = ability_preset_grade;
this.abilityInfo = ability_info.map((info) => new CharacterAbilityInfoDto(info));
}
}
exports.CharacterAbilityDto = CharacterAbilityDto;
exports.CharacterAbilityInfoDto = CharacterAbilityInfoDto;
exports.CharacterAbilityPresetDto = CharacterAbilityPresetDto;