maplestory-openapi 2.4.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +51 -39
  2. package/dist/index.js +1459 -1153
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.mjs +1442 -1153
  5. package/package.json +6 -4
  6. package/types/index.d.ts +18 -3
  7. package/types/maplestory/api/dto/character/characterAbilityDto.d.ts +1 -1
  8. package/types/maplestory/api/dto/character/characterAndroidEquipmentDto.d.ts +2 -2
  9. package/types/maplestory/api/dto/character/characterAndroidEquipmentPresetDto.d.ts +2 -2
  10. package/types/maplestory/api/dto/character/characterBasicDto.d.ts +21 -1
  11. package/types/maplestory/api/dto/character/characterBeautyEquipmentDto.d.ts +1 -1
  12. package/types/maplestory/api/dto/character/characterCashItemEquipmentDto.d.ts +1 -1
  13. package/types/maplestory/api/dto/character/characterDojangDto.d.ts +1 -1
  14. package/types/maplestory/api/dto/character/characterHexaMatrixDto.d.ts +1 -1
  15. package/types/maplestory/api/dto/character/characterHexaMatrixStatDto.d.ts +1 -1
  16. package/types/maplestory/api/dto/character/characterHyperStatDto.d.ts +1 -1
  17. package/types/maplestory/api/dto/character/characterItemEquipmentDto.d.ts +3 -3
  18. package/types/maplestory/api/dto/character/characterLinkSkillDto.d.ts +1 -1
  19. package/types/maplestory/api/dto/character/characterLinkSkillInfoDto.d.ts +4 -0
  20. package/types/maplestory/api/dto/character/characterListAccountCharacterDto.d.ts +28 -0
  21. package/types/maplestory/api/dto/character/characterListAccountDto.d.ts +17 -0
  22. package/types/maplestory/api/dto/character/characterListDto.d.ts +13 -0
  23. package/types/maplestory/api/dto/character/characterPetEquipmentDto.d.ts +1 -1
  24. package/types/maplestory/api/dto/character/characterPopularityDto.d.ts +1 -1
  25. package/types/maplestory/api/dto/character/characterPropensityDto.d.ts +1 -1
  26. package/types/maplestory/api/dto/character/characterSetEffectDto.d.ts +3 -3
  27. package/types/maplestory/api/dto/character/characterSetEffectInfoDto.d.ts +5 -10
  28. package/types/maplestory/api/dto/character/characterSetEffectOptionFullDto.d.ts +16 -0
  29. package/types/maplestory/api/dto/character/characterSetEffectSetDto.d.ts +26 -0
  30. package/types/maplestory/api/dto/character/characterSkillDto.d.ts +1 -1
  31. package/types/maplestory/api/dto/character/characterSkillInfoDto.d.ts +4 -0
  32. package/types/maplestory/api/dto/character/characterStatDto.d.ts +1 -1
  33. package/types/maplestory/api/dto/character/characterSymbolEquipmentDto.d.ts +1 -1
  34. package/types/maplestory/api/dto/character/characterVMatrixCoreEquipmentDto.d.ts +2 -2
  35. package/types/maplestory/api/dto/character/characterVMatrixDto.d.ts +1 -1
  36. package/types/maplestory/api/dto/guild/guildBasicDto.d.ts +1 -9
  37. package/types/maplestory/api/dto/history/cubeHistoryDto.d.ts +1 -1
  38. package/types/maplestory/api/dto/history/cubeResultOptionDto.d.ts +1 -1
  39. package/types/maplestory/api/dto/history/potentialHistoryDto.d.ts +2 -2
  40. package/types/maplestory/api/dto/history/potentialResultOptionDto.d.ts +1 -1
  41. package/types/maplestory/api/dto/history/starforceHistoryDto.d.ts +1 -1
  42. package/types/maplestory/api/dto/notice/cashshopNoticeDetailDto.d.ts +40 -0
  43. package/types/maplestory/api/dto/notice/cashshopNoticeListDto.d.ts +13 -0
  44. package/types/maplestory/api/dto/notice/cashshopNoticeListItemDto.d.ts +40 -0
  45. package/types/maplestory/api/dto/notice/eventNoticeDetailDto.d.ts +32 -0
  46. package/types/maplestory/api/dto/notice/eventNoticeListDto.d.ts +13 -0
  47. package/types/maplestory/api/dto/notice/eventNoticeListItemDto.d.ts +32 -0
  48. package/types/maplestory/api/dto/notice/noticeDetailDto.d.ts +24 -0
  49. package/types/maplestory/api/dto/notice/noticeListDto.d.ts +13 -0
  50. package/types/maplestory/api/dto/notice/noticeListItemDto.d.ts +24 -0
  51. package/types/maplestory/api/dto/notice/updateNoticeDetailDto.d.ts +24 -0
  52. package/types/maplestory/api/dto/notice/updateNoticeListDto.d.ts +13 -0
  53. package/types/maplestory/api/dto/notice/updateNoticeListItemDto.d.ts +24 -0
  54. package/types/maplestory/api/dto/union/unionArtifactDto.d.ts +1 -1
  55. package/types/maplestory/api/dto/union/unionDto.d.ts +13 -1
  56. package/types/maplestory/api/dto/union/unionRaiderDto.d.ts +26 -1
  57. package/types/maplestory/api/dto/union/unionRaiderPresetDto.d.ts +26 -0
  58. package/types/maplestory/api/mapleStoryApi.d.ts +133 -30
  59. package/types/maplestory/api/mapleStoryApiError.d.ts +4 -1
  60. package/types/maplestory/api/response/character/characterAbilityDtoBody.d.ts +1 -1
  61. package/types/maplestory/api/response/character/characterAndroidEquipmentDtoBody.d.ts +1 -1
  62. package/types/maplestory/api/response/character/characterBasicDtoBody.d.ts +4 -1
  63. package/types/maplestory/api/response/character/characterBeautyEquipmentDtoBody.d.ts +1 -1
  64. package/types/maplestory/api/response/character/characterCashItemEquipmentDtoBody.d.ts +1 -1
  65. package/types/maplestory/api/response/character/characterDojangDtoBody.d.ts +1 -1
  66. package/types/maplestory/api/response/character/characterHexaMatrixDtoBody.d.ts +1 -1
  67. package/types/maplestory/api/response/character/characterHexaMatrixStatDtoBody.d.ts +1 -1
  68. package/types/maplestory/api/response/character/characterHyperStatDtoBody.d.ts +1 -1
  69. package/types/maplestory/api/response/character/characterItemEquipmentDtoBody.d.ts +1 -1
  70. package/types/maplestory/api/response/character/characterLinkSkillDtoBody.d.ts +2 -1
  71. package/types/maplestory/api/response/character/characterListDtoBody.d.ts +15 -0
  72. package/types/maplestory/api/response/character/characterPetEquipmentDtoBody.d.ts +1 -1
  73. package/types/maplestory/api/response/character/characterPopularityDtoBody.d.ts +1 -1
  74. package/types/maplestory/api/response/character/characterPropensityDtoBody.d.ts +1 -1
  75. package/types/maplestory/api/response/character/characterSetEffectDtoBody.d.ts +11 -6
  76. package/types/maplestory/api/response/character/characterSkillDtoBody.d.ts +2 -1
  77. package/types/maplestory/api/response/character/characterStatDtoBody.d.ts +1 -1
  78. package/types/maplestory/api/response/character/characterSymbolEquipmentDtoBody.d.ts +1 -1
  79. package/types/maplestory/api/response/character/characterVMatrixDtoBody.d.ts +3 -3
  80. package/types/maplestory/api/response/guild/guildBasicDtoBody.d.ts +1 -3
  81. package/types/maplestory/api/response/history/cubeHistoryDtoBody.d.ts +1 -1
  82. package/types/maplestory/api/response/history/cubeHistoryResponseDtoBody.d.ts +1 -1
  83. package/types/maplestory/api/response/history/starforceHistoryDtoBody.d.ts +2 -2
  84. package/types/maplestory/api/response/history/starforceHistoryResponseDtoBody.d.ts +1 -1
  85. package/types/maplestory/api/response/notice/cashshopNoticeDetailDtoBody.d.ts +10 -0
  86. package/types/maplestory/api/response/notice/cashshopNoticeListDtoBody.d.ts +13 -0
  87. package/types/maplestory/api/response/notice/eventNoticeDetailDtoBody.d.ts +9 -0
  88. package/types/maplestory/api/response/notice/eventNoticeListDtoBody.d.ts +12 -0
  89. package/types/maplestory/api/response/notice/noticeDetailDtoBody.d.ts +7 -0
  90. package/types/maplestory/api/response/notice/noticeListDtoBody.d.ts +10 -0
  91. package/types/maplestory/api/response/notice/updateNoticeDetailDtoBody.d.ts +7 -0
  92. package/types/maplestory/api/response/notice/updateNoticeListDtoBody.d.ts +10 -0
  93. package/types/maplestory/api/response/ranking/theSeedRankingResponseDtoBody.d.ts +2 -3
  94. package/types/maplestory/api/response/union/unionArtifactDtoBody.d.ts +1 -1
  95. package/types/maplestory/api/response/union/unionDtoBody.d.ts +4 -1
  96. package/types/maplestory/api/response/union/unionRaiderDtoBody.d.ts +14 -2
  97. package/types/maplestory/api/dto/character/characterSetEffectOptionInfoDto.d.ts +0 -16
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof win
15
15
  var timezone$1 = {exports: {}};
16
16
 
17
17
  (function (module, exports) {
18
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
18
+ !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n,i=this.utcOffset(),a=this.toDate(),u=a.toLocaleString("en-US",{timeZone:t}),f=Math.round((a-new Date(u))/1e3/60),s=15*-Math.round(a.getTimezoneOffset()/15)-f;if(!Number(s))n=this.utcOffset(0,e);else if(n=o(u,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(s,!0),e){var m=n.utcOffset();n=n.add(i-m,"minute");}return n.$x.$timezone=t,n},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
19
19
  }(timezone$1));
20
20
 
21
21
  var timezone = timezone$1.exports;
@@ -110,7 +110,7 @@ class CharacterAbilityDto {
110
110
  constructor(obj) {
111
111
  const { date, ability_grade, ability_info, remain_fame, preset_no, ability_preset_1, ability_preset_2, ability_preset_3, } = obj;
112
112
  // 날짜는 Date 객체로 변환
113
- this.date = new Date(date);
113
+ this.date = date ? new Date(date) : null;
114
114
  this.abilityGrade = ability_grade;
115
115
  this.abilityInfo = ability_info.map((info) => new CharacterAbilityInfoDto(info));
116
116
  this.remainFame = remain_fame;
@@ -443,7 +443,7 @@ class CharacterAndroidEquipmentDto {
443
443
  androidPreset3;
444
444
  constructor(obj) {
445
445
  const { date, android_name, android_nickname, android_icon, android_description, android_hair, android_face, android_skin_name, android_cash_item_equipment, android_ear_sensor_clip_flag, android_gender, android_grade, android_non_humanoid_flag, android_shop_usable_flag, preset_no, android_preset_1, android_preset_2, android_preset_3, } = obj;
446
- this.date = new Date(date);
446
+ this.date = date ? new Date(date) : null;
447
447
  this.androidName = android_name;
448
448
  this.androidNickname = android_nickname;
449
449
  this.androidIcon = android_icon;
@@ -509,9 +509,21 @@ class CharacterBasicDto {
509
509
  * 캐릭터 외형 이미지
510
510
  */
511
511
  characterImage;
512
+ /**
513
+ * 캐릭터 생성일
514
+ */
515
+ characterDateCreate;
516
+ /**
517
+ * 최근 7일간 접속 여부
518
+ */
519
+ accessFlag;
520
+ /**
521
+ * 해방 퀘스트 완료 여부
522
+ */
523
+ liberationQuestClearFlag;
512
524
  constructor(obj) {
513
- const { date, character_name, world_name, character_gender, character_class, character_class_level, character_level, character_exp, character_exp_rate, character_guild_name, character_image, } = obj;
514
- this.date = new Date(date);
525
+ const { date, character_name, world_name, character_gender, character_class, character_class_level, character_level, character_exp, character_exp_rate, character_guild_name, character_image, character_date_create, access_flag, liberation_quest_clear_flag, } = obj;
526
+ this.date = date ? new Date(date) : null;
515
527
  this.characterName = character_name;
516
528
  this.worldName = world_name;
517
529
  this.characterGender = character_gender;
@@ -522,6 +534,21 @@ class CharacterBasicDto {
522
534
  this.characterExpRate = character_exp_rate;
523
535
  this.characterGuildName = character_guild_name;
524
536
  this.characterImage = character_image;
537
+ this.characterDateCreate = new Date(character_date_create);
538
+ this.accessFlag = access_flag;
539
+ this.liberationQuestClearFlag = liberation_quest_clear_flag;
540
+ }
541
+ /**
542
+ * 최근 7일간 접속 여부
543
+ */
544
+ get isAccessFlag() {
545
+ return this.accessFlag === 'true';
546
+ }
547
+ /**
548
+ * 해방 퀘스트 완료 여부
549
+ */
550
+ get isLiberationQuestClearFlag() {
551
+ return this.liberationQuestClearFlag === 'true';
525
552
  }
526
553
  }
527
554
 
@@ -628,7 +655,7 @@ class CharacterBeautyEquipmentDto {
628
655
  additionalCharacterSkinName;
629
656
  constructor(obj) {
630
657
  const { date, character_gender, character_class, character_hair, character_face, character_skin_name, additional_character_hair, additional_character_face, additional_character_skin_name, } = obj;
631
- this.date = new Date(date);
658
+ this.date = date ? new Date(date) : null;
632
659
  this.characterGender = character_gender;
633
660
  this.characterClass = character_class;
634
661
  this.characterHair = new CharacterBeautyEquipmentHairDto(character_hair);
@@ -812,7 +839,7 @@ class CharacterCashItemEquipmentDto {
812
839
  additionalCashItemEquipmentPreset3;
813
840
  constructor(obj) {
814
841
  const { date, character_gender, character_class, preset_no, cash_item_equipment_base, cash_item_equipment_preset_1, cash_item_equipment_preset_2, cash_item_equipment_preset_3, additional_cash_item_equipment_base, additional_cash_item_equipment_preset_1, additional_cash_item_equipment_preset_2, additional_cash_item_equipment_preset_3, } = obj;
815
- this.date = new Date(date);
842
+ this.date = date ? new Date(date) : null;
816
843
  this.characterGender = character_gender;
817
844
  this.characterClass = character_class;
818
845
  this.presetNo = preset_no;
@@ -861,7 +888,7 @@ class CharacterDojangDto {
861
888
  dojangBestTime;
862
889
  constructor(obj) {
863
890
  const { date, character_class, world_name, dojang_best_floor, date_dojang_record, dojang_best_time, } = obj;
864
- this.date = new Date(date);
891
+ this.date = date ? new Date(date) : null;
865
892
  this.characterClass = character_class;
866
893
  this.worldName = world_name;
867
894
  this.dojangBestFloor = dojang_best_floor;
@@ -943,7 +970,7 @@ class CharacterHexaMatrixDto {
943
970
  characterHexaCoreEquipment;
944
971
  constructor(obj) {
945
972
  const { date, character_hexa_core_equipment } = obj;
946
- this.date = new Date(date);
973
+ this.date = date ? new Date(date) : null;
947
974
  this.characterHexaCoreEquipment = character_hexa_core_equipment.map((equipment) => new CharacterHexaMatrixEquipmentDto(equipment));
948
975
  }
949
976
  }
@@ -1019,7 +1046,7 @@ class CharacterHexaMatrixStatDto {
1019
1046
  presetHexaStatCore;
1020
1047
  constructor(obj) {
1021
1048
  const { date, character_class, character_hexa_stat_core, preset_hexa_stat_core, } = obj;
1022
- this.date = new Date(date);
1049
+ this.date = date ? new Date(date) : null;
1023
1050
  this.characterClass = character_class;
1024
1051
  this.characterHexaStatCore = character_hexa_stat_core.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1025
1052
  this.presetHexaStatCore = preset_hexa_stat_core.map((core) => new CharacterHexaMatrixStatCoreDto(core));
@@ -1101,7 +1128,7 @@ class CharacterHyperStatDto {
1101
1128
  hyperStatPreset3RemainPoint;
1102
1129
  constructor(obj) {
1103
1130
  const { date, character_class, use_preset_no, use_available_hyper_stat, hyper_stat_preset_1, hyper_stat_preset_1_remain_point, hyper_stat_preset_2, hyper_stat_preset_2_remain_point, hyper_stat_preset_3, hyper_stat_preset_3_remain_point, } = obj;
1104
- this.date = new Date(date);
1131
+ this.date = date ? new Date(date) : null;
1105
1132
  this.characterClass = character_class;
1106
1133
  this.usePresetNo = use_preset_no;
1107
1134
  this.useAvailableHyperStat = use_available_hyper_stat;
@@ -1569,9 +1596,9 @@ class CharacterItemEquipmentTotalOptionDto {
1569
1596
  }
1570
1597
 
1571
1598
  /**
1572
- * 캐릭터 장비 아이템 상세 정보
1599
+ * 에반 드래곤 장비 정보
1573
1600
  */
1574
- class CharacterItemEquipmentInfoDto {
1601
+ class CharacterItemEquipmentDragonInfoDto {
1575
1602
  /**
1576
1603
  * 장비 부위 명
1577
1604
  */
@@ -1612,38 +1639,6 @@ class CharacterItemEquipmentInfoDto {
1612
1639
  * 장비 기본 옵션
1613
1640
  */
1614
1641
  itemBaseOption;
1615
- /**
1616
- * 잠재능력 등급
1617
- */
1618
- potentialOptionGrade;
1619
- /**
1620
- * 에디셔널 잠재능력 등급
1621
- */
1622
- additionalPotentialOptionGrade;
1623
- /**
1624
- * 잠재능력 첫 번째 옵션
1625
- */
1626
- potentialOption1;
1627
- /**
1628
- * 잠재능력 두 번째 옵션
1629
- */
1630
- potentialOption2;
1631
- /**
1632
- * 잠재능력 세 번째 옵션
1633
- */
1634
- potentialOption3;
1635
- /**
1636
- * 에디셔널 잠재능력 첫 번째 옵션
1637
- */
1638
- additionalPotentialOption1;
1639
- /**
1640
- * 에디셔널 잠재능력 두 번째 옵션
1641
- */
1642
- additionalPotentialOption2;
1643
- /**
1644
- * 에디셔널 잠재능력 세 번째 옵션
1645
- */
1646
- additionalPotentialOption3;
1647
1642
  /**
1648
1643
  * 착용 레벨 증가
1649
1644
  */
@@ -1717,7 +1712,7 @@ class CharacterItemEquipmentInfoDto {
1717
1712
  */
1718
1713
  dateExpire;
1719
1714
  constructor(obj) {
1720
- const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, potential_option_grade, additional_potential_option_grade, potential_option_1, potential_option_2, potential_option_3, additional_potential_option_1, additional_potential_option_2, additional_potential_option_3, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
1715
+ const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
1721
1716
  this.itemEquipmentPart = item_equipment_part;
1722
1717
  this.itemEquipmentSlot = item_equipment_slot;
1723
1718
  this.itemName = item_name;
@@ -1728,14 +1723,6 @@ class CharacterItemEquipmentInfoDto {
1728
1723
  this.itemGender = item_gender;
1729
1724
  this.itemTotalOption = new CharacterItemEquipmentTotalOptionDto(item_total_option);
1730
1725
  this.itemBaseOption = new CharacterItemEquipmentBaseOptionDto(item_base_option);
1731
- this.potentialOptionGrade = potential_option_grade;
1732
- this.additionalPotentialOptionGrade = additional_potential_option_grade;
1733
- this.potentialOption1 = potential_option_1;
1734
- this.potentialOption2 = potential_option_2;
1735
- this.potentialOption3 = potential_option_3;
1736
- this.additionalPotentialOption1 = additional_potential_option_1;
1737
- this.additionalPotentialOption2 = additional_potential_option_2;
1738
- this.additionalPotentialOption3 = additional_potential_option_3;
1739
1726
  this.equipmentLevelIncrease = equipment_level_increase;
1740
1727
  this.itemExceptionalOption = new CharacterItemEquipmentExceptionalOptionDto(item_exceptional_option);
1741
1728
  this.itemAddOption = new CharacterItemEquipmentAddOptionDto(item_add_option);
@@ -1758,54 +1745,9 @@ class CharacterItemEquipmentInfoDto {
1758
1745
  }
1759
1746
 
1760
1747
  /**
1761
- * 캐릭터 칭호 아이템 정보
1762
- */
1763
- class CharacterItemEquipmentTitleDto {
1764
- /**
1765
- * 칭호 장비 명
1766
- */
1767
- titleName;
1768
- /**
1769
- * 칭호 아이콘
1770
- */
1771
- titleIcon;
1772
- /**
1773
- * 칭호 설명
1774
- */
1775
- titleDescription;
1776
- /**
1777
- * 칭호 유효 기간
1778
- */
1779
- dateExpire;
1780
- /**
1781
- * 칭호 옵션 유효 기간
1782
- */
1783
- dateOptionExpire = null;
1784
- /**
1785
- * 칭호 옵션 유효 기간 만료 여부
1786
- */
1787
- isOptionExpired = null;
1788
- constructor(obj) {
1789
- const { title_name, title_icon, title_description, date_expire, date_option_expire, } = obj;
1790
- this.titleName = title_name;
1791
- this.titleIcon = title_icon;
1792
- this.titleDescription = title_description;
1793
- this.dateExpire = date_expire ? new Date(date_expire) : null;
1794
- if (date_option_expire === 'expired') {
1795
- this.isOptionExpired = true;
1796
- }
1797
- else if (typeof date_option_expire === 'string') {
1798
- this.dateOptionExpire = date_option_expire
1799
- ? new Date(date_option_expire)
1800
- : null;
1801
- }
1802
- }
1803
- }
1804
-
1805
- /**
1806
- * 에반 드래곤 장비 정보
1748
+ * 캐릭터 장비 아이템 상세 정보
1807
1749
  */
1808
- class CharacterItemEquipmentDragonInfoDto {
1750
+ class CharacterItemEquipmentInfoDto {
1809
1751
  /**
1810
1752
  * 장비 부위 명
1811
1753
  */
@@ -1846,6 +1788,38 @@ class CharacterItemEquipmentDragonInfoDto {
1846
1788
  * 장비 기본 옵션
1847
1789
  */
1848
1790
  itemBaseOption;
1791
+ /**
1792
+ * 잠재능력 등급
1793
+ */
1794
+ potentialOptionGrade;
1795
+ /**
1796
+ * 에디셔널 잠재능력 등급
1797
+ */
1798
+ additionalPotentialOptionGrade;
1799
+ /**
1800
+ * 잠재능력 첫 번째 옵션
1801
+ */
1802
+ potentialOption1;
1803
+ /**
1804
+ * 잠재능력 두 번째 옵션
1805
+ */
1806
+ potentialOption2;
1807
+ /**
1808
+ * 잠재능력 세 번째 옵션
1809
+ */
1810
+ potentialOption3;
1811
+ /**
1812
+ * 에디셔널 잠재능력 첫 번째 옵션
1813
+ */
1814
+ additionalPotentialOption1;
1815
+ /**
1816
+ * 에디셔널 잠재능력 두 번째 옵션
1817
+ */
1818
+ additionalPotentialOption2;
1819
+ /**
1820
+ * 에디셔널 잠재능력 세 번째 옵션
1821
+ */
1822
+ additionalPotentialOption3;
1849
1823
  /**
1850
1824
  * 착용 레벨 증가
1851
1825
  */
@@ -1919,7 +1893,7 @@ class CharacterItemEquipmentDragonInfoDto {
1919
1893
  */
1920
1894
  dateExpire;
1921
1895
  constructor(obj) {
1922
- const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
1896
+ const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, potential_option_grade, additional_potential_option_grade, potential_option_1, potential_option_2, potential_option_3, additional_potential_option_1, additional_potential_option_2, additional_potential_option_3, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
1923
1897
  this.itemEquipmentPart = item_equipment_part;
1924
1898
  this.itemEquipmentSlot = item_equipment_slot;
1925
1899
  this.itemName = item_name;
@@ -1930,6 +1904,14 @@ class CharacterItemEquipmentDragonInfoDto {
1930
1904
  this.itemGender = item_gender;
1931
1905
  this.itemTotalOption = new CharacterItemEquipmentTotalOptionDto(item_total_option);
1932
1906
  this.itemBaseOption = new CharacterItemEquipmentBaseOptionDto(item_base_option);
1907
+ this.potentialOptionGrade = potential_option_grade;
1908
+ this.additionalPotentialOptionGrade = additional_potential_option_grade;
1909
+ this.potentialOption1 = potential_option_1;
1910
+ this.potentialOption2 = potential_option_2;
1911
+ this.potentialOption3 = potential_option_3;
1912
+ this.additionalPotentialOption1 = additional_potential_option_1;
1913
+ this.additionalPotentialOption2 = additional_potential_option_2;
1914
+ this.additionalPotentialOption3 = additional_potential_option_3;
1933
1915
  this.equipmentLevelIncrease = equipment_level_increase;
1934
1916
  this.itemExceptionalOption = new CharacterItemEquipmentExceptionalOptionDto(item_exceptional_option);
1935
1917
  this.itemAddOption = new CharacterItemEquipmentAddOptionDto(item_add_option);
@@ -2100,6 +2082,51 @@ class CharacterItemEquipmentMechanicInfoDto {
2100
2082
  }
2101
2083
  }
2102
2084
 
2085
+ /**
2086
+ * 캐릭터 칭호 아이템 정보
2087
+ */
2088
+ class CharacterItemEquipmentTitleDto {
2089
+ /**
2090
+ * 칭호 장비 명
2091
+ */
2092
+ titleName;
2093
+ /**
2094
+ * 칭호 아이콘
2095
+ */
2096
+ titleIcon;
2097
+ /**
2098
+ * 칭호 설명
2099
+ */
2100
+ titleDescription;
2101
+ /**
2102
+ * 칭호 유효 기간
2103
+ */
2104
+ dateExpire;
2105
+ /**
2106
+ * 칭호 옵션 유효 기간
2107
+ */
2108
+ dateOptionExpire = null;
2109
+ /**
2110
+ * 칭호 옵션 유효 기간 만료 여부
2111
+ */
2112
+ isOptionExpired = null;
2113
+ constructor(obj) {
2114
+ const { title_name, title_icon, title_description, date_expire, date_option_expire, } = obj;
2115
+ this.titleName = title_name;
2116
+ this.titleIcon = title_icon;
2117
+ this.titleDescription = title_description;
2118
+ this.dateExpire = date_expire ? new Date(date_expire) : null;
2119
+ if (date_option_expire === 'expired') {
2120
+ this.isOptionExpired = true;
2121
+ }
2122
+ else if (typeof date_option_expire === 'string') {
2123
+ this.dateOptionExpire = date_option_expire
2124
+ ? new Date(date_option_expire)
2125
+ : null;
2126
+ }
2127
+ }
2128
+ }
2129
+
2103
2130
  /**
2104
2131
  * 캐릭터 장비 아이템 정보
2105
2132
  */
@@ -2150,7 +2177,7 @@ class CharacterItemEquipmentDto {
2150
2177
  mechanicEquipment;
2151
2178
  constructor(obj) {
2152
2179
  const { date, character_gender, character_class, preset_no, item_equipment, item_equipment_preset_1, item_equipment_preset_2, item_equipment_preset_3, title, dragon_equipment, mechanic_equipment, } = obj;
2153
- this.date = new Date(date);
2180
+ this.date = date ? new Date(date) : null;
2154
2181
  this.characterGender = character_gender;
2155
2182
  this.characterClass = character_class;
2156
2183
  this.presetNo = preset_no;
@@ -2184,16 +2211,21 @@ class CharacterLinkSkillInfoDto {
2184
2211
  * 스킬 효과
2185
2212
  */
2186
2213
  skillEffect;
2214
+ /**
2215
+ * 다음 레벨의 스킬 효과
2216
+ */
2217
+ skillEffectNext;
2187
2218
  /**
2188
2219
  * 스킬 아이콘
2189
2220
  */
2190
2221
  skillIcon;
2191
2222
  constructor(obj) {
2192
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2223
+ const { skill_name, skill_description, skill_level, skill_effect, skill_effect_next, skill_icon, } = obj;
2193
2224
  this.skillName = skill_name;
2194
2225
  this.skillDescription = skill_description;
2195
2226
  this.skillLevel = skill_level;
2196
2227
  this.skillEffect = skill_effect;
2228
+ this.skillEffectNext = skill_effect_next;
2197
2229
  this.skillIcon = skill_icon;
2198
2230
  }
2199
2231
  }
@@ -2244,7 +2276,7 @@ class CharacterLinkSkillDto {
2244
2276
  characterOwnedLinkSkillPreset3;
2245
2277
  constructor(obj) {
2246
2278
  const { date, character_class, character_link_skill, character_link_skill_preset_1, character_link_skill_preset_2, character_link_skill_preset_3, character_owned_link_skill, character_owned_link_skill_preset_1, character_owned_link_skill_preset_2, character_owned_link_skill_preset_3, } = obj;
2247
- this.date = new Date(date);
2279
+ this.date = date ? new Date(date) : null;
2248
2280
  this.characterClass = character_class;
2249
2281
  this.characterLinkSkill = character_link_skill.map((skill) => new CharacterLinkSkillInfoDto(skill));
2250
2282
  this.characterLinkSkillPreset1 = character_link_skill_preset_1.map((skill) => new CharacterLinkSkillInfoDto(skill));
@@ -2258,63 +2290,130 @@ class CharacterLinkSkillDto {
2258
2290
  }
2259
2291
 
2260
2292
  /**
2261
- * 캐릭터 펫 장비 자동 스킬 정보
2293
+ * 캐릭터 정보
2262
2294
  */
2263
- class CharacterPetEquipmentAutoSkillDto {
2295
+ class CharacterListAccountCharacterDto {
2264
2296
  /**
2265
- * 번째 슬롯에 등록된 자동 스킬
2297
+ * 캐릭터 식별자
2266
2298
  */
2267
- skill1;
2299
+ ocid;
2268
2300
  /**
2269
- * 번째 슬롯에 등록된 자동 아이콘
2301
+ * 캐릭터
2270
2302
  */
2271
- skill1Icon;
2303
+ characterName;
2272
2304
  /**
2273
- * 번째 슬롯에 등록된 자동 스킬
2305
+ * 월드
2274
2306
  */
2275
- skill2;
2307
+ worldName;
2276
2308
  /**
2277
- * 번째 슬롯에 등록된 자동 아이콘
2309
+ * 캐릭터 직업
2278
2310
  */
2279
- skill2Icon;
2311
+ characterClass;
2312
+ /**
2313
+ * 캐릭터 레벨
2314
+ */
2315
+ characterLevel;
2280
2316
  constructor(obj) {
2281
- const { skill_1, skill_1_icon, skill_2, skill_2_icon } = obj;
2282
- this.skill1 = skill_1;
2283
- this.skill1Icon = skill_1_icon;
2284
- this.skill2 = skill_2;
2285
- this.skill2Icon = skill_2_icon;
2317
+ const { ocid, character_name, world_name, character_class, character_level, } = obj;
2318
+ this.ocid = ocid;
2319
+ this.characterName = character_name;
2320
+ this.worldName = world_name;
2321
+ this.characterClass = character_class;
2322
+ this.characterLevel = character_level;
2286
2323
  }
2287
2324
  }
2288
2325
 
2289
2326
  /**
2290
- * 캐릭터 펫 장비 아이템 옵션 정보
2327
+ * 메이플스토리 계정
2291
2328
  */
2292
- class CharacterPetEquipmentItemOptionDto {
2329
+ class CharacterListAccountDto {
2293
2330
  /**
2294
- * 옵션 정보
2331
+ * 메이플스토리 계정 식별자
2295
2332
  */
2296
- optionType;
2333
+ accountId;
2297
2334
  /**
2298
- * 옵션
2335
+ * 캐릭터 목록
2299
2336
  */
2300
- optionValue;
2337
+ characterList;
2301
2338
  constructor(obj) {
2302
- const { option_type, option_value } = obj;
2303
- this.optionType = option_type;
2304
- this.optionValue = option_value;
2339
+ const { account_id, character_list } = obj;
2340
+ this.accountId = account_id;
2341
+ this.characterList = character_list.map(character => new CharacterListAccountCharacterDto(character));
2305
2342
  }
2306
2343
  }
2307
2344
 
2308
2345
  /**
2309
- * 캐릭터 장비 아이템 정보
2346
+ * 계정의 보유 캐릭터 목록
2310
2347
  */
2311
- class CharacterPetEquipmentItemDto {
2312
- /**
2313
- * 아이템 명
2314
- */
2315
- itemName;
2348
+ class CharacterListDto {
2316
2349
  /**
2317
- * 아이템 아이콘
2350
+ * 메이플스토리 계정 목록
2351
+ */
2352
+ accountList;
2353
+ constructor(obj) {
2354
+ const { account_list } = obj;
2355
+ this.accountList = account_list.map(account => new CharacterListAccountDto(account));
2356
+ }
2357
+ }
2358
+
2359
+ /**
2360
+ * 캐릭터 펫 장비 자동 스킬 정보
2361
+ */
2362
+ class CharacterPetEquipmentAutoSkillDto {
2363
+ /**
2364
+ * 첫 번째 슬롯에 등록된 자동 스킬
2365
+ */
2366
+ skill1;
2367
+ /**
2368
+ * 첫 번째 슬롯에 등록된 자동 아이콘
2369
+ */
2370
+ skill1Icon;
2371
+ /**
2372
+ * 두 번째 슬롯에 등록된 자동 스킬
2373
+ */
2374
+ skill2;
2375
+ /**
2376
+ * 두 번째 슬롯에 등록된 자동 아이콘
2377
+ */
2378
+ skill2Icon;
2379
+ constructor(obj) {
2380
+ const { skill_1, skill_1_icon, skill_2, skill_2_icon } = obj;
2381
+ this.skill1 = skill_1;
2382
+ this.skill1Icon = skill_1_icon;
2383
+ this.skill2 = skill_2;
2384
+ this.skill2Icon = skill_2_icon;
2385
+ }
2386
+ }
2387
+
2388
+ /**
2389
+ * 캐릭터 펫 장비 아이템 옵션 정보
2390
+ */
2391
+ class CharacterPetEquipmentItemOptionDto {
2392
+ /**
2393
+ * 옵션 정보
2394
+ */
2395
+ optionType;
2396
+ /**
2397
+ * 옵션 값
2398
+ */
2399
+ optionValue;
2400
+ constructor(obj) {
2401
+ const { option_type, option_value } = obj;
2402
+ this.optionType = option_type;
2403
+ this.optionValue = option_value;
2404
+ }
2405
+ }
2406
+
2407
+ /**
2408
+ * 캐릭터 펫 장비 아이템 정보
2409
+ */
2410
+ class CharacterPetEquipmentItemDto {
2411
+ /**
2412
+ * 아이템 명
2413
+ */
2414
+ itemName;
2415
+ /**
2416
+ * 아이템 아이콘
2318
2417
  */
2319
2418
  itemIcon;
2320
2419
  /**
@@ -2496,7 +2595,7 @@ class CharacterPetEquipmentDto {
2496
2595
  pet3AppearanceIcon;
2497
2596
  constructor(obj) {
2498
2597
  const { date, pet_1_name, pet_1_nickname, pet_1_icon, pet_1_description, pet_1_equipment, pet_1_auto_skill, pet_1_pet_type, pet_1_skill, pet_1_date_expire, pet_1_appearance, pet_1_appearance_icon, pet_2_name, pet_2_nickname, pet_2_icon, pet_2_description, pet_2_equipment, pet_2_auto_skill, pet_2_pet_type, pet_2_skill, pet_2_date_expire, pet_2_appearance, pet_2_appearance_icon, pet_3_name, pet_3_nickname, pet_3_icon, pet_3_description, pet_3_equipment, pet_3_auto_skill, pet_3_pet_type, pet_3_skill, pet_3_date_expire, pet_3_appearance, pet_3_appearance_icon, } = obj;
2499
- this.date = new Date(date);
2598
+ this.date = date ? new Date(date) : null;
2500
2599
  this.pet1Name = pet_1_name;
2501
2600
  this.pet1Nickname = pet_1_nickname;
2502
2601
  this.pet1Icon = pet_1_icon;
@@ -2547,7 +2646,7 @@ class CharacterPopularityDto {
2547
2646
  popularity;
2548
2647
  constructor(obj) {
2549
2648
  const { date, popularity } = obj;
2550
- this.date = new Date(date);
2649
+ this.date = date ? new Date(date) : null;
2551
2650
  this.popularity = popularity;
2552
2651
  }
2553
2652
  }
@@ -2583,7 +2682,7 @@ class CharacterPropensityDto {
2583
2682
  charmLevel;
2584
2683
  constructor(obj) {
2585
2684
  const { date, charisma_level, sensibility_level, insight_level, willingness_level, handicraft_level, charm_level, } = obj;
2586
- this.date = new Date(date);
2685
+ this.date = date ? new Date(date) : null;
2587
2686
  this.charismaLevel = charisma_level;
2588
2687
  this.sensibilityLevel = sensibility_level;
2589
2688
  this.insightLevel = insight_level;
@@ -2594,15 +2693,15 @@ class CharacterPropensityDto {
2594
2693
  }
2595
2694
 
2596
2695
  /**
2597
- * 캐릭터 세트 효과 옵션 정보
2696
+ * 적용 중인 세트 효과 정보
2598
2697
  */
2599
- class CharacterSetEffectOptionInfoDto {
2698
+ class CharacterSetEffectInfoDto {
2600
2699
  /**
2601
2700
  * 세트 효과 레벨 (장비 수)
2602
2701
  */
2603
2702
  setCount;
2604
2703
  /**
2605
- * 적용 중인 세트 효과
2704
+ * 세트 효과
2606
2705
  */
2607
2706
  setOption;
2608
2707
  constructor(obj) {
@@ -2613,9 +2712,28 @@ class CharacterSetEffectOptionInfoDto {
2613
2712
  }
2614
2713
 
2615
2714
  /**
2616
- * 캐릭터 세트 효과 정보
2715
+ * 모든 세트 효과 정보
2617
2716
  */
2618
- class CharacterSetEffectInfoDto {
2717
+ class CharacterSetEffectOptionFullDto {
2718
+ /**
2719
+ * 세트 효과 레벨 (장비 수)
2720
+ */
2721
+ setCount;
2722
+ /**
2723
+ * 세트 효과
2724
+ */
2725
+ setOption;
2726
+ constructor(obj) {
2727
+ const { set_count, set_option } = obj;
2728
+ this.setCount = set_count;
2729
+ this.setOption = set_option;
2730
+ }
2731
+ }
2732
+
2733
+ /**
2734
+ * 세트 효과 정보
2735
+ */
2736
+ class CharacterSetEffectSetDto {
2619
2737
  /**
2620
2738
  * 세트 효과 명
2621
2739
  */
@@ -2625,14 +2743,19 @@ class CharacterSetEffectInfoDto {
2625
2743
  */
2626
2744
  totalSetCount;
2627
2745
  /**
2628
- * 세트 효과 옵션
2746
+ * 적용 중인 세트 효과 정보
2629
2747
  */
2630
2748
  setEffectInfo;
2749
+ /**
2750
+ * 모든 세트 효과 정보
2751
+ */
2752
+ setOptionFull;
2631
2753
  constructor(obj) {
2632
- const { set_name, total_set_count, set_effect_info } = obj;
2754
+ const { set_name, total_set_count, set_effect_info, set_option_full } = obj;
2633
2755
  this.setName = set_name;
2634
2756
  this.totalSetCount = total_set_count;
2635
- this.setEffectInfo = set_effect_info.map((info) => new CharacterSetEffectOptionInfoDto(info));
2757
+ this.setEffectInfo = set_effect_info.map((info) => new CharacterSetEffectInfoDto(info));
2758
+ this.setOptionFull = set_option_full.map((info) => new CharacterSetEffectOptionFullDto(info));
2636
2759
  }
2637
2760
  }
2638
2761
 
@@ -2650,8 +2773,8 @@ class CharacterSetEffectDto {
2650
2773
  setEffect;
2651
2774
  constructor(obj) {
2652
2775
  const { date, set_effect } = obj;
2653
- this.date = new Date(date);
2654
- this.setEffect = set_effect.map((effect) => new CharacterSetEffectInfoDto(effect));
2776
+ this.date = date ? new Date(date) : null;
2777
+ this.setEffect = set_effect.map((effect) => new CharacterSetEffectSetDto(effect));
2655
2778
  }
2656
2779
  }
2657
2780
 
@@ -2675,16 +2798,21 @@ class CharacterSkillInfoDto {
2675
2798
  * 스킬 레벨 별 효과 설명
2676
2799
  */
2677
2800
  skillEffect;
2801
+ /**
2802
+ * 다음 스킬 레벨 효과 설명
2803
+ */
2804
+ skillEffectNext;
2678
2805
  /**
2679
2806
  * 스킬 아이콘
2680
2807
  */
2681
2808
  skillIcon;
2682
2809
  constructor(obj) {
2683
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2810
+ const { skill_name, skill_description, skill_level, skill_effect, skill_effect_next, skill_icon, } = obj;
2684
2811
  this.skillName = skill_name;
2685
2812
  this.skillDescription = skill_description;
2686
2813
  this.skillLevel = skill_level;
2687
2814
  this.skillEffect = skill_effect;
2815
+ this.skillEffectNext = skill_effect_next;
2688
2816
  this.skillIcon = skill_icon;
2689
2817
  }
2690
2818
  }
@@ -2711,7 +2839,7 @@ class CharacterSkillDto {
2711
2839
  characterSkill;
2712
2840
  constructor(obj) {
2713
2841
  const { date, character_class, character_skill_grade, character_skill } = obj;
2714
- this.date = new Date(date);
2842
+ this.date = date ? new Date(date) : null;
2715
2843
  this.characterClass = character_class;
2716
2844
  this.characterSkillGrade = character_skill_grade;
2717
2845
  this.characterSkill = character_skill.map((skill) => new CharacterSkillInfoDto(skill));
@@ -2740,7 +2868,7 @@ class CharacterStatDto {
2740
2868
  remainAP;
2741
2869
  constructor(obj) {
2742
2870
  const { date, character_class, final_stat, remain_ap } = obj;
2743
- this.date = new Date(date);
2871
+ this.date = date ? new Date(date) : null;
2744
2872
  this.characterClass = character_class;
2745
2873
  this.finalStat = final_stat.map((stat) => {
2746
2874
  return {
@@ -2839,7 +2967,7 @@ class CharacterSymbolEquipmentDto {
2839
2967
  symbol;
2840
2968
  constructor(obj) {
2841
2969
  const { date, character_class, symbol } = obj;
2842
- this.date = new Date(date);
2970
+ this.date = date ? new Date(date) : null;
2843
2971
  this.characterClass = character_class;
2844
2972
  this.symbol = symbol.map((s) => new CharacterSymbolEquipmentInfoDto(s));
2845
2973
  }
@@ -2916,7 +3044,7 @@ class CharacterVMatrixDto {
2916
3044
  characterVMatrixRemainSlotUpgradePoint;
2917
3045
  constructor(obj) {
2918
3046
  const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = obj;
2919
- this.date = new Date(date);
3047
+ this.date = date ? new Date(date) : null;
2920
3048
  this.characterClass = character_class;
2921
3049
  this.characterVCoreEquipment = character_v_core_equipment.map((equipment) => new CharacterVMatrixCodeEquipmentDto(equipment));
2922
3050
  this.characterVMatrixRemainSlotUpgradePoint =
@@ -3006,17 +3134,9 @@ class GuildBasicDto {
3006
3134
  * 노블레스 스킬 목록
3007
3135
  */
3008
3136
  guildNoblesseSkill;
3009
- /**
3010
- * 조합형 길드 마크
3011
- */
3012
- guildMark;
3013
- /**
3014
- * 커스텀 길드 마크 (base64 인코딩 형식)
3015
- */
3016
- guildMarkCustom;
3017
3137
  constructor(obj) {
3018
- const { date, world_name, guild_name, guild_level, guild_fame, guild_point, guild_master_name, guild_member_count, guild_member, guild_skill, guild_noblesse_skill, guild_mark, guild_mark_custom, } = obj;
3019
- this.date = new Date(date);
3138
+ const { date, world_name, guild_name, guild_level, guild_fame, guild_point, guild_master_name, guild_member_count, guild_member, guild_skill, guild_noblesse_skill, } = obj;
3139
+ this.date = date ? new Date(date) : null;
3020
3140
  this.worldName = world_name;
3021
3141
  this.guildName = guild_name;
3022
3142
  this.guildLevel = guild_level;
@@ -3027,8 +3147,6 @@ class GuildBasicDto {
3027
3147
  this.guildMember = guild_member;
3028
3148
  this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
3029
3149
  this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
3030
- this.guildMark = guild_mark;
3031
- this.guildMarkCustom = guild_mark_custom;
3032
3150
  }
3033
3151
  }
3034
3152
 
@@ -3230,6 +3348,159 @@ class CubeHistoryResponseDto {
3230
3348
  }
3231
3349
  }
3232
3350
 
3351
+ /**
3352
+ * 잠재능력 재설정 결과 옵션 정보
3353
+ */
3354
+ class PotentialResultOptionDto {
3355
+ /**
3356
+ * 옵션 명
3357
+ */
3358
+ value;
3359
+ /**
3360
+ * 옵션 등급
3361
+ */
3362
+ grade;
3363
+ constructor(obj) {
3364
+ const { value, grade } = obj;
3365
+ this.value = value;
3366
+ this.grade = grade;
3367
+ }
3368
+ get gradeEnum() {
3369
+ return potentialOptionGradeFromString(this.grade);
3370
+ }
3371
+ }
3372
+
3373
+ /**
3374
+ * 잠재능력 재설정 히스토리
3375
+ */
3376
+ class PotentialHistoryDto {
3377
+ /**
3378
+ * 잠재능력 재설정 히스토리 식별자
3379
+ */
3380
+ id;
3381
+ /**
3382
+ * 캐릭터 명
3383
+ */
3384
+ characterName;
3385
+ /**
3386
+ * 사용 일시
3387
+ */
3388
+ dateCreate;
3389
+ /**
3390
+ * 대상 잠재능력 타입 (잠재능력, 에디셔널 잠재능력)
3391
+ */
3392
+ potentialType;
3393
+ /**
3394
+ * 사용 결과
3395
+ */
3396
+ itemUpgradeResult;
3397
+ /**
3398
+ * 미라클 타임 적용 여부
3399
+ */
3400
+ miracleTimeFlag;
3401
+ /**
3402
+ * 장비 분류
3403
+ */
3404
+ itemEquipmentPart;
3405
+ /**
3406
+ * 장비 레벨
3407
+ */
3408
+ itemLevel;
3409
+ /**
3410
+ * 잠재능력 재설정 장비 명
3411
+ */
3412
+ targetItem;
3413
+ /**
3414
+ * 잠재능력 등급
3415
+ */
3416
+ potentialOptionGrade;
3417
+ /**
3418
+ * 에디셔널 잠재능력 등급
3419
+ */
3420
+ additionalPotentialOptionGrade;
3421
+ /**
3422
+ * 천장에 도달하여 확정 등급 상승한 여부
3423
+ */
3424
+ upgradeGuarantee;
3425
+ /**
3426
+ * 현재까지 쌓은 스택
3427
+ */
3428
+ upgradeGuaranteeCount;
3429
+ /**
3430
+ * 사용 전 잠재능력 옵션
3431
+ */
3432
+ beforePotentialOption;
3433
+ /**
3434
+ * 사용 전 에디셔널 잠재능력 옵션
3435
+ */
3436
+ beforeAdditionalPotentialOption;
3437
+ /**
3438
+ * 사용 후 잠재능력 옵션
3439
+ */
3440
+ afterPotentialOption;
3441
+ /**
3442
+ * 사용 후 에디셔널 잠재능력 옵션
3443
+ */
3444
+ afterAdditionalPotentialOption;
3445
+ constructor(obj) {
3446
+ const { id, character_name, date_create, potential_type, item_upgrade_result, miracle_time_flag, item_equipment_part, item_level, target_item, potential_option_grade, additional_potential_option_grade, upgrade_guarantee, upgrade_guarantee_count, before_potential_option, before_additional_potential_option, after_potential_option, after_additional_potential_option, } = obj;
3447
+ this.id = id;
3448
+ this.characterName = character_name;
3449
+ this.dateCreate = new Date(date_create);
3450
+ this.potentialType = potential_type;
3451
+ this.itemUpgradeResult = item_upgrade_result;
3452
+ this.miracleTimeFlag = miracle_time_flag;
3453
+ this.itemEquipmentPart = item_equipment_part;
3454
+ this.itemLevel = item_level;
3455
+ this.targetItem = target_item;
3456
+ this.potentialOptionGrade = potential_option_grade;
3457
+ this.additionalPotentialOptionGrade = additional_potential_option_grade;
3458
+ this.upgradeGuarantee = upgrade_guarantee;
3459
+ this.upgradeGuaranteeCount = upgrade_guarantee_count;
3460
+ this.beforePotentialOption = before_potential_option.map((origin) => new PotentialResultOptionDto(origin));
3461
+ this.beforeAdditionalPotentialOption =
3462
+ before_additional_potential_option.map((origin) => new PotentialResultOptionDto(origin));
3463
+ this.afterPotentialOption = after_potential_option.map((origin) => new PotentialResultOptionDto(origin));
3464
+ this.afterAdditionalPotentialOption = after_additional_potential_option.map((origin) => new PotentialResultOptionDto(origin));
3465
+ }
3466
+ get isItemUpgrade() {
3467
+ return this.itemUpgradeResult === '성공';
3468
+ }
3469
+ get isMiracleTimeFlag() {
3470
+ return this.miracleTimeFlag !== '이벤트 적용되지 않음';
3471
+ }
3472
+ get potentialOptionGradeEnum() {
3473
+ return potentialOptionGradeFromString(this.potentialOptionGrade);
3474
+ }
3475
+ get additionalPotentialOptionGradeEnum() {
3476
+ return potentialOptionGradeFromString(this.additionalPotentialOptionGrade);
3477
+ }
3478
+ }
3479
+
3480
+ /**
3481
+ * 잠재능력 재설정 히스토리 응답 정보
3482
+ */
3483
+ class PotentialHistoryResponseDto {
3484
+ /**
3485
+ * 결과 건 수
3486
+ */
3487
+ count;
3488
+ /**
3489
+ * 잠재능력 재설정 히스토리
3490
+ */
3491
+ potentialHistory;
3492
+ /**
3493
+ * 페이징 처리를 위한 cursor
3494
+ */
3495
+ nextCursor;
3496
+ constructor(obj) {
3497
+ const { count, potential_history, next_cursor } = obj;
3498
+ this.count = count;
3499
+ this.potentialHistory = potential_history.map((origin) => new PotentialHistoryDto(origin));
3500
+ this.nextCursor = next_cursor;
3501
+ }
3502
+ }
3503
+
3233
3504
  /**
3234
3505
  * 스타포스 강화 이벤트 정보
3235
3506
  */
@@ -3349,7 +3620,7 @@ class StarforceHistoryDto {
3349
3620
  this.worldName = world_name;
3350
3621
  this.targetItem = target_item;
3351
3622
  this.dateCreate = new Date(date_create);
3352
- this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
3623
+ this.starforceEventList = starforce_event_list?.map((event) => new StarforceEventDto(event)) ?? null;
3353
3624
  }
3354
3625
  }
3355
3626
 
@@ -3407,7 +3678,357 @@ class InspectionInfoDto {
3407
3678
  }
3408
3679
 
3409
3680
  /**
3410
- * 업적 랭킹 정보
3681
+ * 캐시샵 공지 상세
3682
+ */
3683
+ class CashshopNoticeDetailDto {
3684
+ /**
3685
+ * 공지 제목
3686
+ */
3687
+ title;
3688
+ /**
3689
+ * 공지 링크
3690
+ */
3691
+ url;
3692
+ /**
3693
+ * 공지 본문
3694
+ */
3695
+ contents;
3696
+ /**
3697
+ * 공지 등록일
3698
+ */
3699
+ date;
3700
+ /**
3701
+ * 판매 시작일
3702
+ */
3703
+ dateSaleStart;
3704
+ /**
3705
+ * 판매 종료일
3706
+ */
3707
+ dateSaleEnd;
3708
+ /**
3709
+ * 상시 판매 여부 (true - 상시)
3710
+ */
3711
+ ongoingFlag;
3712
+ constructor(obj) {
3713
+ const { title, url, contents, date, date_sale_start, date_sale_end, ongoing_flag } = obj;
3714
+ this.title = title;
3715
+ this.url = url;
3716
+ this.contents = contents;
3717
+ this.date = new Date(date);
3718
+ this.dateSaleStart = date_sale_start ? new Date(date_sale_start) : null;
3719
+ this.dateSaleEnd = date_sale_end ? new Date(date_sale_end) : null;
3720
+ this.ongoingFlag = ongoing_flag;
3721
+ }
3722
+ /**
3723
+ * 상시 판매 여부 (true - 상시)
3724
+ */
3725
+ get isOnGoing() {
3726
+ return this.ongoingFlag === 'true';
3727
+ }
3728
+ }
3729
+
3730
+ /**
3731
+ * 캐시샵 공지
3732
+ */
3733
+ class CashshopNoticeListItemDto {
3734
+ /**
3735
+ * 공지 제목
3736
+ */
3737
+ title;
3738
+ /**
3739
+ * 공지 링크
3740
+ */
3741
+ url;
3742
+ /**
3743
+ * 공지 식별자
3744
+ */
3745
+ noticeId;
3746
+ /**
3747
+ * 공지 등록일
3748
+ */
3749
+ date;
3750
+ /**
3751
+ * 판매 시작일
3752
+ */
3753
+ dateSaleStart;
3754
+ /**
3755
+ * 판매 종료일
3756
+ */
3757
+ dateSaleEnd;
3758
+ /**
3759
+ * 상시 판매 여부 (true - 상시)
3760
+ */
3761
+ ongoingFlag;
3762
+ constructor(obj) {
3763
+ const { title, url, notice_id, date, date_sale_start, date_sale_end, ongoing_flag } = obj;
3764
+ this.title = title;
3765
+ this.url = url;
3766
+ this.noticeId = notice_id;
3767
+ this.date = new Date(date);
3768
+ this.dateSaleStart = date_sale_start ? new Date(date_sale_start) : null;
3769
+ this.dateSaleEnd = date_sale_end ? new Date(date_sale_end) : null;
3770
+ this.ongoingFlag = ongoing_flag;
3771
+ }
3772
+ /**
3773
+ * 상시 판매 여부 (true - 상시)
3774
+ */
3775
+ get isOnGoing() {
3776
+ return this.ongoingFlag === 'true';
3777
+ }
3778
+ }
3779
+
3780
+ /**
3781
+ * 캐시샵 공지 목록
3782
+ */
3783
+ class CashshopNoticeListDto {
3784
+ /**
3785
+ * 공지 목록
3786
+ */
3787
+ cashshopNotice;
3788
+ constructor(obj) {
3789
+ const { cashshop_notice } = obj;
3790
+ this.cashshopNotice = cashshop_notice.map(notice => new CashshopNoticeListItemDto(notice));
3791
+ }
3792
+ }
3793
+
3794
+ /**
3795
+ * 진행 중 이벤트 상세
3796
+ */
3797
+ class EventNoticeDetailDto {
3798
+ /**
3799
+ * 공지 제목
3800
+ */
3801
+ title;
3802
+ /**
3803
+ * 공지 링크
3804
+ */
3805
+ url;
3806
+ /**
3807
+ * 공지 본문
3808
+ */
3809
+ contents;
3810
+ /**
3811
+ * 공지 등록일
3812
+ */
3813
+ date;
3814
+ /**
3815
+ * 이벤트 시작일
3816
+ */
3817
+ dateEventStart;
3818
+ /**
3819
+ * 이벤트 종료일
3820
+ */
3821
+ dateEventEnd;
3822
+ constructor(obj) {
3823
+ const { title, url, contents, date, date_event_start, date_event_end } = obj;
3824
+ this.title = title;
3825
+ this.url = url;
3826
+ this.contents = contents;
3827
+ this.date = new Date(date);
3828
+ this.dateEventStart = new Date(date_event_start);
3829
+ this.dateEventEnd = new Date(date_event_end);
3830
+ }
3831
+ }
3832
+
3833
+ /**
3834
+ * 진행 중 이벤트 공지
3835
+ */
3836
+ class EventNoticeListItemDto {
3837
+ /**
3838
+ * 공지 제목
3839
+ */
3840
+ title;
3841
+ /**
3842
+ * 공지 링크
3843
+ */
3844
+ url;
3845
+ /**
3846
+ * 공지 식별자
3847
+ */
3848
+ noticeId;
3849
+ /**
3850
+ * 공지 등록일
3851
+ */
3852
+ date;
3853
+ /**
3854
+ * 이벤트 시작일
3855
+ */
3856
+ dateEventStart;
3857
+ /**
3858
+ * 이벤트 종료일
3859
+ */
3860
+ dateEventEnd;
3861
+ constructor(obj) {
3862
+ const { title, url, notice_id, date, date_event_start, date_event_end } = obj;
3863
+ this.title = title;
3864
+ this.url = url;
3865
+ this.noticeId = notice_id;
3866
+ this.date = new Date(date);
3867
+ this.dateEventStart = new Date(date_event_start);
3868
+ this.dateEventEnd = new Date(date_event_end);
3869
+ }
3870
+ }
3871
+
3872
+ /**
3873
+ * 진행 중 이벤트 공지 목록
3874
+ */
3875
+ class EventNoticeListDto {
3876
+ /**
3877
+ * 공지 목록
3878
+ */
3879
+ eventNotice;
3880
+ constructor(obj) {
3881
+ const { event_notice } = obj;
3882
+ this.eventNotice = event_notice.map(notice => new EventNoticeListItemDto(notice));
3883
+ }
3884
+ }
3885
+
3886
+ /**
3887
+ * 공지사항 상세
3888
+ */
3889
+ class NoticeDetailDto {
3890
+ /**
3891
+ * 공지 제목
3892
+ */
3893
+ title;
3894
+ /**
3895
+ * 공지 링크
3896
+ */
3897
+ url;
3898
+ /**
3899
+ * 공지 본문
3900
+ */
3901
+ contents;
3902
+ /**
3903
+ * 공지 등록일
3904
+ */
3905
+ date;
3906
+ constructor(obj) {
3907
+ const { title, url, contents, date } = obj;
3908
+ this.title = title;
3909
+ this.url = url;
3910
+ this.contents = contents;
3911
+ this.date = new Date(date);
3912
+ }
3913
+ }
3914
+
3915
+ /**
3916
+ * 공지사항
3917
+ */
3918
+ class NoticeListItemDto {
3919
+ /**
3920
+ * 공지 제목
3921
+ */
3922
+ title;
3923
+ /**
3924
+ * 공지 링크
3925
+ */
3926
+ url;
3927
+ /**
3928
+ * 공지 식별자
3929
+ */
3930
+ noticeId;
3931
+ /**
3932
+ * 공지 등록일
3933
+ */
3934
+ date;
3935
+ constructor(obj) {
3936
+ const { title, url, notice_id, date } = obj;
3937
+ this.title = title;
3938
+ this.url = url;
3939
+ this.noticeId = notice_id;
3940
+ this.date = new Date(date);
3941
+ }
3942
+ }
3943
+
3944
+ /**
3945
+ * 공지사항 목록
3946
+ */
3947
+ class NoticeListDto {
3948
+ /**
3949
+ * 공지 목록
3950
+ */
3951
+ notice;
3952
+ constructor(obj) {
3953
+ const { notice } = obj;
3954
+ this.notice = notice.map(notice => new NoticeListItemDto(notice));
3955
+ }
3956
+ }
3957
+
3958
+ /**
3959
+ * 업데이트 상세
3960
+ */
3961
+ class UpdateNoticeDetailDto {
3962
+ /**
3963
+ * 공지 제목
3964
+ */
3965
+ title;
3966
+ /**
3967
+ * 공지 링크
3968
+ */
3969
+ url;
3970
+ /**
3971
+ * 공지 본문
3972
+ */
3973
+ contents;
3974
+ /**
3975
+ * 공지 등록일
3976
+ */
3977
+ date;
3978
+ constructor(obj) {
3979
+ const { title, url, contents, date } = obj;
3980
+ this.title = title;
3981
+ this.url = url;
3982
+ this.contents = contents;
3983
+ this.date = new Date(date);
3984
+ }
3985
+ }
3986
+
3987
+ /**
3988
+ * 업데이트 공지
3989
+ */
3990
+ class UpdateNoticeListItemDto {
3991
+ /**
3992
+ * 공지 제목
3993
+ */
3994
+ title;
3995
+ /**
3996
+ * 공지 링크
3997
+ */
3998
+ url;
3999
+ /**
4000
+ * 공지 식별자
4001
+ */
4002
+ noticeId;
4003
+ /**
4004
+ * 공지 등록일
4005
+ */
4006
+ date;
4007
+ constructor(obj) {
4008
+ const { title, url, notice_id, date } = obj;
4009
+ this.title = title;
4010
+ this.url = url;
4011
+ this.noticeId = notice_id;
4012
+ this.date = new Date(date);
4013
+ }
4014
+ }
4015
+
4016
+ /**
4017
+ * 업데이트 목록
4018
+ */
4019
+ class UpdateNoticeListDto {
4020
+ /**
4021
+ * 공지 목록
4022
+ */
4023
+ updateNotice;
4024
+ constructor(obj) {
4025
+ const { update_notice } = obj;
4026
+ this.updateNotice = update_notice.map(notice => new UpdateNoticeListItemDto(notice));
4027
+ }
4028
+ }
4029
+
4030
+ /**
4031
+ * 업적 랭킹 정보
3411
4032
  */
3412
4033
  class AchievementRankingDto {
3413
4034
  /**
@@ -3889,7 +4510,7 @@ class UnionArtifactDto {
3889
4510
  unionArtifactRemainAp;
3890
4511
  constructor(obj) {
3891
4512
  const { date, union_artifact_effect, union_artifact_crystal, union_artifact_remain_ap, } = obj;
3892
- this.date = new Date(date);
4513
+ this.date = date ? new Date(date) : null;
3893
4514
  this.unionArtifactEffect = union_artifact_effect.map((effect) => new UnionArtifactEffectDto(effect));
3894
4515
  this.unionArtifactCrystal = union_artifact_crystal.map((crystal) => new UnionArtifactCrystalDto(crystal));
3895
4516
  this.unionArtifactRemainAp = union_artifact_remain_ap;
@@ -3912,11 +4533,26 @@ class UnionDto {
3912
4533
  * 유니온 등급
3913
4534
  */
3914
4535
  unionGrade;
4536
+ /**
4537
+ * 아티팩트 레벨
4538
+ */
4539
+ unionArtifactLevel;
4540
+ /**
4541
+ * 보유 아티팩트 경험치
4542
+ */
4543
+ unionArtifactExp;
4544
+ /**
4545
+ * 보유 아티팩트 포인트
4546
+ */
4547
+ unionArtifactPoint;
3915
4548
  constructor(obj) {
3916
- const { date, union_level, union_grade } = obj;
3917
- this.date = new Date(date);
4549
+ const { date, union_level, union_grade, union_artifact_level, union_artifact_exp, union_artifact_point } = obj;
4550
+ this.date = date ? new Date(date) : null;
3918
4551
  this.unionLevel = union_level;
3919
4552
  this.unionGrade = union_grade;
4553
+ this.unionArtifactLevel = union_artifact_level;
4554
+ this.unionArtifactExp = union_artifact_exp;
4555
+ this.unionArtifactPoint = union_artifact_point;
3920
4556
  }
3921
4557
  }
3922
4558
 
@@ -4013,6 +4649,35 @@ class UnionRaiderInnerStatDto {
4013
4649
  }
4014
4650
  }
4015
4651
 
4652
+ /**
4653
+ * 유니온 프리셋 정보
4654
+ */
4655
+ class UnionRaiderPresetDto {
4656
+ /**
4657
+ * 유니온 공격대원 효과
4658
+ */
4659
+ unionRaiderStat;
4660
+ /**
4661
+ * 유니온 공격대 점령 효과
4662
+ */
4663
+ unionOccupiedStat;
4664
+ /**
4665
+ * 유니온 공격대 배치
4666
+ */
4667
+ unionInnerStat;
4668
+ /**
4669
+ * 유니온 블록 정보
4670
+ */
4671
+ unionBlock;
4672
+ constructor(obj) {
4673
+ const { union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4674
+ this.unionRaiderStat = union_raider_stat;
4675
+ this.unionOccupiedStat = union_occupied_stat;
4676
+ this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4677
+ this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
4678
+ }
4679
+ }
4680
+
4016
4681
  /**
4017
4682
  * 유니온 공격대 정보
4018
4683
  */
@@ -4034,13 +4699,53 @@ class UnionRaiderDto {
4034
4699
  * 유니온 블록 정보
4035
4700
  */
4036
4701
  unionBlock;
4702
+ /**
4703
+ * 적용 중인 프리셋 번호
4704
+ */
4705
+ usePresetNo;
4706
+ /**
4707
+ * 유니온 프리셋 1번 정보
4708
+ */
4709
+ unionRaiderPreset1;
4710
+ /**
4711
+ * 유니온 프리셋 2번 정보
4712
+ */
4713
+ unionRaiderPreset2;
4714
+ /**
4715
+ * 유니온 프리셋 3번 정보
4716
+ */
4717
+ unionRaiderPreset3;
4718
+ /**
4719
+ * 유니온 프리셋 4번 정보
4720
+ */
4721
+ unionRaiderPreset4;
4722
+ /**
4723
+ * 유니온 프리셋 5번 정보
4724
+ */
4725
+ unionRaiderPreset5;
4037
4726
  constructor(obj) {
4038
- const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4039
- this.date = new Date(date);
4727
+ const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, use_preset_no, union_raider_preset_1, union_raider_preset_2, union_raider_preset_3, union_raider_preset_4, union_raider_preset_5, } = obj;
4728
+ this.date = date ? new Date(date) : null;
4040
4729
  this.unionRaiderStat = union_raider_stat;
4041
4730
  this.unionOccupiedStat = union_occupied_stat;
4042
4731
  this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4043
4732
  this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
4733
+ this.usePresetNo = use_preset_no;
4734
+ this.unionRaiderPreset1 = union_raider_preset_1
4735
+ ? new UnionRaiderPresetDto(union_raider_preset_1)
4736
+ : null;
4737
+ this.unionRaiderPreset2 = union_raider_preset_2
4738
+ ? new UnionRaiderPresetDto(union_raider_preset_2)
4739
+ : null;
4740
+ this.unionRaiderPreset3 = union_raider_preset_3
4741
+ ? new UnionRaiderPresetDto(union_raider_preset_3)
4742
+ : null;
4743
+ this.unionRaiderPreset4 = union_raider_preset_4
4744
+ ? new UnionRaiderPresetDto(union_raider_preset_4)
4745
+ : null;
4746
+ this.unionRaiderPreset5 = union_raider_preset_5
4747
+ ? new UnionRaiderPresetDto(union_raider_preset_5)
4748
+ : null;
4044
4749
  }
4045
4750
  }
4046
4751
 
@@ -4072,6 +4777,9 @@ exports.MapleStoryApiErrorCode = void 0;
4072
4777
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00005"] = 4] = "OPENAPI00005";
4073
4778
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00006"] = 5] = "OPENAPI00006";
4074
4779
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00007"] = 6] = "OPENAPI00007";
4780
+ MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00009"] = 7] = "OPENAPI00009";
4781
+ MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00010"] = 8] = "OPENAPI00010";
4782
+ MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00011"] = 9] = "OPENAPI00011";
4075
4783
  })(exports.MapleStoryApiErrorCode || (exports.MapleStoryApiErrorCode = {}));
4076
4784
  const errorMap = {
4077
4785
  ['OPENAPI00001']: exports.MapleStoryApiErrorCode.OPENAPI00001,
@@ -4081,730 +4789,442 @@ const errorMap = {
4081
4789
  ['OPENAPI00005']: exports.MapleStoryApiErrorCode.OPENAPI00005,
4082
4790
  ['OPENAPI00006']: exports.MapleStoryApiErrorCode.OPENAPI00006,
4083
4791
  ['OPENAPI00007']: exports.MapleStoryApiErrorCode.OPENAPI00007,
4792
+ ['OPENAPI00009']: exports.MapleStoryApiErrorCode.OPENAPI00009,
4793
+ ['OPENAPI00010']: exports.MapleStoryApiErrorCode.OPENAPI00010,
4794
+ ['OPENAPI00011']: exports.MapleStoryApiErrorCode.OPENAPI00011,
4084
4795
  };
4085
4796
 
4797
+ dayjs__default["default"].extend(timezone);
4798
+ dayjs__default["default"].extend(utc);
4086
4799
  /**
4087
- * 잠재능력 재설정 결과 옵션 정보
4088
- */
4089
- class PotentialResultOptionDto {
4090
- /**
4091
- * 옵션 명
4092
- */
4093
- value;
4094
- /**
4095
- * 옵션 등급
4096
- */
4097
- grade;
4098
- constructor(obj) {
4099
- const { value, grade } = obj;
4100
- this.value = value;
4101
- this.grade = grade;
4102
- }
4103
- get gradeEnum() {
4104
- return potentialOptionGradeFromString(this.grade);
4105
- }
4106
- }
4107
-
4108
- /**
4109
- * 잠재능력 재설정 히스토리
4110
- */
4111
- class PotentialHistoryDto {
4112
- /**
4113
- * 잠재능력 재설정 히스토리 식별자
4114
- */
4115
- id;
4116
- /**
4117
- * 캐릭터 명
4118
- */
4119
- characterName;
4120
- /**
4121
- * 사용 일시
4122
- */
4123
- dateCreate;
4124
- /**
4125
- * 대상 잠재능력 타입 (잠재능력, 에디셔널 잠재능력)
4126
- */
4127
- potentialType;
4128
- /**
4129
- * 사용 결과
4130
- */
4131
- itemUpgradeResult;
4132
- /**
4133
- * 미라클 타임 적용 여부
4134
- */
4135
- miracleTimeFlag;
4136
- /**
4137
- * 장비 분류
4138
- */
4139
- itemEquipmentPart;
4140
- /**
4141
- * 장비 레벨
4142
- */
4143
- itemLevel;
4144
- /**
4145
- * 잠재능력 재설정 장비 명
4146
- */
4147
- targetItem;
4148
- /**
4149
- * 잠재능력 등급
4150
- */
4151
- potentialOptionGrade;
4152
- /**
4153
- * 에디셔널 잠재능력 등급
4154
- */
4155
- additionalPotentialOptionGrade;
4156
- /**
4157
- * 천장에 도달하여 확정 등급 상승한 여부
4158
- */
4159
- upgradeGuarantee;
4160
- /**
4161
- * 현재까지 쌓은 스택
4162
- */
4163
- upgradeGuaranteeCount;
4164
- /**
4165
- * 사용 전 잠재능력 옵션
4166
- */
4167
- beforePotentialOption;
4168
- /**
4169
- * 사용 전 에디셔널 잠재능력 옵션
4170
- */
4171
- beforeAdditionalPotentialOption;
4172
- /**
4173
- * 사용 후 잠재능력 옵션
4174
- */
4175
- afterPotentialOption;
4176
- /**
4177
- * 사용 후 에디셔널 잠재능력 옵션
4178
- */
4179
- afterAdditionalPotentialOption;
4180
- constructor(obj) {
4181
- const { id, character_name, date_create, potential_type, item_upgrade_result, miracle_time_flag, item_equipment_part, item_level, target_item, potential_option_grade, additional_potential_option_grade, upgrade_guarantee, upgrade_guarantee_count, before_potential_option, before_additional_potential_option, after_potential_option, after_additional_potential_option, } = obj;
4182
- this.id = id;
4183
- this.characterName = character_name;
4184
- this.dateCreate = new Date(date_create);
4185
- this.potentialType = potential_type;
4186
- this.itemUpgradeResult = item_upgrade_result;
4187
- this.miracleTimeFlag = miracle_time_flag;
4188
- this.itemEquipmentPart = item_equipment_part;
4189
- this.itemLevel = item_level;
4190
- this.targetItem = target_item;
4191
- this.potentialOptionGrade = potential_option_grade;
4192
- this.additionalPotentialOptionGrade = additional_potential_option_grade;
4193
- this.upgradeGuarantee = upgrade_guarantee;
4194
- this.upgradeGuaranteeCount = upgrade_guarantee_count;
4195
- this.beforePotentialOption = before_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4196
- this.beforeAdditionalPotentialOption =
4197
- before_additional_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4198
- this.afterPotentialOption = after_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4199
- this.afterAdditionalPotentialOption = after_additional_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4200
- }
4201
- get isItemUpgrade() {
4202
- return this.itemUpgradeResult === '성공';
4203
- }
4204
- get isMiracleTimeFlag() {
4205
- return this.miracleTimeFlag !== '이벤트 적용되지 않음';
4206
- }
4207
- get potentialOptionGradeEnum() {
4208
- return potentialOptionGradeFromString(this.potentialOptionGrade);
4209
- }
4210
- get additionalPotentialOptionGradeEnum() {
4211
- return potentialOptionGradeFromString(this.additionalPotentialOptionGrade);
4212
- }
4213
- }
4214
-
4215
- /**
4216
- * 잠재능력 재설정 히스토리 응답 정보
4217
- */
4218
- class PotentialHistoryResponseDto {
4219
- /**
4220
- * 결과 건 수
4221
- */
4222
- count;
4223
- /**
4224
- * 잠재능력 재설정 히스토리
4225
- */
4226
- potentialHistory;
4227
- /**
4228
- * 페이징 처리를 위한 cursor
4229
- */
4230
- nextCursor;
4231
- constructor(obj) {
4232
- const { count, potential_history, next_cursor } = obj;
4233
- this.count = count;
4234
- this.potentialHistory = potential_history.map((origin) => new PotentialHistoryDto(origin));
4235
- this.nextCursor = next_cursor;
4236
- }
4237
- }
4238
-
4239
- dayjs__default["default"].extend(timezone);
4240
- dayjs__default["default"].extend(utc);
4241
- /**
4242
- * MapleStory OpenAPI client.<br>
4243
- * This is an implementation of <a href="https://openapi.nexon.com/game/maplestory">MapleStory API</a>
4800
+ * MapleStory OpenAPI client.<br>
4801
+ * This is an implementation of <a href="https://openapi.nexon.com/game/maplestory">MapleStory API</a>
4244
4802
  */
4245
4803
  class MapleStoryApi {
4246
4804
  apiKey;
4805
+ client;
4247
4806
  static BASE_URL = 'https://open.api.nexon.com/';
4807
+ static DEFAULT_TIMEOUT = 5000;
4248
4808
  static kstOffset = 540;
4249
- timeout;
4809
+ get timeout() {
4810
+ return this.client.defaults.timeout;
4811
+ }
4812
+ set timeout(value) {
4813
+ this.client.defaults.timeout = value;
4814
+ }
4250
4815
  constructor(apiKey) {
4251
4816
  this.apiKey = apiKey;
4252
- this.timeout = 5000;
4817
+ this.client = axios__default["default"].create({
4818
+ baseURL: MapleStoryApi.BASE_URL,
4819
+ timeout: MapleStoryApi.DEFAULT_TIMEOUT,
4820
+ headers: {
4821
+ 'x-nxopen-api-key': this.apiKey,
4822
+ },
4823
+ });
4824
+ this.client.interceptors.response.use((response) => response, (error) => {
4825
+ if (error instanceof axios.AxiosError) {
4826
+ const errorBody = error.response.data;
4827
+ throw new MapleStoryApiError(errorBody);
4828
+ }
4829
+ throw error;
4830
+ });
4253
4831
  }
4254
4832
  //#region 캐릭터 정보 조회
4255
4833
  /**
4256
4834
  * 캐릭터 식별자(ocid)를 조회합니다.
4835
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4257
4836
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4258
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4837
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4259
4838
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4260
4839
  *
4261
4840
  * @param characterName 캐릭터 명
4262
4841
  */
4263
4842
  async getCharacter(characterName) {
4264
- try {
4265
- const path = 'maplestory/v1/id';
4266
- const response = await axios__default["default"].get(path, {
4267
- baseURL: MapleStoryApi.BASE_URL,
4268
- timeout: this.timeout,
4269
- headers: this.buildHeaders(),
4270
- params: {
4271
- character_name: characterName,
4272
- },
4273
- });
4274
- return new CharacterDto(response.data);
4275
- }
4276
- catch (e) {
4277
- if (e instanceof axios.AxiosError) {
4278
- const errorBody = e.response.data;
4279
- throw new MapleStoryApiError(errorBody);
4280
- }
4281
- throw e;
4282
- }
4843
+ const path = 'maplestory/v1/id';
4844
+ const { data } = await this.client.get(path, {
4845
+ params: {
4846
+ character_name: characterName,
4847
+ },
4848
+ });
4849
+ return new CharacterDto(data);
4850
+ }
4851
+ /**
4852
+ * 계정의 보유 캐릭터 목록을 조회합니다.
4853
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4854
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
4855
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4856
+ */
4857
+ async getCharacterList() {
4858
+ const path = 'maplestory/v1/character/list';
4859
+ const { data } = await this.client.get(path);
4860
+ return new CharacterListDto(data);
4283
4861
  }
4284
4862
  /**
4285
4863
  * 기본 정보를 조회합니다.
4864
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4286
4865
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4287
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4866
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4288
4867
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4289
4868
  *
4290
4869
  * @param ocid 캐릭터 식별자
4291
4870
  * @param dateOptions 조회 기준일 (KST)
4292
4871
  */
4293
- async getCharacterBasic(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4294
- hour: 1,
4295
- minute: 0,
4296
- dateOffset: 1,
4297
- })) {
4298
- const query = {
4299
- ocid: ocid,
4300
- date: MapleStoryApi.toDateString({
4872
+ async getCharacterBasic(ocid, dateOptions) {
4873
+ const path = 'maplestory/v1/character/basic';
4874
+ const date = dateOptions
4875
+ ? MapleStoryApi.toDateString({
4301
4876
  year: 2023,
4302
4877
  month: 12,
4303
4878
  day: 21,
4304
- }, dateOptions),
4879
+ }, dateOptions)
4880
+ : undefined;
4881
+ const query = {
4882
+ ocid: ocid,
4883
+ date: date,
4305
4884
  };
4306
- try {
4307
- const path = 'maplestory/v1/character/basic';
4308
- const response = await axios__default["default"].get(path, {
4309
- baseURL: MapleStoryApi.BASE_URL,
4310
- timeout: this.timeout,
4311
- headers: this.buildHeaders(),
4312
- params: query,
4313
- });
4314
- return new CharacterBasicDto(response.data);
4315
- }
4316
- catch (e) {
4317
- if (e instanceof axios.AxiosError) {
4318
- const errorBody = e.response.data;
4319
- throw new MapleStoryApiError(errorBody);
4320
- }
4321
- throw e;
4322
- }
4885
+ const { data } = await this.client.get(path, {
4886
+ params: query,
4887
+ });
4888
+ return new CharacterBasicDto(data);
4323
4889
  }
4324
4890
  /**
4325
4891
  * 인기도 정보를 조회합니다.
4892
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4326
4893
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4327
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4894
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4328
4895
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4329
4896
  *
4330
4897
  * @param ocid 캐릭터 식별자
4331
4898
  * @param dateOptions 조회 기준일 (KST)
4332
4899
  */
4333
- async getCharacterPopularity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4334
- hour: 1,
4335
- minute: 0,
4336
- dateOffset: 1,
4337
- })) {
4338
- const query = {
4339
- ocid: ocid,
4340
- date: MapleStoryApi.toDateString({
4900
+ async getCharacterPopularity(ocid, dateOptions) {
4901
+ const path = 'maplestory/v1/character/popularity';
4902
+ const date = dateOptions
4903
+ ? MapleStoryApi.toDateString({
4341
4904
  year: 2023,
4342
4905
  month: 12,
4343
4906
  day: 21,
4344
- }, dateOptions),
4907
+ }, dateOptions)
4908
+ : undefined;
4909
+ const query = {
4910
+ ocid: ocid,
4911
+ date: date,
4345
4912
  };
4346
- try {
4347
- const path = 'maplestory/v1/character/popularity';
4348
- const response = await axios__default["default"].get(path, {
4349
- baseURL: MapleStoryApi.BASE_URL,
4350
- timeout: this.timeout,
4351
- headers: this.buildHeaders(),
4352
- params: query,
4353
- });
4354
- return new CharacterPopularityDto(response.data);
4355
- }
4356
- catch (e) {
4357
- if (e instanceof axios.AxiosError) {
4358
- const errorBody = e.response.data;
4359
- throw new MapleStoryApiError(errorBody);
4360
- }
4361
- throw e;
4362
- }
4913
+ const { data } = await this.client.get(path, {
4914
+ params: query,
4915
+ });
4916
+ return new CharacterPopularityDto(data);
4363
4917
  }
4364
4918
  /**
4365
4919
  * 종합 능력치 정보를 조회합니다.
4920
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4366
4921
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4367
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4922
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4368
4923
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4369
4924
  *
4370
4925
  * @param ocid 캐릭터 식별자
4371
4926
  * @param dateOptions 조회 기준일 (KST)
4372
4927
  */
4373
- async getCharacterStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4374
- hour: 1,
4375
- minute: 0,
4376
- dateOffset: 1,
4377
- })) {
4378
- const query = {
4379
- ocid: ocid,
4380
- date: MapleStoryApi.toDateString({
4928
+ async getCharacterStat(ocid, dateOptions) {
4929
+ const path = 'maplestory/v1/character/stat';
4930
+ const date = dateOptions
4931
+ ? MapleStoryApi.toDateString({
4381
4932
  year: 2023,
4382
4933
  month: 12,
4383
4934
  day: 21,
4384
- }, dateOptions),
4935
+ }, dateOptions)
4936
+ : undefined;
4937
+ const query = {
4938
+ ocid: ocid,
4939
+ date: date,
4385
4940
  };
4386
- try {
4387
- const path = 'maplestory/v1/character/stat';
4388
- const response = await axios__default["default"].get(path, {
4389
- baseURL: MapleStoryApi.BASE_URL,
4390
- timeout: this.timeout,
4391
- headers: this.buildHeaders(),
4392
- params: query,
4393
- });
4394
- return new CharacterStatDto(response.data);
4395
- }
4396
- catch (e) {
4397
- if (e instanceof axios.AxiosError) {
4398
- const errorBody = e.response.data;
4399
- throw new MapleStoryApiError(errorBody);
4400
- }
4401
- throw e;
4402
- }
4941
+ const { data } = await this.client.get(path, {
4942
+ params: query,
4943
+ });
4944
+ return new CharacterStatDto(data);
4403
4945
  }
4404
4946
  /**
4405
4947
  * 하이퍼스탯 정보를 조회합니다.
4948
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4406
4949
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4407
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4950
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4408
4951
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4409
4952
  *
4410
4953
  * @param ocid 캐릭터 식별자
4411
4954
  * @param dateOptions 조회 기준일 (KST)
4412
4955
  */
4413
- async getCharacterHyperStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4414
- hour: 1,
4415
- minute: 0,
4416
- dateOffset: 1,
4417
- })) {
4418
- const query = {
4419
- ocid: ocid,
4420
- date: MapleStoryApi.toDateString({
4956
+ async getCharacterHyperStat(ocid, dateOptions) {
4957
+ const path = 'maplestory/v1/character/hyper-stat';
4958
+ const date = dateOptions
4959
+ ? MapleStoryApi.toDateString({
4421
4960
  year: 2023,
4422
4961
  month: 12,
4423
4962
  day: 21,
4424
- }, dateOptions),
4963
+ }, dateOptions)
4964
+ : undefined;
4965
+ const query = {
4966
+ ocid: ocid,
4967
+ date: date,
4425
4968
  };
4426
- try {
4427
- const path = 'maplestory/v1/character/hyper-stat';
4428
- const response = await axios__default["default"].get(path, {
4429
- baseURL: MapleStoryApi.BASE_URL,
4430
- timeout: this.timeout,
4431
- headers: this.buildHeaders(),
4432
- params: query,
4433
- });
4434
- return new CharacterHyperStatDto(response.data);
4435
- }
4436
- catch (e) {
4437
- if (e instanceof axios.AxiosError) {
4438
- const errorBody = e.response.data;
4439
- throw new MapleStoryApiError(errorBody);
4440
- }
4441
- throw e;
4442
- }
4969
+ const { data } = await this.client.get(path, {
4970
+ params: query,
4971
+ });
4972
+ return new CharacterHyperStatDto(data);
4443
4973
  }
4444
4974
  /**
4445
4975
  * 성향 정보를 조회합니다.
4976
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4446
4977
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4447
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4978
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4448
4979
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4449
4980
  *
4450
4981
  * @param ocid 캐릭터 식별자
4451
4982
  * @param dateOptions 조회 기준일 (KST)
4452
4983
  */
4453
- async getCharacterPropensity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4454
- hour: 1,
4455
- minute: 0,
4456
- dateOffset: 1,
4457
- })) {
4458
- const query = {
4459
- ocid: ocid,
4460
- date: MapleStoryApi.toDateString({
4984
+ async getCharacterPropensity(ocid, dateOptions) {
4985
+ const path = 'maplestory/v1/character/propensity';
4986
+ const date = dateOptions
4987
+ ? MapleStoryApi.toDateString({
4461
4988
  year: 2023,
4462
4989
  month: 12,
4463
4990
  day: 21,
4464
- }, dateOptions),
4991
+ }, dateOptions)
4992
+ : undefined;
4993
+ const query = {
4994
+ ocid: ocid,
4995
+ date: date,
4465
4996
  };
4466
- try {
4467
- const path = 'maplestory/v1/character/propensity';
4468
- const response = await axios__default["default"].get(path, {
4469
- baseURL: MapleStoryApi.BASE_URL,
4470
- timeout: this.timeout,
4471
- headers: this.buildHeaders(),
4472
- params: query,
4473
- });
4474
- return new CharacterPropensityDto(response.data);
4475
- }
4476
- catch (e) {
4477
- if (e instanceof axios.AxiosError) {
4478
- const errorBody = e.response.data;
4479
- throw new MapleStoryApiError(errorBody);
4480
- }
4481
- throw e;
4482
- }
4997
+ const { data } = await this.client.get(path, {
4998
+ params: query,
4999
+ });
5000
+ return new CharacterPropensityDto(data);
4483
5001
  }
4484
5002
  /**
4485
5003
  * 어빌리티 정보를 조회합니다.
5004
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4486
5005
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4487
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5006
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4488
5007
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4489
5008
  *
4490
5009
  * @param ocid 캐릭터 식별자
4491
5010
  * @param dateOptions 조회 기준일 (KST)
4492
5011
  */
4493
- async getCharacterAbility(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4494
- hour: 1,
4495
- minute: 0,
4496
- dateOffset: 1,
4497
- })) {
4498
- const query = {
4499
- ocid: ocid,
4500
- date: MapleStoryApi.toDateString({
5012
+ async getCharacterAbility(ocid, dateOptions) {
5013
+ const path = 'maplestory/v1/character/ability';
5014
+ const date = dateOptions
5015
+ ? MapleStoryApi.toDateString({
4501
5016
  year: 2023,
4502
5017
  month: 12,
4503
5018
  day: 21,
4504
- }, dateOptions),
5019
+ }, dateOptions)
5020
+ : undefined;
5021
+ const query = {
5022
+ ocid: ocid,
5023
+ date: date,
4505
5024
  };
4506
- try {
4507
- const path = 'maplestory/v1/character/ability';
4508
- const response = await axios__default["default"].get(path, {
4509
- baseURL: MapleStoryApi.BASE_URL,
4510
- timeout: this.timeout,
4511
- headers: this.buildHeaders(),
4512
- params: query,
4513
- });
4514
- return new CharacterAbilityDto(response.data);
4515
- }
4516
- catch (e) {
4517
- if (e instanceof axios.AxiosError) {
4518
- const errorBody = e.response.data;
4519
- throw new MapleStoryApiError(errorBody);
4520
- }
4521
- throw e;
4522
- }
5025
+ const { data } = await this.client.get(path, {
5026
+ params: query,
5027
+ });
5028
+ return new CharacterAbilityDto(data);
4523
5029
  }
4524
5030
  /**
4525
5031
  * 장착한 장비 중 캐시 장비를 제외한 나머지 장비 정보를 조회합니다.
5032
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4526
5033
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4527
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5034
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4528
5035
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4529
5036
  *
4530
5037
  * @param ocid 캐릭터 식별자
4531
5038
  * @param dateOptions 조회 기준일 (KST)
4532
5039
  */
4533
- async getCharacterItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4534
- hour: 1,
4535
- minute: 0,
4536
- dateOffset: 1,
4537
- })) {
4538
- const query = {
4539
- ocid: ocid,
4540
- date: MapleStoryApi.toDateString({
5040
+ async getCharacterItemEquipment(ocid, dateOptions) {
5041
+ const path = 'maplestory/v1/character/item-equipment';
5042
+ const date = dateOptions
5043
+ ? MapleStoryApi.toDateString({
4541
5044
  year: 2023,
4542
5045
  month: 12,
4543
5046
  day: 21,
4544
- }, dateOptions),
5047
+ }, dateOptions)
5048
+ : undefined;
5049
+ const query = {
5050
+ ocid: ocid,
5051
+ date: date,
4545
5052
  };
4546
- try {
4547
- const path = 'maplestory/v1/character/item-equipment';
4548
- const response = await axios__default["default"].get(path, {
4549
- baseURL: MapleStoryApi.BASE_URL,
4550
- timeout: this.timeout,
4551
- headers: this.buildHeaders(),
4552
- params: query,
4553
- });
4554
- return new CharacterItemEquipmentDto(response.data);
4555
- }
4556
- catch (e) {
4557
- if (e instanceof axios.AxiosError) {
4558
- const errorBody = e.response.data;
4559
- throw new MapleStoryApiError(errorBody);
4560
- }
4561
- throw e;
4562
- }
5053
+ const { data } = await this.client.get(path, {
5054
+ params: query,
5055
+ });
5056
+ return new CharacterItemEquipmentDto(data);
4563
5057
  }
4564
5058
  /**
4565
5059
  * 장착한 캐시 장비 정보를 조회합니다.
5060
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4566
5061
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4567
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5062
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4568
5063
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4569
5064
  *
4570
5065
  * @param ocid 캐릭터 식별자
4571
5066
  * @param dateOptions 조회 기준일 (KST)
4572
5067
  */
4573
- async getCharacterCashItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4574
- hour: 1,
4575
- minute: 0,
4576
- dateOffset: 1,
4577
- })) {
4578
- const query = {
4579
- ocid: ocid,
4580
- date: MapleStoryApi.toDateString({
5068
+ async getCharacterCashItemEquipment(ocid, dateOptions) {
5069
+ const path = 'maplestory/v1/character/cashitem-equipment';
5070
+ const date = dateOptions
5071
+ ? MapleStoryApi.toDateString({
4581
5072
  year: 2023,
4582
5073
  month: 12,
4583
5074
  day: 21,
4584
- }, dateOptions),
5075
+ }, dateOptions)
5076
+ : undefined;
5077
+ const query = {
5078
+ ocid: ocid,
5079
+ date: date,
4585
5080
  };
4586
- try {
4587
- const path = 'maplestory/v1/character/cashitem-equipment';
4588
- const response = await axios__default["default"].get(path, {
4589
- baseURL: MapleStoryApi.BASE_URL,
4590
- timeout: this.timeout,
4591
- headers: this.buildHeaders(),
4592
- params: query,
4593
- });
4594
- return new CharacterCashItemEquipmentDto(response.data);
4595
- }
4596
- catch (e) {
4597
- if (e instanceof axios.AxiosError) {
4598
- const errorBody = e.response.data;
4599
- throw new MapleStoryApiError(errorBody);
4600
- }
4601
- throw e;
4602
- }
5081
+ const { data } = await this.client.get(path, {
5082
+ params: query,
5083
+ });
5084
+ return new CharacterCashItemEquipmentDto(data);
4603
5085
  }
4604
5086
  /**
4605
5087
  * 장착한 심볼 정보를 조회합니다.
5088
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4606
5089
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4607
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5090
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4608
5091
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4609
5092
  *
4610
5093
  * @param ocid 캐릭터 식별자
4611
5094
  * @param dateOptions 조회 기준일 (KST)
4612
5095
  */
4613
- async getCharacterSymbolEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4614
- hour: 1,
4615
- minute: 0,
4616
- dateOffset: 1,
4617
- })) {
4618
- const query = {
4619
- ocid: ocid,
4620
- date: MapleStoryApi.toDateString({
5096
+ async getCharacterSymbolEquipment(ocid, dateOptions) {
5097
+ const path = 'maplestory/v1/character/symbol-equipment';
5098
+ const date = dateOptions
5099
+ ? MapleStoryApi.toDateString({
4621
5100
  year: 2023,
4622
5101
  month: 12,
4623
5102
  day: 21,
4624
- }, dateOptions),
5103
+ }, dateOptions)
5104
+ : undefined;
5105
+ const query = {
5106
+ ocid: ocid,
5107
+ date: date,
4625
5108
  };
4626
- try {
4627
- const path = 'maplestory/v1/character/symbol-equipment';
4628
- const response = await axios__default["default"].get(path, {
4629
- baseURL: MapleStoryApi.BASE_URL,
4630
- timeout: this.timeout,
4631
- headers: this.buildHeaders(),
4632
- params: query,
4633
- });
4634
- return new CharacterSymbolEquipmentDto(response.data);
4635
- }
4636
- catch (e) {
4637
- if (e instanceof axios.AxiosError) {
4638
- const errorBody = e.response.data;
4639
- throw new MapleStoryApiError(errorBody);
4640
- }
4641
- throw e;
4642
- }
5109
+ const { data } = await this.client.get(path, {
5110
+ params: query,
5111
+ });
5112
+ return new CharacterSymbolEquipmentDto(data);
4643
5113
  }
4644
5114
  /**
4645
5115
  * 적용받고 있는 세트 효과 정보를 조회합니다.
5116
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4646
5117
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4647
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5118
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4648
5119
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4649
5120
  *
4650
5121
  * @param ocid 캐릭터 식별자
4651
5122
  * @param dateOptions 조회 기준일 (KST)
4652
5123
  */
4653
- async getCharacterSetEffect(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4654
- hour: 1,
4655
- minute: 0,
4656
- dateOffset: 1,
4657
- })) {
4658
- const query = {
4659
- ocid: ocid,
4660
- date: MapleStoryApi.toDateString({
5124
+ async getCharacterSetEffect(ocid, dateOptions) {
5125
+ const path = 'maplestory/v1/character/set-effect';
5126
+ const date = dateOptions
5127
+ ? MapleStoryApi.toDateString({
4661
5128
  year: 2023,
4662
5129
  month: 12,
4663
5130
  day: 21,
4664
- }, dateOptions),
5131
+ }, dateOptions)
5132
+ : undefined;
5133
+ const query = {
5134
+ ocid: ocid,
5135
+ date: date,
4665
5136
  };
4666
- try {
4667
- const path = 'maplestory/v1/character/set-effect';
4668
- const response = await axios__default["default"].get(path, {
4669
- baseURL: MapleStoryApi.BASE_URL,
4670
- timeout: this.timeout,
4671
- headers: this.buildHeaders(),
4672
- params: query,
4673
- });
4674
- return new CharacterSetEffectDto(response.data);
4675
- }
4676
- catch (e) {
4677
- if (e instanceof axios.AxiosError) {
4678
- const errorBody = e.response.data;
4679
- throw new MapleStoryApiError(errorBody);
4680
- }
4681
- throw e;
4682
- }
5137
+ const { data } = await this.client.get(path, {
5138
+ params: query,
5139
+ });
5140
+ return new CharacterSetEffectDto(data);
4683
5141
  }
4684
5142
  /**
4685
5143
  * 장착 중인 헤어, 성형, 피부 정보를 조회합니다.
5144
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4686
5145
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4687
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5146
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4688
5147
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4689
5148
  *
4690
5149
  * @param ocid 캐릭터 식별자
4691
5150
  * @param dateOptions 조회 기준일 (KST)
4692
5151
  */
4693
- async getCharacterBeautyEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4694
- hour: 1,
4695
- minute: 0,
4696
- dateOffset: 1,
4697
- })) {
5152
+ async getCharacterBeautyEquipment(ocid, dateOptions) {
5153
+ const path = 'maplestory/v1/character/beauty-equipment';
4698
5154
  const query = {
4699
5155
  ocid: ocid,
4700
- date: MapleStoryApi.toDateString({
5156
+ date: dateOptions ? MapleStoryApi.toDateString({
4701
5157
  year: 2023,
4702
5158
  month: 12,
4703
5159
  day: 21,
4704
- }, dateOptions),
5160
+ }, dateOptions) : undefined,
4705
5161
  };
4706
- try {
4707
- const path = 'maplestory/v1/character/beauty-equipment';
4708
- const response = await axios__default["default"].get(path, {
4709
- baseURL: MapleStoryApi.BASE_URL,
4710
- timeout: this.timeout,
4711
- headers: this.buildHeaders(),
4712
- params: query,
4713
- });
4714
- return new CharacterBeautyEquipmentDto(response.data);
4715
- }
4716
- catch (e) {
4717
- if (e instanceof axios.AxiosError) {
4718
- const errorBody = e.response.data;
4719
- throw new MapleStoryApiError(errorBody);
4720
- }
4721
- throw e;
4722
- }
5162
+ const { data } = await this.client.get(path, {
5163
+ params: query,
5164
+ });
5165
+ return new CharacterBeautyEquipmentDto(data);
4723
5166
  }
4724
5167
  /**
4725
5168
  * 장착한 안드로이드 정보를 조회합니다.
5169
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4726
5170
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4727
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5171
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4728
5172
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4729
5173
  *
4730
5174
  * @param ocid 캐릭터 식별자
4731
5175
  * @param dateOptions 조회 기준일 (KST)
4732
5176
  */
4733
- async getCharacterAndroidEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4734
- hour: 1,
4735
- minute: 0,
4736
- dateOffset: 1,
4737
- })) {
4738
- const query = {
4739
- ocid: ocid,
4740
- date: MapleStoryApi.toDateString({
5177
+ async getCharacterAndroidEquipment(ocid, dateOptions) {
5178
+ const path = 'maplestory/v1/character/android-equipment';
5179
+ const date = dateOptions
5180
+ ? MapleStoryApi.toDateString({
4741
5181
  year: 2023,
4742
5182
  month: 12,
4743
5183
  day: 21,
4744
- }, dateOptions),
5184
+ }, dateOptions)
5185
+ : undefined;
5186
+ const query = {
5187
+ ocid: ocid,
5188
+ date: date,
4745
5189
  };
4746
- try {
4747
- const path = 'maplestory/v1/character/android-equipment';
4748
- const response = await axios__default["default"].get(path, {
4749
- baseURL: MapleStoryApi.BASE_URL,
4750
- timeout: this.timeout,
4751
- headers: this.buildHeaders(),
4752
- params: query,
4753
- });
4754
- return new CharacterAndroidEquipmentDto(response.data);
4755
- }
4756
- catch (e) {
4757
- if (e instanceof axios.AxiosError) {
4758
- const errorBody = e.response.data;
4759
- throw new MapleStoryApiError(errorBody);
4760
- }
4761
- throw e;
4762
- }
5190
+ const { data } = await this.client.get(path, {
5191
+ params: query,
5192
+ });
5193
+ return new CharacterAndroidEquipmentDto(data);
4763
5194
  }
4764
5195
  /**
4765
5196
  * 장착한 펫 및 펫 스킬, 장비 정보를 조회합니다.
5197
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4766
5198
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4767
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5199
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4768
5200
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4769
5201
  *
4770
5202
  * @param ocid 캐릭터 식별자
4771
5203
  * @param dateOptions 조회 기준일 (KST)
4772
5204
  */
4773
- async getCharacterPetEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4774
- hour: 1,
4775
- minute: 0,
4776
- dateOffset: 1,
4777
- })) {
4778
- const query = {
4779
- ocid: ocid,
4780
- date: MapleStoryApi.toDateString({
5205
+ async getCharacterPetEquipment(ocid, dateOptions) {
5206
+ const path = 'maplestory/v1/character/pet-equipment';
5207
+ const date = dateOptions
5208
+ ? MapleStoryApi.toDateString({
4781
5209
  year: 2023,
4782
5210
  month: 12,
4783
5211
  day: 21,
4784
- }, dateOptions),
5212
+ }, dateOptions)
5213
+ : undefined;
5214
+ const query = {
5215
+ ocid: ocid,
5216
+ date: date,
4785
5217
  };
4786
- try {
4787
- const path = 'maplestory/v1/character/pet-equipment';
4788
- const response = await axios__default["default"].get(path, {
4789
- baseURL: MapleStoryApi.BASE_URL,
4790
- timeout: this.timeout,
4791
- headers: this.buildHeaders(),
4792
- params: query,
4793
- });
4794
- return new CharacterPetEquipmentDto(response.data);
4795
- }
4796
- catch (e) {
4797
- if (e instanceof axios.AxiosError) {
4798
- const errorBody = e.response.data;
4799
- throw new MapleStoryApiError(errorBody);
4800
- }
4801
- throw e;
4802
- }
5218
+ const { data } = await this.client.get(path, {
5219
+ params: query,
5220
+ });
5221
+ return new CharacterPetEquipmentDto(data);
4803
5222
  }
4804
5223
  /**
4805
5224
  * 캐릭터 스킬과 하이퍼 스킬 정보를 조회합니다.
5225
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4806
5226
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4807
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5227
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4808
5228
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4809
5229
  *
4810
5230
  * @param ocid 캐릭터 식별자
@@ -4822,441 +5242,310 @@ class MapleStoryApi {
4822
5242
  * - 6: 6차 스킬
4823
5243
  * @param dateOptions 조회 기준일 (KST)
4824
5244
  */
4825
- async getCharacterSkill(ocid, characterSkillGrade, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4826
- hour: 1,
4827
- minute: 0,
4828
- dateOffset: 1,
4829
- })) {
4830
- const query = {
4831
- ocid: ocid,
4832
- character_skill_grade: characterSkillGrade,
4833
- date: MapleStoryApi.toDateString({
5245
+ async getCharacterSkill(ocid, characterSkillGrade, dateOptions) {
5246
+ const path = 'maplestory/v1/character/skill';
5247
+ const date = dateOptions
5248
+ ? MapleStoryApi.toDateString({
4834
5249
  year: 2023,
4835
5250
  month: 12,
4836
5251
  day: 21,
4837
- }, dateOptions),
5252
+ }, dateOptions)
5253
+ : undefined;
5254
+ const query = {
5255
+ ocid: ocid,
5256
+ character_skill_grade: characterSkillGrade,
5257
+ date: date,
4838
5258
  };
4839
- try {
4840
- const path = 'maplestory/v1/character/skill';
4841
- const response = await axios__default["default"].get(path, {
4842
- baseURL: MapleStoryApi.BASE_URL,
4843
- timeout: this.timeout,
4844
- headers: this.buildHeaders(),
4845
- params: query,
4846
- });
4847
- return new CharacterSkillDto(response.data);
4848
- }
4849
- catch (e) {
4850
- if (e instanceof axios.AxiosError) {
4851
- const errorBody = e.response.data;
4852
- throw new MapleStoryApiError(errorBody);
4853
- }
4854
- throw e;
4855
- }
5259
+ const { data } = await this.client.get(path, {
5260
+ params: query,
5261
+ });
5262
+ return new CharacterSkillDto(data);
4856
5263
  }
4857
5264
  /**
4858
5265
  * 장착 링크 스킬 정보를 조회합니다.
5266
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4859
5267
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4860
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5268
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4861
5269
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4862
5270
  *
4863
5271
  * @param ocid 캐릭터 식별자
4864
5272
  * @param dateOptions 조회 기준일 (KST)
4865
5273
  */
4866
- async getCharacterLinkSkill(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4867
- hour: 1,
4868
- minute: 0,
4869
- dateOffset: 1,
4870
- })) {
4871
- const query = {
4872
- ocid: ocid,
4873
- date: MapleStoryApi.toDateString({
5274
+ async getCharacterLinkSkill(ocid, dateOptions) {
5275
+ const path = 'maplestory/v1/character/link-skill';
5276
+ const date = dateOptions
5277
+ ? MapleStoryApi.toDateString({
4874
5278
  year: 2023,
4875
5279
  month: 12,
4876
5280
  day: 21,
4877
- }, dateOptions),
5281
+ }, dateOptions)
5282
+ : undefined;
5283
+ const query = {
5284
+ ocid: ocid,
5285
+ date: date,
4878
5286
  };
4879
- try {
4880
- const path = 'maplestory/v1/character/link-skill';
4881
- const response = await axios__default["default"].get(path, {
4882
- baseURL: MapleStoryApi.BASE_URL,
4883
- timeout: this.timeout,
4884
- headers: this.buildHeaders(),
4885
- params: query,
4886
- });
4887
- return new CharacterLinkSkillDto(response.data);
4888
- }
4889
- catch (e) {
4890
- if (e instanceof axios.AxiosError) {
4891
- const errorBody = e.response.data;
4892
- throw new MapleStoryApiError(errorBody);
4893
- }
4894
- throw e;
4895
- }
5287
+ const { data } = await this.client.get(path, {
5288
+ params: query,
5289
+ });
5290
+ return new CharacterLinkSkillDto(data);
4896
5291
  }
4897
5292
  /**
4898
5293
  * V매트릭스 슬롯 정보와 장착한 V코어 정보를 조회합니다.
5294
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4899
5295
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4900
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5296
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4901
5297
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4902
5298
  *
4903
5299
  * @param ocid 캐릭터 식별자
4904
5300
  * @param dateOptions 조회 기준일 (KST)
4905
5301
  */
4906
- async getCharacterVMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4907
- hour: 1,
4908
- minute: 0,
4909
- dateOffset: 1,
4910
- })) {
4911
- const query = {
4912
- ocid: ocid,
4913
- date: MapleStoryApi.toDateString({
5302
+ async getCharacterVMatrix(ocid, dateOptions) {
5303
+ const path = 'maplestory/v1/character/vmatrix';
5304
+ const date = dateOptions
5305
+ ? MapleStoryApi.toDateString({
4914
5306
  year: 2023,
4915
5307
  month: 12,
4916
5308
  day: 21,
4917
- }, dateOptions),
5309
+ }, dateOptions)
5310
+ : undefined;
5311
+ const query = {
5312
+ ocid: ocid,
5313
+ date: date,
4918
5314
  };
4919
- try {
4920
- const path = 'maplestory/v1/character/vmatrix';
4921
- const response = await axios__default["default"].get(path, {
4922
- baseURL: MapleStoryApi.BASE_URL,
4923
- timeout: this.timeout,
4924
- headers: this.buildHeaders(),
4925
- params: query,
4926
- });
4927
- return new CharacterVMatrixDto(response.data);
4928
- }
4929
- catch (e) {
4930
- if (e instanceof axios.AxiosError) {
4931
- const errorBody = e.response.data;
4932
- throw new MapleStoryApiError(errorBody);
4933
- }
4934
- throw e;
4935
- }
5315
+ const { data } = await this.client.get(path, {
5316
+ params: query,
5317
+ });
5318
+ return new CharacterVMatrixDto(data);
4936
5319
  }
4937
5320
  /**
4938
5321
  * HEXA 매트릭스에 장착한 HEXA 코어 정보를 조회합니다.
5322
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4939
5323
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4940
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5324
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4941
5325
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4942
5326
  *
4943
5327
  * @param ocid 캐릭터 식별자
4944
5328
  * @param dateOptions 조회 기준일 (KST)
4945
5329
  */
4946
- async getCharacterHexaMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4947
- hour: 1,
4948
- minute: 0,
4949
- dateOffset: 1,
4950
- })) {
4951
- const query = {
4952
- ocid: ocid,
4953
- date: MapleStoryApi.toDateString({
5330
+ async getCharacterHexaMatrix(ocid, dateOptions) {
5331
+ const path = 'maplestory/v1/character/hexamatrix';
5332
+ const date = dateOptions
5333
+ ? MapleStoryApi.toDateString({
4954
5334
  year: 2023,
4955
5335
  month: 12,
4956
5336
  day: 21,
4957
- }, dateOptions),
5337
+ }, dateOptions)
5338
+ : undefined;
5339
+ const query = {
5340
+ ocid: ocid,
5341
+ date: date,
4958
5342
  };
4959
- try {
4960
- const path = 'maplestory/v1/character/hexamatrix';
4961
- const response = await axios__default["default"].get(path, {
4962
- baseURL: MapleStoryApi.BASE_URL,
4963
- timeout: this.timeout,
4964
- headers: this.buildHeaders(),
4965
- params: query,
4966
- });
4967
- return new CharacterHexaMatrixDto(response.data);
4968
- }
4969
- catch (e) {
4970
- if (e instanceof axios.AxiosError) {
4971
- const errorBody = e.response.data;
4972
- throw new MapleStoryApiError(errorBody);
4973
- }
4974
- throw e;
4975
- }
5343
+ const { data } = await this.client.get(path, {
5344
+ params: query,
5345
+ });
5346
+ return new CharacterHexaMatrixDto(data);
4976
5347
  }
4977
5348
  /**
4978
5349
  * HEXA 매트릭스에 설정한 HEXA 스탯 정보를 조회합니다.
5350
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4979
5351
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4980
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5352
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4981
5353
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4982
5354
  *
4983
5355
  * @param ocid 캐릭터 식별자
4984
5356
  * @param dateOptions 조회 기준일 (KST)
4985
5357
  */
4986
- async getCharacterHexaMatrixStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4987
- hour: 1,
4988
- minute: 0,
4989
- dateOffset: 1,
4990
- })) {
4991
- const query = {
4992
- ocid: ocid,
4993
- date: MapleStoryApi.toDateString({
5358
+ async getCharacterHexaMatrixStat(ocid, dateOptions) {
5359
+ const path = 'maplestory/v1/character/hexamatrix-stat';
5360
+ const date = dateOptions
5361
+ ? MapleStoryApi.toDateString({
4994
5362
  year: 2023,
4995
5363
  month: 12,
4996
5364
  day: 21,
4997
- }, dateOptions),
5365
+ }, dateOptions)
5366
+ : undefined;
5367
+ const query = {
5368
+ ocid: ocid,
5369
+ date: date,
4998
5370
  };
4999
- try {
5000
- const path = 'maplestory/v1/character/hexamatrix-stat';
5001
- const response = await axios__default["default"].get(path, {
5002
- baseURL: MapleStoryApi.BASE_URL,
5003
- timeout: this.timeout,
5004
- headers: this.buildHeaders(),
5005
- params: query,
5006
- });
5007
- return new CharacterHexaMatrixStatDto(response.data);
5008
- }
5009
- catch (e) {
5010
- if (e instanceof axios.AxiosError) {
5011
- const errorBody = e.response.data;
5012
- throw new MapleStoryApiError(errorBody);
5013
- }
5014
- throw e;
5015
- }
5371
+ const { data } = await this.client.get(path, {
5372
+ params: query,
5373
+ });
5374
+ return new CharacterHexaMatrixStatDto(data);
5016
5375
  }
5017
5376
  /**
5018
5377
  * 캐릭터 무릉도장 최고 기록 정보를 조회합니다.
5378
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
5019
5379
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
5020
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5380
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
5021
5381
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
5022
5382
  *
5023
5383
  * @param ocid 캐릭터 식별자
5024
5384
  * @param dateOptions 조회 기준일 (KST)
5025
5385
  */
5026
- async getCharacterDojang(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5027
- hour: 1,
5028
- minute: 0,
5029
- dateOffset: 1,
5030
- })) {
5031
- const query = {
5032
- ocid: ocid,
5033
- date: MapleStoryApi.toDateString({
5386
+ async getCharacterDojang(ocid, dateOptions) {
5387
+ const path = 'maplestory/v1/character/dojang';
5388
+ const date = dateOptions
5389
+ ? MapleStoryApi.toDateString({
5034
5390
  year: 2023,
5035
5391
  month: 12,
5036
5392
  day: 21,
5037
- }, dateOptions),
5393
+ }, dateOptions)
5394
+ : undefined;
5395
+ const query = {
5396
+ ocid: ocid,
5397
+ date: date,
5038
5398
  };
5039
- try {
5040
- const path = 'maplestory/v1/character/dojang';
5041
- const response = await axios__default["default"].get(path, {
5042
- baseURL: MapleStoryApi.BASE_URL,
5043
- timeout: this.timeout,
5044
- headers: this.buildHeaders(),
5045
- params: query,
5046
- });
5047
- return new CharacterDojangDto(response.data);
5048
- }
5049
- catch (e) {
5050
- if (e instanceof axios.AxiosError) {
5051
- const errorBody = e.response.data;
5052
- throw new MapleStoryApiError(errorBody);
5053
- }
5054
- throw e;
5055
- }
5399
+ const { data } = await this.client.get(path, {
5400
+ params: query,
5401
+ });
5402
+ return new CharacterDojangDto(data);
5056
5403
  }
5057
5404
  //#endregion
5058
5405
  //#region 유니온 정보 조회
5059
5406
  /**
5060
5407
  * 유니온 정보를 조회합니다.
5408
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
5061
5409
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
5062
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5410
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
5063
5411
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
5064
5412
  *
5065
5413
  * @param ocid 캐릭터 식별자
5066
5414
  * @param dateOptions 조회 기준일 (KST)
5067
5415
  */
5068
- async getUnion(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5069
- hour: 1,
5070
- minute: 0,
5071
- dateOffset: 1,
5072
- })) {
5073
- const query = {
5074
- ocid: ocid,
5075
- date: MapleStoryApi.toDateString({
5416
+ async getUnion(ocid, dateOptions) {
5417
+ const path = 'maplestory/v1/user/union';
5418
+ const date = dateOptions
5419
+ ? MapleStoryApi.toDateString({
5076
5420
  year: 2023,
5077
5421
  month: 12,
5078
5422
  day: 21,
5079
- }, dateOptions),
5423
+ }, dateOptions)
5424
+ : undefined;
5425
+ const query = {
5426
+ ocid: ocid,
5427
+ date: date,
5080
5428
  };
5081
- try {
5082
- const path = 'maplestory/v1/user/union';
5083
- const response = await axios__default["default"].get(path, {
5084
- baseURL: MapleStoryApi.BASE_URL,
5085
- timeout: this.timeout,
5086
- headers: this.buildHeaders(),
5087
- params: query,
5088
- });
5089
- return new UnionDto(response.data);
5090
- }
5091
- catch (e) {
5092
- if (e instanceof axios.AxiosError) {
5093
- const errorBody = e.response.data;
5094
- throw new MapleStoryApiError(errorBody);
5095
- }
5096
- throw e;
5097
- }
5429
+ const { data } = await this.client.get(path, {
5430
+ params: query,
5431
+ });
5432
+ return new UnionDto(data);
5098
5433
  }
5099
5434
  /**
5100
5435
  * 유니온 공격대 정보를 조회합니다.
5436
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
5101
5437
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
5102
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5438
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
5103
5439
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
5104
5440
  *
5105
5441
  * @param ocid 캐릭터 식별자
5106
5442
  * @param dateOptions 조회 기준일 (KST)
5107
5443
  */
5108
- async getUnionRaider(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5109
- hour: 1,
5110
- minute: 0,
5111
- dateOffset: 1,
5112
- })) {
5113
- const query = {
5114
- ocid: ocid,
5115
- date: MapleStoryApi.toDateString({
5444
+ async getUnionRaider(ocid, dateOptions) {
5445
+ const path = 'maplestory/v1/user/union-raider';
5446
+ const date = dateOptions
5447
+ ? MapleStoryApi.toDateString({
5116
5448
  year: 2023,
5117
5449
  month: 12,
5118
5450
  day: 21,
5119
- }, dateOptions),
5451
+ }, dateOptions)
5452
+ : undefined;
5453
+ const query = {
5454
+ ocid: ocid,
5455
+ date: date,
5120
5456
  };
5121
- try {
5122
- const path = 'maplestory/v1/user/union-raider';
5123
- const response = await axios__default["default"].get(path, {
5124
- baseURL: MapleStoryApi.BASE_URL,
5125
- timeout: this.timeout,
5126
- headers: this.buildHeaders(),
5127
- params: query,
5128
- });
5129
- return new UnionRaiderDto(response.data);
5130
- }
5131
- catch (e) {
5132
- if (e instanceof axios.AxiosError) {
5133
- const errorBody = e.response.data;
5134
- throw new MapleStoryApiError(errorBody);
5135
- }
5136
- throw e;
5137
- }
5457
+ const { data } = await this.client.get(path, {
5458
+ params: query,
5459
+ });
5460
+ return new UnionRaiderDto(data);
5138
5461
  }
5139
5462
  /**
5140
5463
  * 유니온 아티팩트 정보를 조회합니다.
5464
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
5141
5465
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
5142
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5466
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
5143
5467
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
5144
5468
  *
5145
5469
  * @param ocid 캐릭터 식별자
5146
5470
  * @param dateOptions 조회 기준일 (KST)
5147
5471
  */
5148
- async getUnionArtifact(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5149
- hour: 1,
5150
- minute: 0,
5151
- dateOffset: 1,
5152
- })) {
5153
- const query = {
5154
- ocid: ocid,
5155
- date: MapleStoryApi.toDateString({
5472
+ async getUnionArtifact(ocid, dateOptions) {
5473
+ const path = 'maplestory/v1/user/union-artifact';
5474
+ const date = dateOptions
5475
+ ? MapleStoryApi.toDateString({
5156
5476
  year: 2023,
5157
5477
  month: 12,
5158
5478
  day: 21,
5159
- }, dateOptions),
5479
+ }, dateOptions)
5480
+ : undefined;
5481
+ const query = {
5482
+ ocid: ocid,
5483
+ date: date,
5160
5484
  };
5161
- try {
5162
- const path = 'maplestory/v1/user/union-artifact';
5163
- const response = await axios__default["default"].get(path, {
5164
- baseURL: MapleStoryApi.BASE_URL,
5165
- timeout: this.timeout,
5166
- headers: this.buildHeaders(),
5167
- params: query,
5168
- });
5169
- return new UnionArtifactDto(response.data);
5170
- }
5171
- catch (e) {
5172
- if (e instanceof axios.AxiosError) {
5173
- const errorBody = e.response.data;
5174
- throw new MapleStoryApiError(errorBody);
5175
- }
5176
- throw e;
5177
- }
5485
+ const { data } = await this.client.get(path, {
5486
+ params: query,
5487
+ });
5488
+ return new UnionArtifactDto(data);
5178
5489
  }
5179
5490
  //#endregion
5180
5491
  //#region 길드 정보 조회
5181
5492
  /**
5182
5493
  * 길드 식별자(oguild_id) 정보를 조회합니다.
5494
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
5183
5495
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
5184
- * - 길드 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.).
5496
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
5185
5497
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
5186
5498
  *
5187
5499
  * @param guildName 길드 명
5188
5500
  * @param worldName 월드 명
5189
5501
  */
5190
5502
  async getGuild(guildName, worldName) {
5191
- try {
5192
- const path = 'maplestory/v1/guild/id';
5193
- const response = await axios__default["default"].get(path, {
5194
- baseURL: MapleStoryApi.BASE_URL,
5195
- timeout: this.timeout,
5196
- headers: this.buildHeaders(),
5197
- params: {
5198
- guild_name: guildName,
5199
- world_name: worldName,
5200
- },
5201
- });
5202
- return new GuildDto(response.data);
5203
- }
5204
- catch (e) {
5205
- if (e instanceof axios.AxiosError) {
5206
- const errorBody = e.response.data;
5207
- throw new MapleStoryApiError(errorBody);
5208
- }
5209
- throw e;
5210
- }
5503
+ const path = 'maplestory/v1/guild/id';
5504
+ const { data } = await this.client.get(path, {
5505
+ params: {
5506
+ guild_name: guildName,
5507
+ world_name: worldName,
5508
+ },
5509
+ });
5510
+ return new GuildDto(data);
5211
5511
  }
5212
5512
  /**
5213
5513
  * 길드 기본 정보를 조회합니다.
5514
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
5214
5515
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
5215
- * - 길드 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.).
5516
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
5216
5517
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
5217
5518
  *
5218
5519
  * @param guildId 길드 식별자
5219
5520
  * @param dateOptions 조회 기준일 (KST)
5220
5521
  */
5221
- async getGuildBasic(guildId, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5222
- hour: 1,
5223
- minute: 0,
5224
- dateOffset: 1,
5225
- })) {
5226
- const query = {
5227
- oguild_id: guildId,
5228
- date: MapleStoryApi.toDateString({
5522
+ async getGuildBasic(guildId, dateOptions) {
5523
+ const path = 'maplestory/v1/guild/basic';
5524
+ const date = dateOptions
5525
+ ? MapleStoryApi.toDateString({
5229
5526
  year: 2023,
5230
5527
  month: 12,
5231
5528
  day: 21,
5232
- }, dateOptions),
5529
+ }, dateOptions)
5530
+ : undefined;
5531
+ const query = {
5532
+ oguild_id: guildId,
5533
+ date: date,
5233
5534
  };
5234
- try {
5235
- const path = 'maplestory/v1/guild/basic';
5236
- const response = await axios__default["default"].get(path, {
5237
- baseURL: MapleStoryApi.BASE_URL,
5238
- timeout: this.timeout,
5239
- headers: this.buildHeaders(),
5240
- params: query,
5241
- });
5242
- return new GuildBasicDto(response.data);
5243
- }
5244
- catch (e) {
5245
- if (e instanceof axios.AxiosError) {
5246
- const errorBody = e.response.data;
5247
- throw new MapleStoryApiError(errorBody);
5248
- }
5249
- throw e;
5250
- }
5535
+ const { data } = await this.client.get(path, {
5536
+ params: query,
5537
+ });
5538
+ return new GuildBasicDto(data);
5251
5539
  }
5252
5540
  async getStarforceHistory(count, parameter) {
5541
+ const path = 'maplestory/v1/history/starforce';
5253
5542
  const query = {
5254
5543
  count,
5255
5544
  };
5256
5545
  if (typeof parameter === 'string') {
5257
5546
  query.cursor = parameter;
5258
5547
  }
5259
- else if (typeof parameter === 'object') {
5548
+ else if (typeof parameter === 'object' || parameter === undefined) {
5260
5549
  query.date = MapleStoryApi.toDateString({
5261
5550
  year: 2023,
5262
5551
  month: 12,
@@ -5268,25 +5557,13 @@ class MapleStoryApi {
5268
5557
  dateOffset: 0,
5269
5558
  }));
5270
5559
  }
5271
- try {
5272
- const path = 'maplestory/v1/history/starforce';
5273
- const response = await axios__default["default"].get(path, {
5274
- baseURL: MapleStoryApi.BASE_URL,
5275
- timeout: this.timeout,
5276
- headers: this.buildHeaders(),
5277
- params: query,
5278
- });
5279
- return new StarforceHistoryResponseDto(response.data);
5280
- }
5281
- catch (e) {
5282
- if (e instanceof axios.AxiosError) {
5283
- const errorBody = e.response.data;
5284
- throw new MapleStoryApiError(errorBody);
5285
- }
5286
- throw e;
5287
- }
5560
+ const { data } = await this.client.get(path, {
5561
+ params: query,
5562
+ });
5563
+ return new StarforceHistoryResponseDto(data);
5288
5564
  }
5289
5565
  async getCubeHistory(count, parameter) {
5566
+ const path = 'maplestory/v1/history/cube';
5290
5567
  const query = {
5291
5568
  count,
5292
5569
  };
@@ -5305,25 +5582,13 @@ class MapleStoryApi {
5305
5582
  dateOffset: 1,
5306
5583
  }));
5307
5584
  }
5308
- try {
5309
- const path = 'maplestory/v1/history/cube';
5310
- const response = await axios__default["default"].get(path, {
5311
- baseURL: MapleStoryApi.BASE_URL,
5312
- timeout: this.timeout,
5313
- headers: this.buildHeaders(),
5314
- params: query,
5315
- });
5316
- return new CubeHistoryResponseDto(response.data);
5317
- }
5318
- catch (e) {
5319
- if (e instanceof axios.AxiosError) {
5320
- const errorBody = e.response.data;
5321
- throw new MapleStoryApiError(errorBody);
5322
- }
5323
- throw e;
5324
- }
5585
+ const { data } = await this.client.get(path, {
5586
+ params: query,
5587
+ });
5588
+ return new CubeHistoryResponseDto(data);
5325
5589
  }
5326
5590
  async getPotentialHistory(count, parameter) {
5591
+ const path = 'maplestory/v1/history/potential';
5327
5592
  const query = {
5328
5593
  count,
5329
5594
  };
@@ -5342,23 +5607,10 @@ class MapleStoryApi {
5342
5607
  dateOffset: 1,
5343
5608
  }));
5344
5609
  }
5345
- try {
5346
- const path = 'maplestory/v1/history/potential';
5347
- const response = await axios__default["default"].get(path, {
5348
- baseURL: MapleStoryApi.BASE_URL,
5349
- timeout: this.timeout,
5350
- headers: this.buildHeaders(),
5351
- params: query,
5352
- });
5353
- return new PotentialHistoryResponseDto(response.data);
5354
- }
5355
- catch (e) {
5356
- if (e instanceof axios.AxiosError) {
5357
- const errorBody = e.response.data;
5358
- throw new MapleStoryApiError(errorBody);
5359
- }
5360
- throw e;
5361
- }
5610
+ const { data } = await this.client.get(path, {
5611
+ params: query,
5612
+ });
5613
+ return new PotentialHistoryResponseDto(data);
5362
5614
  }
5363
5615
  //#endregion
5364
5616
  //#region 랭킹 정보 조회
@@ -5377,6 +5629,7 @@ class MapleStoryApi {
5377
5629
  minute: 30,
5378
5630
  dateOffset: 0,
5379
5631
  })) {
5632
+ const path = 'maplestory/v1/ranking/overall';
5380
5633
  const query = {
5381
5634
  date: MapleStoryApi.toDateString({
5382
5635
  year: 2023,
@@ -5392,23 +5645,10 @@ class MapleStoryApi {
5392
5645
  query.ocid = ocid;
5393
5646
  query.page = page;
5394
5647
  }
5395
- try {
5396
- const path = 'maplestory/v1/ranking/overall';
5397
- const response = await axios__default["default"].get(path, {
5398
- baseURL: MapleStoryApi.BASE_URL,
5399
- timeout: this.timeout,
5400
- headers: this.buildHeaders(),
5401
- params: query,
5402
- });
5403
- return new OverallRankingResponseDto(response.data);
5404
- }
5405
- catch (e) {
5406
- if (e instanceof axios.AxiosError) {
5407
- const errorBody = e.response.data;
5408
- throw new MapleStoryApiError(errorBody);
5409
- }
5410
- throw e;
5411
- }
5648
+ const { data } = await this.client.get(path, {
5649
+ params: query,
5650
+ });
5651
+ return new OverallRankingResponseDto(data);
5412
5652
  }
5413
5653
  /**
5414
5654
  * 유니온 랭킹 정보를 조회합니다.
@@ -5424,6 +5664,7 @@ class MapleStoryApi {
5424
5664
  minute: 30,
5425
5665
  dateOffset: 0,
5426
5666
  })) {
5667
+ const path = 'maplestory/v1/ranking/union';
5427
5668
  const query = {
5428
5669
  date: MapleStoryApi.toDateString({
5429
5670
  year: 2023,
@@ -5437,23 +5678,10 @@ class MapleStoryApi {
5437
5678
  query.ocid = ocid;
5438
5679
  query.page = page;
5439
5680
  }
5440
- try {
5441
- const path = 'maplestory/v1/ranking/union';
5442
- const response = await axios__default["default"].get(path, {
5443
- baseURL: MapleStoryApi.BASE_URL,
5444
- timeout: this.timeout,
5445
- headers: this.buildHeaders(),
5446
- params: query,
5447
- });
5448
- return new UnionRankingResponseDto(response.data);
5449
- }
5450
- catch (e) {
5451
- if (e instanceof axios.AxiosError) {
5452
- const errorBody = e.response.data;
5453
- throw new MapleStoryApiError(errorBody);
5454
- }
5455
- throw e;
5456
- }
5681
+ const { data } = await this.client.get(path, {
5682
+ params: query,
5683
+ });
5684
+ return new UnionRankingResponseDto(data);
5457
5685
  }
5458
5686
  /**
5459
5687
  * 길드 랭킹 정보를 조회합니다.
@@ -5469,6 +5697,7 @@ class MapleStoryApi {
5469
5697
  minute: 30,
5470
5698
  dateOffset: 0,
5471
5699
  })) {
5700
+ const path = 'maplestory/v1/ranking/guild';
5472
5701
  const query = {
5473
5702
  date: MapleStoryApi.toDateString({
5474
5703
  year: 2023,
@@ -5484,23 +5713,10 @@ class MapleStoryApi {
5484
5713
  query.ocid = ocid;
5485
5714
  query.page = page;
5486
5715
  }
5487
- try {
5488
- const path = 'maplestory/v1/ranking/guild';
5489
- const response = await axios__default["default"].get(path, {
5490
- baseURL: MapleStoryApi.BASE_URL,
5491
- timeout: this.timeout,
5492
- headers: this.buildHeaders(),
5493
- params: query,
5494
- });
5495
- return new GuildRankingResponseDto(response.data);
5496
- }
5497
- catch (e) {
5498
- if (e instanceof axios.AxiosError) {
5499
- const errorBody = e.response.data;
5500
- throw new MapleStoryApiError(errorBody);
5501
- }
5502
- throw e;
5503
- }
5716
+ const { data } = await this.client.get(path, {
5717
+ params: query,
5718
+ });
5719
+ return new GuildRankingResponseDto(data);
5504
5720
  }
5505
5721
  /**
5506
5722
  * 무릉도장 랭킹 정보를 조회합니다.
@@ -5516,6 +5732,7 @@ class MapleStoryApi {
5516
5732
  minute: 30,
5517
5733
  dateOffset: 0,
5518
5734
  })) {
5735
+ const path = 'maplestory/v1/ranking/dojang';
5519
5736
  const query = {
5520
5737
  date: MapleStoryApi.toDateString({
5521
5738
  year: 2023,
@@ -5532,23 +5749,10 @@ class MapleStoryApi {
5532
5749
  query.ocid = ocid;
5533
5750
  query.page = page;
5534
5751
  }
5535
- try {
5536
- const path = 'maplestory/v1/ranking/dojang';
5537
- const response = await axios__default["default"].get(path, {
5538
- baseURL: MapleStoryApi.BASE_URL,
5539
- timeout: this.timeout,
5540
- headers: this.buildHeaders(),
5541
- params: query,
5542
- });
5543
- return new DojangRankingResponseDto(response.data);
5544
- }
5545
- catch (e) {
5546
- if (e instanceof axios.AxiosError) {
5547
- const errorBody = e.response.data;
5548
- throw new MapleStoryApiError(errorBody);
5549
- }
5550
- throw e;
5551
- }
5752
+ const { data } = await this.client.get(path, {
5753
+ params: query,
5754
+ });
5755
+ return new DojangRankingResponseDto(data);
5552
5756
  }
5553
5757
  /**
5554
5758
  * 더 시드 랭킹 정보를 조회합니다.
@@ -5564,6 +5768,7 @@ class MapleStoryApi {
5564
5768
  minute: 30,
5565
5769
  dateOffset: 0,
5566
5770
  })) {
5771
+ const path = 'maplestory/v1/ranking/theseed';
5567
5772
  const query = {
5568
5773
  date: MapleStoryApi.toDateString({
5569
5774
  year: 2023,
@@ -5577,23 +5782,10 @@ class MapleStoryApi {
5577
5782
  query.ocid = ocid;
5578
5783
  query.page = page;
5579
5784
  }
5580
- try {
5581
- const path = 'maplestory/v1/ranking/theseed';
5582
- const response = await axios__default["default"].get(path, {
5583
- baseURL: MapleStoryApi.BASE_URL,
5584
- timeout: this.timeout,
5585
- headers: this.buildHeaders(),
5586
- params: query,
5587
- });
5588
- return new TheSeedRankingResponseDto(response.data);
5589
- }
5590
- catch (e) {
5591
- if (e instanceof axios.AxiosError) {
5592
- const errorBody = e.response.data;
5593
- throw new MapleStoryApiError(errorBody);
5594
- }
5595
- throw e;
5596
- }
5785
+ const { data } = await this.client.get(path, {
5786
+ params: query,
5787
+ });
5788
+ return new TheSeedRankingResponseDto(data);
5597
5789
  }
5598
5790
  /**
5599
5791
  * 업적 랭킹 정보를 조회합니다.
@@ -5609,6 +5801,7 @@ class MapleStoryApi {
5609
5801
  minute: 30,
5610
5802
  dateOffset: 0,
5611
5803
  })) {
5804
+ const path = 'maplestory/v1/ranking/achievement';
5612
5805
  const query = {
5613
5806
  date: MapleStoryApi.toDateString({
5614
5807
  year: 2023,
@@ -5621,23 +5814,124 @@ class MapleStoryApi {
5621
5814
  query.ocid = ocid;
5622
5815
  query.page = page;
5623
5816
  }
5624
- try {
5625
- const path = 'maplestory/v1/ranking/achievement';
5626
- const response = await axios__default["default"].get(path, {
5627
- baseURL: MapleStoryApi.BASE_URL,
5628
- timeout: this.timeout,
5629
- headers: this.buildHeaders(),
5630
- params: query,
5631
- });
5632
- return new AchievementRankingResponseDto(response.data);
5633
- }
5634
- catch (e) {
5635
- if (e instanceof axios.AxiosError) {
5636
- const errorBody = e.response.data;
5637
- throw new MapleStoryApiError(errorBody);
5638
- }
5639
- throw e;
5640
- }
5817
+ const { data } = await this.client.get(path, {
5818
+ params: query,
5819
+ });
5820
+ return new AchievementRankingResponseDto(data);
5821
+ }
5822
+ //#endregion
5823
+ //#region 공지 정보 조회
5824
+ /**
5825
+ * 메이플스토리 공지사항에 최근 등록된 게시글 20개를 조회합니다.
5826
+ *
5827
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려) 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5828
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5829
+ */
5830
+ async getNoticeList() {
5831
+ const path = 'maplestory/v1/notice';
5832
+ const { data } = await this.client.get(path);
5833
+ return new NoticeListDto(data);
5834
+ }
5835
+ /**
5836
+ * 메이플스토리 공지사항 게시글 세부 사항을 조회합니다.
5837
+ *
5838
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5839
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5840
+ * @param noticeId 공지 식별자
5841
+ */
5842
+ async getNoticeDetail(noticeId) {
5843
+ const path = 'maplestory/v1/notice/detail';
5844
+ const query = {
5845
+ notice_id: noticeId,
5846
+ };
5847
+ const { data } = await this.client.get(path, {
5848
+ params: query,
5849
+ });
5850
+ return new NoticeDetailDto(data);
5851
+ }
5852
+ /**
5853
+ * 메이플스토리 업데이트에 최근 등록된 게시글 20개를 조회합니다.
5854
+ *
5855
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5856
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5857
+ */
5858
+ async getUpdateNoticeList() {
5859
+ const path = 'maplestory/v1/notice-update';
5860
+ const { data } = await this.client.get(path);
5861
+ return new UpdateNoticeListDto(data);
5862
+ }
5863
+ /**
5864
+ * 메이플스토리 업데이트 게시글 세부 사항을 조회합니다.
5865
+ *
5866
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5867
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5868
+ * @param noticeId 공지 식별자
5869
+ */
5870
+ async getUpdateNoticeDetail(noticeId) {
5871
+ const path = 'maplestory/v1/notice-update/detail';
5872
+ const query = {
5873
+ notice_id: noticeId,
5874
+ };
5875
+ const { data } = await this.client.get(path, {
5876
+ params: query,
5877
+ });
5878
+ return new UpdateNoticeDetailDto(data);
5879
+ }
5880
+ /**
5881
+ * 메이플스토리 진행 중 이벤트에 최근 등록된 공지사항 20개를 조회합니다.
5882
+ *
5883
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5884
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5885
+ */
5886
+ async getEventNoticeList() {
5887
+ const path = 'maplestory/v1/notice-event';
5888
+ const { data } = await this.client.get(path);
5889
+ return new EventNoticeListDto(data);
5890
+ }
5891
+ /**
5892
+ * 메이플스토리 진행 중 이벤트 게시글 세부 사항을 조회합니다.
5893
+ *
5894
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5895
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5896
+ * @param noticeId 공지 식별자
5897
+ */
5898
+ async getEventNoticeDetail(noticeId) {
5899
+ const path = 'maplestory/v1/notice-event/detail';
5900
+ const query = {
5901
+ notice_id: noticeId,
5902
+ };
5903
+ const { data } = await this.client.get(path, {
5904
+ params: query,
5905
+ });
5906
+ return new EventNoticeDetailDto(data);
5907
+ }
5908
+ /**
5909
+ * 메이플스토리 캐시샵 공지에 최근 등록된 공지사항 20개를 조회합니다.
5910
+ *
5911
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5912
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5913
+ */
5914
+ async getCashshopNoticeList() {
5915
+ const path = 'maplestory/v1/notice-cashshop';
5916
+ const { data } = await this.client.get(path);
5917
+ return new CashshopNoticeListDto(data);
5918
+ }
5919
+ /**
5920
+ * 메이플스토리 캐시샵 공지 게시글 세부 사항을 조회합니다.
5921
+ *
5922
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5923
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5924
+ * @param noticeId 공지 식별자
5925
+ */
5926
+ async getCashshopNoticeDetail(noticeId) {
5927
+ const path = 'maplestory/v1/notice-cashshop/detail';
5928
+ const query = {
5929
+ notice_id: noticeId,
5930
+ };
5931
+ const { data } = await this.client.get(path, {
5932
+ params: query,
5933
+ });
5934
+ return new CashshopNoticeDetailDto(data);
5641
5935
  }
5642
5936
  //#endregion
5643
5937
  /**
@@ -5676,11 +5970,6 @@ class MapleStoryApi {
5676
5970
  const xml = (await xml2js__default["default"].parseStringPromise(response.data));
5677
5971
  return new InspectionInfoDto(xml);
5678
5972
  }
5679
- buildHeaders() {
5680
- return {
5681
- 'x-nxopen-api-key': this.apiKey,
5682
- };
5683
- }
5684
5973
  /**
5685
5974
  * API 서버의 데이터 갱신 시간에 따라 데이터가 조회 가능한 최신 날짜를 반환합니다.
5686
5975
  *
@@ -5731,6 +6020,9 @@ class MapleStoryApi {
5731
6020
 
5732
6021
  exports.AchievementRankingDto = AchievementRankingDto;
5733
6022
  exports.AchievementRankingResponseDto = AchievementRankingResponseDto;
6023
+ exports.CashshopNoticeDetailDto = CashshopNoticeDetailDto;
6024
+ exports.CashshopNoticeListDto = CashshopNoticeListDto;
6025
+ exports.CashshopNoticeListItemDto = CashshopNoticeListItemDto;
5734
6026
  exports.CharacterAbilityDto = CharacterAbilityDto;
5735
6027
  exports.CharacterAbilityInfoDto = CharacterAbilityInfoDto;
5736
6028
  exports.CharacterAbilityPresetDto = CharacterAbilityPresetDto;
@@ -5771,6 +6063,9 @@ exports.CharacterItemEquipmentTitleDto = CharacterItemEquipmentTitleDto;
5771
6063
  exports.CharacterItemEquipmentTotalOptionDto = CharacterItemEquipmentTotalOptionDto;
5772
6064
  exports.CharacterLinkSkillDto = CharacterLinkSkillDto;
5773
6065
  exports.CharacterLinkSkillInfoDto = CharacterLinkSkillInfoDto;
6066
+ exports.CharacterListAccountCharacterDto = CharacterListAccountCharacterDto;
6067
+ exports.CharacterListAccountDto = CharacterListAccountDto;
6068
+ exports.CharacterListDto = CharacterListDto;
5774
6069
  exports.CharacterPetEquipmentAutoSkillDto = CharacterPetEquipmentAutoSkillDto;
5775
6070
  exports.CharacterPetEquipmentDto = CharacterPetEquipmentDto;
5776
6071
  exports.CharacterPetEquipmentItemDto = CharacterPetEquipmentItemDto;
@@ -5779,7 +6074,8 @@ exports.CharacterPopularityDto = CharacterPopularityDto;
5779
6074
  exports.CharacterPropensityDto = CharacterPropensityDto;
5780
6075
  exports.CharacterSetEffectDto = CharacterSetEffectDto;
5781
6076
  exports.CharacterSetEffectInfoDto = CharacterSetEffectInfoDto;
5782
- exports.CharacterSetEffectOptionInfoDto = CharacterSetEffectOptionInfoDto;
6077
+ exports.CharacterSetEffectOptionFullDto = CharacterSetEffectOptionFullDto;
6078
+ exports.CharacterSetEffectSetDto = CharacterSetEffectSetDto;
5783
6079
  exports.CharacterSkillDto = CharacterSkillDto;
5784
6080
  exports.CharacterSkillInfoDto = CharacterSkillInfoDto;
5785
6081
  exports.CharacterStatDto = CharacterStatDto;
@@ -5792,6 +6088,9 @@ exports.CubeHistoryResponseDto = CubeHistoryResponseDto;
5792
6088
  exports.CubeResultOptionDto = CubeResultOptionDto;
5793
6089
  exports.DojangRankingDto = DojangRankingDto;
5794
6090
  exports.DojangRankingResponseDto = DojangRankingResponseDto;
6091
+ exports.EventNoticeDetailDto = EventNoticeDetailDto;
6092
+ exports.EventNoticeListDto = EventNoticeListDto;
6093
+ exports.EventNoticeListItemDto = EventNoticeListItemDto;
5795
6094
  exports.GuildBasicDto = GuildBasicDto;
5796
6095
  exports.GuildDto = GuildDto;
5797
6096
  exports.GuildRankingDto = GuildRankingDto;
@@ -5800,6 +6099,9 @@ exports.GuildSkillDto = GuildSkillDto;
5800
6099
  exports.InspectionInfoDto = InspectionInfoDto;
5801
6100
  exports.MapleStoryApi = MapleStoryApi;
5802
6101
  exports.MapleStoryApiError = MapleStoryApiError;
6102
+ exports.NoticeDetailDto = NoticeDetailDto;
6103
+ exports.NoticeListDto = NoticeListDto;
6104
+ exports.NoticeListItemDto = NoticeListItemDto;
5803
6105
  exports.OverallRankingDto = OverallRankingDto;
5804
6106
  exports.OverallRankingResponseDto = OverallRankingResponseDto;
5805
6107
  exports.PotentialHistoryDto = PotentialHistoryDto;
@@ -5819,6 +6121,10 @@ exports.UnionRaiderBlockDto = UnionRaiderBlockDto;
5819
6121
  exports.UnionRaiderBlockPositionDto = UnionRaiderBlockPositionDto;
5820
6122
  exports.UnionRaiderDto = UnionRaiderDto;
5821
6123
  exports.UnionRaiderInnerStatDto = UnionRaiderInnerStatDto;
6124
+ exports.UnionRaiderPresetDto = UnionRaiderPresetDto;
5822
6125
  exports.UnionRankingDto = UnionRankingDto;
5823
6126
  exports.UnionRankingResponseDto = UnionRankingResponseDto;
6127
+ exports.UpdateNoticeDetailDto = UpdateNoticeDetailDto;
6128
+ exports.UpdateNoticeListDto = UpdateNoticeListDto;
6129
+ exports.UpdateNoticeListItemDto = UpdateNoticeListItemDto;
5824
6130
  exports.potentialOptionGradeFromString = potentialOptionGradeFromString;