maplestory-openapi 2.4.1 → 2.7.2

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 (96) hide show
  1. package/README.md +51 -41
  2. package/dist/index.js +1158 -393
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.mjs +1141 -393
  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 +4 -3
  9. package/types/maplestory/api/dto/character/characterAndroidEquipmentPresetDto.d.ts +5 -4
  10. package/types/maplestory/api/dto/character/characterAndroidEquipmentSkinDto.d.ts +28 -0
  11. package/types/maplestory/api/dto/character/characterBasicDto.d.ts +21 -1
  12. package/types/maplestory/api/dto/character/characterBeautyEquipmentDto.d.ts +6 -5
  13. package/types/maplestory/api/dto/character/characterBeautyEquipmentSkinDto.d.ts +28 -0
  14. package/types/maplestory/api/dto/character/characterCashItemEquipmentDto.d.ts +1 -1
  15. package/types/maplestory/api/dto/character/characterDojangDto.d.ts +1 -1
  16. package/types/maplestory/api/dto/character/characterHexaMatrixDto.d.ts +1 -1
  17. package/types/maplestory/api/dto/character/characterHexaMatrixStatDto.d.ts +11 -3
  18. package/types/maplestory/api/dto/character/characterHyperStatDto.d.ts +1 -1
  19. package/types/maplestory/api/dto/character/characterItemEquipmentDto.d.ts +1 -1
  20. package/types/maplestory/api/dto/character/characterItemEquipmentExceptionalOptionDto.d.ts +4 -0
  21. package/types/maplestory/api/dto/character/characterLinkSkillDto.d.ts +1 -1
  22. package/types/maplestory/api/dto/character/characterLinkSkillInfoDto.d.ts +4 -0
  23. package/types/maplestory/api/dto/character/characterListAccountCharacterDto.d.ts +28 -0
  24. package/types/maplestory/api/dto/character/characterListAccountDto.d.ts +17 -0
  25. package/types/maplestory/api/dto/character/characterListDto.d.ts +13 -0
  26. package/types/maplestory/api/dto/character/characterPetEquipmentDto.d.ts +1 -1
  27. package/types/maplestory/api/dto/character/characterPopularityDto.d.ts +1 -1
  28. package/types/maplestory/api/dto/character/characterPropensityDto.d.ts +1 -1
  29. package/types/maplestory/api/dto/character/characterSetEffectDto.d.ts +3 -3
  30. package/types/maplestory/api/dto/character/characterSetEffectInfoDto.d.ts +5 -10
  31. package/types/maplestory/api/dto/character/characterSetEffectOptionFullDto.d.ts +16 -0
  32. package/types/maplestory/api/dto/character/characterSetEffectSetDto.d.ts +26 -0
  33. package/types/maplestory/api/dto/character/characterSkillDto.d.ts +1 -1
  34. package/types/maplestory/api/dto/character/characterSkillInfoDto.d.ts +4 -0
  35. package/types/maplestory/api/dto/character/characterStatDto.d.ts +1 -1
  36. package/types/maplestory/api/dto/character/characterSymbolEquipmentDto.d.ts +1 -1
  37. package/types/maplestory/api/dto/character/characterVMatrixCoreEquipmentDto.d.ts +2 -2
  38. package/types/maplestory/api/dto/character/characterVMatrixDto.d.ts +1 -1
  39. package/types/maplestory/api/dto/guild/guildBasicDto.d.ts +1 -9
  40. package/types/maplestory/api/dto/history/starforceHistoryDto.d.ts +1 -1
  41. package/types/maplestory/api/dto/notice/cashshopNoticeDetailDto.d.ts +40 -0
  42. package/types/maplestory/api/dto/notice/cashshopNoticeListDto.d.ts +13 -0
  43. package/types/maplestory/api/dto/notice/cashshopNoticeListItemDto.d.ts +40 -0
  44. package/types/maplestory/api/dto/notice/eventNoticeDetailDto.d.ts +32 -0
  45. package/types/maplestory/api/dto/notice/eventNoticeListDto.d.ts +13 -0
  46. package/types/maplestory/api/dto/notice/eventNoticeListItemDto.d.ts +32 -0
  47. package/types/maplestory/api/dto/notice/noticeDetailDto.d.ts +24 -0
  48. package/types/maplestory/api/dto/notice/noticeListDto.d.ts +13 -0
  49. package/types/maplestory/api/dto/notice/noticeListItemDto.d.ts +24 -0
  50. package/types/maplestory/api/dto/notice/updateNoticeDetailDto.d.ts +24 -0
  51. package/types/maplestory/api/dto/notice/updateNoticeListDto.d.ts +13 -0
  52. package/types/maplestory/api/dto/notice/updateNoticeListItemDto.d.ts +24 -0
  53. package/types/maplestory/api/dto/union/unionArtifactDto.d.ts +1 -1
  54. package/types/maplestory/api/dto/union/unionDto.d.ts +1 -1
  55. package/types/maplestory/api/dto/union/unionRaiderDto.d.ts +26 -1
  56. package/types/maplestory/api/dto/union/unionRaiderPresetDto.d.ts +26 -0
  57. package/types/maplestory/api/mapleStoryApi.d.ts +126 -25
  58. package/types/maplestory/api/mapleStoryApiError.d.ts +2 -1
  59. package/types/maplestory/api/response/character/characterAbilityDtoBody.d.ts +1 -1
  60. package/types/maplestory/api/response/character/characterAndroidEquipmentDtoBody.d.ts +11 -4
  61. package/types/maplestory/api/response/character/characterBasicDtoBody.d.ts +4 -1
  62. package/types/maplestory/api/response/character/characterBeautyEquipmentDtoBody.d.ts +11 -4
  63. package/types/maplestory/api/response/character/characterCashItemEquipmentDtoBody.d.ts +1 -1
  64. package/types/maplestory/api/response/character/characterDojangDtoBody.d.ts +1 -1
  65. package/types/maplestory/api/response/character/characterHexaMatrixDtoBody.d.ts +1 -1
  66. package/types/maplestory/api/response/character/characterHexaMatrixStatDtoBody.d.ts +3 -1
  67. package/types/maplestory/api/response/character/characterHyperStatDtoBody.d.ts +1 -1
  68. package/types/maplestory/api/response/character/characterItemEquipmentDtoBody.d.ts +3 -2
  69. package/types/maplestory/api/response/character/characterLinkSkillDtoBody.d.ts +2 -1
  70. package/types/maplestory/api/response/character/characterListDtoBody.d.ts +15 -0
  71. package/types/maplestory/api/response/character/characterPetEquipmentDtoBody.d.ts +1 -1
  72. package/types/maplestory/api/response/character/characterPopularityDtoBody.d.ts +1 -1
  73. package/types/maplestory/api/response/character/characterPropensityDtoBody.d.ts +1 -1
  74. package/types/maplestory/api/response/character/characterSetEffectDtoBody.d.ts +11 -6
  75. package/types/maplestory/api/response/character/characterSkillDtoBody.d.ts +2 -1
  76. package/types/maplestory/api/response/character/characterStatDtoBody.d.ts +1 -1
  77. package/types/maplestory/api/response/character/characterSymbolEquipmentDtoBody.d.ts +1 -1
  78. package/types/maplestory/api/response/character/characterVMatrixDtoBody.d.ts +3 -3
  79. package/types/maplestory/api/response/guild/guildBasicDtoBody.d.ts +1 -3
  80. package/types/maplestory/api/response/history/cubeHistoryDtoBody.d.ts +1 -1
  81. package/types/maplestory/api/response/history/cubeHistoryResponseDtoBody.d.ts +1 -1
  82. package/types/maplestory/api/response/history/starforceHistoryDtoBody.d.ts +2 -2
  83. package/types/maplestory/api/response/history/starforceHistoryResponseDtoBody.d.ts +1 -1
  84. package/types/maplestory/api/response/notice/cashshopNoticeDetailDtoBody.d.ts +10 -0
  85. package/types/maplestory/api/response/notice/cashshopNoticeListDtoBody.d.ts +13 -0
  86. package/types/maplestory/api/response/notice/eventNoticeDetailDtoBody.d.ts +9 -0
  87. package/types/maplestory/api/response/notice/eventNoticeListDtoBody.d.ts +12 -0
  88. package/types/maplestory/api/response/notice/noticeDetailDtoBody.d.ts +7 -0
  89. package/types/maplestory/api/response/notice/noticeListDtoBody.d.ts +10 -0
  90. package/types/maplestory/api/response/notice/updateNoticeDetailDtoBody.d.ts +7 -0
  91. package/types/maplestory/api/response/notice/updateNoticeListDtoBody.d.ts +10 -0
  92. package/types/maplestory/api/response/ranking/theSeedRankingResponseDtoBody.d.ts +2 -3
  93. package/types/maplestory/api/response/union/unionArtifactDtoBody.d.ts +1 -1
  94. package/types/maplestory/api/response/union/unionDtoBody.d.ts +1 -1
  95. package/types/maplestory/api/response/union/unionRaiderDtoBody.d.ts +14 -2
  96. 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;
@@ -296,6 +296,40 @@ class CharacterAndroidEquipmentHairDto {
296
296
  }
297
297
  }
298
298
 
299
+ /**
300
+ * 캐릭터 안드로이드 피부 정보
301
+ */
302
+ class CharacterAndroidEquipmentSkinDto {
303
+ /**
304
+ * 피부 명
305
+ */
306
+ skinName;
307
+ /**
308
+ * 색상 계열
309
+ */
310
+ colorStyle;
311
+ /**
312
+ * 피부 색조
313
+ */
314
+ hue;
315
+ /**
316
+ * 피부 채도
317
+ */
318
+ saturation;
319
+ /**
320
+ * 피부 명도
321
+ */
322
+ brightness;
323
+ constructor(obj) {
324
+ const { skin_name, color_style, hue, saturation, brightness } = obj;
325
+ this.skinName = skin_name;
326
+ this.colorStyle = color_style;
327
+ this.hue = hue;
328
+ this.saturation = saturation;
329
+ this.brightness = brightness;
330
+ }
331
+ }
332
+
299
333
  /**
300
334
  * 캐릭터 안드로이드 프리셋 정보
301
335
  */
@@ -324,10 +358,6 @@ class CharacterAndroidEquipmentPresetDto {
324
358
  * 안드로이드 등급
325
359
  */
326
360
  androidGrade;
327
- /**
328
- * 안드로이드 피부 명
329
- */
330
- androidSkinName;
331
361
  /**
332
362
  * 안드로이드 헤어 정보
333
363
  */
@@ -336,6 +366,10 @@ class CharacterAndroidEquipmentPresetDto {
336
366
  * 안드로이드 성형 정보
337
367
  */
338
368
  androidFace;
369
+ /**
370
+ * 안드로이드 피부 정보
371
+ */
372
+ androidSkin;
339
373
  /**
340
374
  * 안드로이드 이어센서 클립 적용 여부
341
375
  */
@@ -349,16 +383,16 @@ class CharacterAndroidEquipmentPresetDto {
349
383
  */
350
384
  androidShopUsableFlag;
351
385
  constructor(obj) {
352
- const { android_name, android_nickname, android_icon, android_description, android_gender, android_grade, android_skin_name, android_hair, android_face, android_ear_sensor_clip_flag, android_non_humanoid_flag, android_shop_usable_flag, } = obj;
386
+ const { android_name, android_nickname, android_icon, android_description, android_gender, android_grade, android_hair, android_face, android_skin, android_ear_sensor_clip_flag, android_non_humanoid_flag, android_shop_usable_flag, } = obj;
353
387
  this.androidName = android_name;
354
388
  this.androidNickname = android_nickname;
355
389
  this.androidIcon = android_icon;
356
390
  this.androidDescription = android_description;
357
391
  this.androidGender = android_gender;
358
392
  this.androidGrade = android_grade;
359
- this.androidSkinName = android_skin_name;
360
393
  this.androidHair = new CharacterAndroidEquipmentHairDto(android_hair);
361
394
  this.androidFace = new CharacterAndroidEquipmentFaceDto(android_face);
395
+ this.androidSkin = android_skin ? new CharacterAndroidEquipmentSkinDto(android_skin) : null;
362
396
  this.androidEarSensorClipFlag = android_ear_sensor_clip_flag;
363
397
  this.androidNonHumanoidFlag = android_non_humanoid_flag;
364
398
  this.androidShopUsableFlag = android_shop_usable_flag;
@@ -398,9 +432,9 @@ class CharacterAndroidEquipmentDto {
398
432
  */
399
433
  androidFace;
400
434
  /**
401
- * 안드로이드 피부
435
+ * 안드로이드 피부 정보
402
436
  */
403
- androidSkinName;
437
+ androidSkin;
404
438
  /**
405
439
  * 안드로이드 캐시 아이템 장착 정보
406
440
  */
@@ -442,15 +476,15 @@ class CharacterAndroidEquipmentDto {
442
476
  */
443
477
  androidPreset3;
444
478
  constructor(obj) {
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);
479
+ const { date, android_name, android_nickname, android_icon, android_description, android_hair, android_face, android_skin, 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;
480
+ this.date = date ? new Date(date) : null;
447
481
  this.androidName = android_name;
448
482
  this.androidNickname = android_nickname;
449
483
  this.androidIcon = android_icon;
450
484
  this.androidDescription = android_description;
451
485
  this.androidHair = new CharacterAndroidEquipmentHairDto(android_hair);
452
486
  this.androidFace = new CharacterAndroidEquipmentFaceDto(android_face);
453
- this.androidSkinName = android_skin_name;
487
+ this.androidSkin = android_skin ? new CharacterAndroidEquipmentSkinDto(android_skin) : null;
454
488
  this.androidCashItemEquipment = android_cash_item_equipment.map((equipment) => new CharacterAndroidCashItemEquipmentDto(equipment));
455
489
  this.androidEarSensorClipFlag = android_ear_sensor_clip_flag ?? null;
456
490
  this.androidGender = android_gender;
@@ -509,9 +543,21 @@ class CharacterBasicDto {
509
543
  * 캐릭터 외형 이미지
510
544
  */
511
545
  characterImage;
546
+ /**
547
+ * 캐릭터 생성일
548
+ */
549
+ characterDateCreate;
550
+ /**
551
+ * 최근 7일간 접속 여부
552
+ */
553
+ accessFlag;
554
+ /**
555
+ * 해방 퀘스트 완료 여부
556
+ */
557
+ liberationQuestClearFlag;
512
558
  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);
559
+ 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;
560
+ this.date = date ? new Date(date) : null;
515
561
  this.characterName = character_name;
516
562
  this.worldName = world_name;
517
563
  this.characterGender = character_gender;
@@ -522,6 +568,21 @@ class CharacterBasicDto {
522
568
  this.characterExpRate = character_exp_rate;
523
569
  this.characterGuildName = character_guild_name;
524
570
  this.characterImage = character_image;
571
+ this.characterDateCreate = new Date(character_date_create);
572
+ this.accessFlag = access_flag;
573
+ this.liberationQuestClearFlag = liberation_quest_clear_flag;
574
+ }
575
+ /**
576
+ * 최근 7일간 접속 여부
577
+ */
578
+ get isAccessFlag() {
579
+ return this.accessFlag === 'true';
580
+ }
581
+ /**
582
+ * 해방 퀘스트 완료 여부
583
+ */
584
+ get isLiberationQuestClearFlag() {
585
+ return this.liberationQuestClearFlag === 'true';
525
586
  }
526
587
  }
527
588
 
@@ -583,6 +644,40 @@ class CharacterBeautyEquipmentHairDto {
583
644
  }
584
645
  }
585
646
 
647
+ /**
648
+ * 캐릭터 피부 정보
649
+ */
650
+ class CharacterBeautyEquipmentSkinDto {
651
+ /**
652
+ * 피부 명
653
+ */
654
+ skinName;
655
+ /**
656
+ * 색상 계열
657
+ */
658
+ colorStyle;
659
+ /**
660
+ * 피부 색조
661
+ */
662
+ hue;
663
+ /**
664
+ * 피부 채도
665
+ */
666
+ saturation;
667
+ /**
668
+ * 피부 명도
669
+ */
670
+ brightness;
671
+ constructor(obj) {
672
+ const { skin_name, color_style, hue, saturation, brightness } = obj;
673
+ this.skinName = skin_name;
674
+ this.colorStyle = color_style;
675
+ this.hue = hue;
676
+ this.saturation = saturation;
677
+ this.brightness = brightness;
678
+ }
679
+ }
680
+
586
681
  /**
587
682
  * 캐릭터 헤어, 성형, 피부 정보
588
683
  */
@@ -610,10 +705,10 @@ class CharacterBeautyEquipmentDto {
610
705
  */
611
706
  characterFace;
612
707
  /**
613
- * 피부 명<br>
708
+ * 캐릭터 피부 정보<br>
614
709
  * (제로인 경우 알파, 엔젤릭버스터인 경우 일반 모드)
615
710
  */
616
- characterSkinName;
711
+ characterSkin;
617
712
  /**
618
713
  * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 헤어 정보
619
714
  */
@@ -623,24 +718,26 @@ class CharacterBeautyEquipmentDto {
623
718
  */
624
719
  additionalCharacterFace;
625
720
  /**
626
- * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 피부
721
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 피부 정보
627
722
  */
628
- additionalCharacterSkinName;
723
+ additionalCharacterSkin;
629
724
  constructor(obj) {
630
- 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);
725
+ const { date, character_gender, character_class, character_hair, character_face, character_skin, additional_character_hair, additional_character_face, additional_character_skin, } = obj;
726
+ this.date = date ? new Date(date) : null;
632
727
  this.characterGender = character_gender;
633
728
  this.characterClass = character_class;
634
729
  this.characterHair = new CharacterBeautyEquipmentHairDto(character_hair);
635
730
  this.characterFace = new CharacterBeautyEquipmentFaceDto(character_face);
636
- this.characterSkinName = character_skin_name;
731
+ this.characterSkin = new CharacterBeautyEquipmentSkinDto(character_skin);
637
732
  this.additionalCharacterHair = additional_character_hair
638
733
  ? new CharacterBeautyEquipmentHairDto(additional_character_hair)
639
734
  : null;
640
735
  this.additionalCharacterFace = additional_character_face
641
736
  ? new CharacterBeautyEquipmentFaceDto(additional_character_face)
642
737
  : null;
643
- this.additionalCharacterSkinName = additional_character_skin_name;
738
+ this.additionalCharacterSkin = additional_character_skin
739
+ ? new CharacterBeautyEquipmentSkinDto(additional_character_skin)
740
+ : null;
644
741
  }
645
742
  }
646
743
 
@@ -812,7 +909,7 @@ class CharacterCashItemEquipmentDto {
812
909
  additionalCashItemEquipmentPreset3;
813
910
  constructor(obj) {
814
911
  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);
912
+ this.date = date ? new Date(date) : null;
816
913
  this.characterGender = character_gender;
817
914
  this.characterClass = character_class;
818
915
  this.presetNo = preset_no;
@@ -861,7 +958,7 @@ class CharacterDojangDto {
861
958
  dojangBestTime;
862
959
  constructor(obj) {
863
960
  const { date, character_class, world_name, dojang_best_floor, date_dojang_record, dojang_best_time, } = obj;
864
- this.date = new Date(date);
961
+ this.date = date ? new Date(date) : null;
865
962
  this.characterClass = character_class;
866
963
  this.worldName = world_name;
867
964
  this.dojangBestFloor = dojang_best_floor;
@@ -943,7 +1040,7 @@ class CharacterHexaMatrixDto {
943
1040
  characterHexaCoreEquipment;
944
1041
  constructor(obj) {
945
1042
  const { date, character_hexa_core_equipment } = obj;
946
- this.date = new Date(date);
1043
+ this.date = date ? new Date(date) : null;
947
1044
  this.characterHexaCoreEquipment = character_hexa_core_equipment.map((equipment) => new CharacterHexaMatrixEquipmentDto(equipment));
948
1045
  }
949
1046
  }
@@ -1010,19 +1107,29 @@ class CharacterHexaMatrixStatDto {
1010
1107
  */
1011
1108
  characterClass;
1012
1109
  /**
1013
- * HEXA 스탯 코어 정보
1110
+ * HEXA 스탯 I 코어 정보
1014
1111
  */
1015
1112
  characterHexaStatCore;
1016
1113
  /**
1017
- * 프리셋 HEXA 스탯 코어 정보
1114
+ * HEXA 스탯 II 코어 정보
1115
+ */
1116
+ characterHexaStatCore2;
1117
+ /**
1118
+ * 프리셋 HEXA 스탯 I 코어 정보
1018
1119
  */
1019
1120
  presetHexaStatCore;
1121
+ /**
1122
+ * 프리셋 HEXA 스탯 II 코어 정보
1123
+ */
1124
+ presetHexaStatCore2;
1020
1125
  constructor(obj) {
1021
- const { date, character_class, character_hexa_stat_core, preset_hexa_stat_core, } = obj;
1022
- this.date = new Date(date);
1126
+ const { date, character_class, character_hexa_stat_core, character_hexa_stat_core_2, preset_hexa_stat_core, preset_hexa_stat_core_2, } = obj;
1127
+ this.date = date ? new Date(date) : null;
1023
1128
  this.characterClass = character_class;
1024
1129
  this.characterHexaStatCore = character_hexa_stat_core.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1130
+ this.characterHexaStatCore2 = character_hexa_stat_core_2.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1025
1131
  this.presetHexaStatCore = preset_hexa_stat_core.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1132
+ this.presetHexaStatCore2 = preset_hexa_stat_core_2.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1026
1133
  }
1027
1134
  }
1028
1135
 
@@ -1101,7 +1208,7 @@ class CharacterHyperStatDto {
1101
1208
  hyperStatPreset3RemainPoint;
1102
1209
  constructor(obj) {
1103
1210
  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);
1211
+ this.date = date ? new Date(date) : null;
1105
1212
  this.characterClass = character_class;
1106
1213
  this.usePresetNo = use_preset_no;
1107
1214
  this.useAvailableHyperStat = use_available_hyper_stat;
@@ -1392,8 +1499,12 @@ class CharacterItemEquipmentExceptionalOptionDto {
1392
1499
  * 마력
1393
1500
  */
1394
1501
  magicPower;
1502
+ /**
1503
+ * 익셉셔널 강화 적용 횟수
1504
+ */
1505
+ exceptionalUpgrade;
1395
1506
  constructor(obj) {
1396
- const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power } = obj;
1507
+ const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power, exceptional_upgrade } = obj;
1397
1508
  this.str = str;
1398
1509
  this.dex = dex;
1399
1510
  this.int = int;
@@ -1402,6 +1513,7 @@ class CharacterItemEquipmentExceptionalOptionDto {
1402
1513
  this.maxMp = max_mp;
1403
1514
  this.attackPower = attack_power;
1404
1515
  this.magicPower = magic_power;
1516
+ this.exceptionalUpgrade = exceptional_upgrade;
1405
1517
  }
1406
1518
  }
1407
1519
 
@@ -2150,7 +2262,7 @@ class CharacterItemEquipmentDto {
2150
2262
  mechanicEquipment;
2151
2263
  constructor(obj) {
2152
2264
  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);
2265
+ this.date = date ? new Date(date) : null;
2154
2266
  this.characterGender = character_gender;
2155
2267
  this.characterClass = character_class;
2156
2268
  this.presetNo = preset_no;
@@ -2184,16 +2296,21 @@ class CharacterLinkSkillInfoDto {
2184
2296
  * 스킬 효과
2185
2297
  */
2186
2298
  skillEffect;
2299
+ /**
2300
+ * 다음 레벨의 스킬 효과
2301
+ */
2302
+ skillEffectNext;
2187
2303
  /**
2188
2304
  * 스킬 아이콘
2189
2305
  */
2190
2306
  skillIcon;
2191
2307
  constructor(obj) {
2192
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2308
+ const { skill_name, skill_description, skill_level, skill_effect, skill_effect_next, skill_icon, } = obj;
2193
2309
  this.skillName = skill_name;
2194
2310
  this.skillDescription = skill_description;
2195
2311
  this.skillLevel = skill_level;
2196
2312
  this.skillEffect = skill_effect;
2313
+ this.skillEffectNext = skill_effect_next;
2197
2314
  this.skillIcon = skill_icon;
2198
2315
  }
2199
2316
  }
@@ -2244,7 +2361,7 @@ class CharacterLinkSkillDto {
2244
2361
  characterOwnedLinkSkillPreset3;
2245
2362
  constructor(obj) {
2246
2363
  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);
2364
+ this.date = date ? new Date(date) : null;
2248
2365
  this.characterClass = character_class;
2249
2366
  this.characterLinkSkill = character_link_skill.map((skill) => new CharacterLinkSkillInfoDto(skill));
2250
2367
  this.characterLinkSkillPreset1 = character_link_skill_preset_1.map((skill) => new CharacterLinkSkillInfoDto(skill));
@@ -2257,6 +2374,73 @@ class CharacterLinkSkillDto {
2257
2374
  }
2258
2375
  }
2259
2376
 
2377
+ /**
2378
+ * 캐릭터 정보
2379
+ */
2380
+ class CharacterListAccountCharacterDto {
2381
+ /**
2382
+ * 캐릭터 식별자
2383
+ */
2384
+ ocid;
2385
+ /**
2386
+ * 캐릭터 명
2387
+ */
2388
+ characterName;
2389
+ /**
2390
+ * 월드 명
2391
+ */
2392
+ worldName;
2393
+ /**
2394
+ * 캐릭터 직업
2395
+ */
2396
+ characterClass;
2397
+ /**
2398
+ * 캐릭터 레벨
2399
+ */
2400
+ characterLevel;
2401
+ constructor(obj) {
2402
+ const { ocid, character_name, world_name, character_class, character_level, } = obj;
2403
+ this.ocid = ocid;
2404
+ this.characterName = character_name;
2405
+ this.worldName = world_name;
2406
+ this.characterClass = character_class;
2407
+ this.characterLevel = character_level;
2408
+ }
2409
+ }
2410
+
2411
+ /**
2412
+ * 메이플스토리 계정
2413
+ */
2414
+ class CharacterListAccountDto {
2415
+ /**
2416
+ * 메이플스토리 계정 식별자
2417
+ */
2418
+ accountId;
2419
+ /**
2420
+ * 캐릭터 목록
2421
+ */
2422
+ characterList;
2423
+ constructor(obj) {
2424
+ const { account_id, character_list } = obj;
2425
+ this.accountId = account_id;
2426
+ this.characterList = character_list.map(character => new CharacterListAccountCharacterDto(character));
2427
+ }
2428
+ }
2429
+
2430
+ /**
2431
+ * 계정의 보유 캐릭터 목록
2432
+ */
2433
+ class CharacterListDto {
2434
+ /**
2435
+ * 메이플스토리 계정 목록
2436
+ */
2437
+ accountList;
2438
+ constructor(obj) {
2439
+ const { account_list } = obj;
2440
+ this.accountList = account_list.map(account => new CharacterListAccountDto(account));
2441
+ }
2442
+ }
2443
+
2260
2444
  /**
2261
2445
  * 캐릭터 펫 장비 자동 스킬 정보
2262
2446
  */
@@ -2496,7 +2680,7 @@ class CharacterPetEquipmentDto {
2496
2680
  pet3AppearanceIcon;
2497
2681
  constructor(obj) {
2498
2682
  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);
2683
+ this.date = date ? new Date(date) : null;
2500
2684
  this.pet1Name = pet_1_name;
2501
2685
  this.pet1Nickname = pet_1_nickname;
2502
2686
  this.pet1Icon = pet_1_icon;
@@ -2547,7 +2731,7 @@ class CharacterPopularityDto {
2547
2731
  popularity;
2548
2732
  constructor(obj) {
2549
2733
  const { date, popularity } = obj;
2550
- this.date = new Date(date);
2734
+ this.date = date ? new Date(date) : null;
2551
2735
  this.popularity = popularity;
2552
2736
  }
2553
2737
  }
@@ -2583,7 +2767,7 @@ class CharacterPropensityDto {
2583
2767
  charmLevel;
2584
2768
  constructor(obj) {
2585
2769
  const { date, charisma_level, sensibility_level, insight_level, willingness_level, handicraft_level, charm_level, } = obj;
2586
- this.date = new Date(date);
2770
+ this.date = date ? new Date(date) : null;
2587
2771
  this.charismaLevel = charisma_level;
2588
2772
  this.sensibilityLevel = sensibility_level;
2589
2773
  this.insightLevel = insight_level;
@@ -2594,15 +2778,15 @@ class CharacterPropensityDto {
2594
2778
  }
2595
2779
 
2596
2780
  /**
2597
- * 캐릭터 세트 효과 옵션 정보
2781
+ * 적용 중인 세트 효과 정보
2598
2782
  */
2599
- class CharacterSetEffectOptionInfoDto {
2783
+ class CharacterSetEffectInfoDto {
2600
2784
  /**
2601
2785
  * 세트 효과 레벨 (장비 수)
2602
2786
  */
2603
2787
  setCount;
2604
2788
  /**
2605
- * 적용 중인 세트 효과
2789
+ * 세트 효과
2606
2790
  */
2607
2791
  setOption;
2608
2792
  constructor(obj) {
@@ -2613,9 +2797,28 @@ class CharacterSetEffectOptionInfoDto {
2613
2797
  }
2614
2798
 
2615
2799
  /**
2616
- * 캐릭터 세트 효과 정보
2800
+ * 모든 세트 효과 정보
2617
2801
  */
2618
- class CharacterSetEffectInfoDto {
2802
+ class CharacterSetEffectOptionFullDto {
2803
+ /**
2804
+ * 세트 효과 레벨 (장비 수)
2805
+ */
2806
+ setCount;
2807
+ /**
2808
+ * 세트 효과
2809
+ */
2810
+ setOption;
2811
+ constructor(obj) {
2812
+ const { set_count, set_option } = obj;
2813
+ this.setCount = set_count;
2814
+ this.setOption = set_option;
2815
+ }
2816
+ }
2817
+
2818
+ /**
2819
+ * 세트 효과 정보
2820
+ */
2821
+ class CharacterSetEffectSetDto {
2619
2822
  /**
2620
2823
  * 세트 효과 명
2621
2824
  */
@@ -2625,14 +2828,19 @@ class CharacterSetEffectInfoDto {
2625
2828
  */
2626
2829
  totalSetCount;
2627
2830
  /**
2628
- * 세트 효과 옵션
2831
+ * 적용 중인 세트 효과 정보
2629
2832
  */
2630
2833
  setEffectInfo;
2834
+ /**
2835
+ * 모든 세트 효과 정보
2836
+ */
2837
+ setOptionFull;
2631
2838
  constructor(obj) {
2632
- const { set_name, total_set_count, set_effect_info } = obj;
2839
+ const { set_name, total_set_count, set_effect_info, set_option_full } = obj;
2633
2840
  this.setName = set_name;
2634
2841
  this.totalSetCount = total_set_count;
2635
- this.setEffectInfo = set_effect_info.map((info) => new CharacterSetEffectOptionInfoDto(info));
2842
+ this.setEffectInfo = set_effect_info.map((info) => new CharacterSetEffectInfoDto(info));
2843
+ this.setOptionFull = set_option_full.map((info) => new CharacterSetEffectOptionFullDto(info));
2636
2844
  }
2637
2845
  }
2638
2846
 
@@ -2650,8 +2858,8 @@ class CharacterSetEffectDto {
2650
2858
  setEffect;
2651
2859
  constructor(obj) {
2652
2860
  const { date, set_effect } = obj;
2653
- this.date = new Date(date);
2654
- this.setEffect = set_effect.map((effect) => new CharacterSetEffectInfoDto(effect));
2861
+ this.date = date ? new Date(date) : null;
2862
+ this.setEffect = set_effect.map((effect) => new CharacterSetEffectSetDto(effect));
2655
2863
  }
2656
2864
  }
2657
2865
 
@@ -2675,16 +2883,21 @@ class CharacterSkillInfoDto {
2675
2883
  * 스킬 레벨 별 효과 설명
2676
2884
  */
2677
2885
  skillEffect;
2886
+ /**
2887
+ * 다음 스킬 레벨 효과 설명
2888
+ */
2889
+ skillEffectNext;
2678
2890
  /**
2679
2891
  * 스킬 아이콘
2680
2892
  */
2681
2893
  skillIcon;
2682
2894
  constructor(obj) {
2683
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2895
+ const { skill_name, skill_description, skill_level, skill_effect, skill_effect_next, skill_icon, } = obj;
2684
2896
  this.skillName = skill_name;
2685
2897
  this.skillDescription = skill_description;
2686
2898
  this.skillLevel = skill_level;
2687
2899
  this.skillEffect = skill_effect;
2900
+ this.skillEffectNext = skill_effect_next;
2688
2901
  this.skillIcon = skill_icon;
2689
2902
  }
2690
2903
  }
@@ -2711,7 +2924,7 @@ class CharacterSkillDto {
2711
2924
  characterSkill;
2712
2925
  constructor(obj) {
2713
2926
  const { date, character_class, character_skill_grade, character_skill } = obj;
2714
- this.date = new Date(date);
2927
+ this.date = date ? new Date(date) : null;
2715
2928
  this.characterClass = character_class;
2716
2929
  this.characterSkillGrade = character_skill_grade;
2717
2930
  this.characterSkill = character_skill.map((skill) => new CharacterSkillInfoDto(skill));
@@ -2740,7 +2953,7 @@ class CharacterStatDto {
2740
2953
  remainAP;
2741
2954
  constructor(obj) {
2742
2955
  const { date, character_class, final_stat, remain_ap } = obj;
2743
- this.date = new Date(date);
2956
+ this.date = date ? new Date(date) : null;
2744
2957
  this.characterClass = character_class;
2745
2958
  this.finalStat = final_stat.map((stat) => {
2746
2959
  return {
@@ -2839,7 +3052,7 @@ class CharacterSymbolEquipmentDto {
2839
3052
  symbol;
2840
3053
  constructor(obj) {
2841
3054
  const { date, character_class, symbol } = obj;
2842
- this.date = new Date(date);
3055
+ this.date = date ? new Date(date) : null;
2843
3056
  this.characterClass = character_class;
2844
3057
  this.symbol = symbol.map((s) => new CharacterSymbolEquipmentInfoDto(s));
2845
3058
  }
@@ -2916,7 +3129,7 @@ class CharacterVMatrixDto {
2916
3129
  characterVMatrixRemainSlotUpgradePoint;
2917
3130
  constructor(obj) {
2918
3131
  const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = obj;
2919
- this.date = new Date(date);
3132
+ this.date = date ? new Date(date) : null;
2920
3133
  this.characterClass = character_class;
2921
3134
  this.characterVCoreEquipment = character_v_core_equipment.map((equipment) => new CharacterVMatrixCodeEquipmentDto(equipment));
2922
3135
  this.characterVMatrixRemainSlotUpgradePoint =
@@ -3006,17 +3219,9 @@ class GuildBasicDto {
3006
3219
  * 노블레스 스킬 목록
3007
3220
  */
3008
3221
  guildNoblesseSkill;
3009
- /**
3010
- * 조합형 길드 마크
3011
- */
3012
- guildMark;
3013
- /**
3014
- * 커스텀 길드 마크 (base64 인코딩 형식)
3015
- */
3016
- guildMarkCustom;
3017
3222
  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);
3223
+ 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;
3224
+ this.date = date ? new Date(date) : null;
3020
3225
  this.worldName = world_name;
3021
3226
  this.guildName = guild_name;
3022
3227
  this.guildLevel = guild_level;
@@ -3027,8 +3232,6 @@ class GuildBasicDto {
3027
3232
  this.guildMember = guild_member;
3028
3233
  this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
3029
3234
  this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
3030
- this.guildMark = guild_mark;
3031
- this.guildMarkCustom = guild_mark_custom;
3032
3235
  }
3033
3236
  }
3034
3237
 
@@ -3502,7 +3705,7 @@ class StarforceHistoryDto {
3502
3705
  this.worldName = world_name;
3503
3706
  this.targetItem = target_item;
3504
3707
  this.dateCreate = new Date(date_create);
3505
- this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
3708
+ this.starforceEventList = starforce_event_list?.map((event) => new StarforceEventDto(event)) ?? null;
3506
3709
  }
3507
3710
  }
3508
3711
 
@@ -3560,146 +3763,496 @@ class InspectionInfoDto {
3560
3763
  }
3561
3764
 
3562
3765
  /**
3563
- * 업적 랭킹 정보
3766
+ * 캐시샵 공지 상세
3564
3767
  */
3565
- class AchievementRankingDto {
3566
- /**
3567
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3568
- */
3569
- date;
3768
+ class CashshopNoticeDetailDto {
3570
3769
  /**
3571
- * 업적 랭킹 순위
3770
+ * 공지 제목
3572
3771
  */
3573
- ranking;
3772
+ title;
3574
3773
  /**
3575
- * 캐릭터
3774
+ * 공지 링크
3576
3775
  */
3577
- characterName;
3776
+ url;
3578
3777
  /**
3579
- * 월드
3778
+ * 공지 본문
3580
3779
  */
3581
- worldName;
3780
+ contents;
3582
3781
  /**
3583
- * 직업
3782
+ * 공지 등록일
3584
3783
  */
3585
- className;
3784
+ date;
3586
3785
  /**
3587
- * 전직 직업 명
3786
+ * 판매 시작일
3588
3787
  */
3589
- subClassName;
3788
+ dateSaleStart;
3590
3789
  /**
3591
- * 업적 등급
3790
+ * 판매 종료일
3592
3791
  */
3593
- trophyGrade;
3792
+ dateSaleEnd;
3594
3793
  /**
3595
- * 업적 점수
3794
+ * 상시 판매 여부 (true - 상시)
3596
3795
  */
3597
- trophyScore;
3796
+ ongoingFlag;
3598
3797
  constructor(obj) {
3599
- const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
3798
+ const { title, url, contents, date, date_sale_start, date_sale_end, ongoing_flag } = obj;
3799
+ this.title = title;
3800
+ this.url = url;
3801
+ this.contents = contents;
3600
3802
  this.date = new Date(date);
3601
- this.ranking = ranking;
3602
- this.characterName = character_name;
3603
- this.worldName = world_name;
3604
- this.className = class_name;
3605
- this.subClassName = sub_class_name;
3606
- this.trophyGrade = trophy_grade;
3607
- this.trophyScore = trophy_score;
3803
+ this.dateSaleStart = date_sale_start ? new Date(date_sale_start) : null;
3804
+ this.dateSaleEnd = date_sale_end ? new Date(date_sale_end) : null;
3805
+ this.ongoingFlag = ongoing_flag;
3608
3806
  }
3609
- }
3610
-
3611
- /**
3612
- * 업적 랭킹 응답 정보
3613
- */
3614
- class AchievementRankingResponseDto {
3615
3807
  /**
3616
- * 업적 랭킹 정보
3808
+ * 상시 판매 여부 (true - 상시)
3617
3809
  */
3618
- ranking;
3619
- constructor(obj) {
3620
- const { ranking } = obj;
3621
- this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
3810
+ get isOnGoing() {
3811
+ return this.ongoingFlag === 'true';
3622
3812
  }
3623
3813
  }
3624
3814
 
3625
3815
  /**
3626
- * 무릉도장 랭킹 정보
3816
+ * 캐시샵 공지
3627
3817
  */
3628
- class DojangRankingDto {
3818
+ class CashshopNoticeListItemDto {
3629
3819
  /**
3630
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3631
- */
3632
- date;
3633
- /**
3634
- * 무릉도장 랭킹 순위
3635
- */
3636
- ranking;
3637
- /**
3638
- * 캐릭터 명
3820
+ * 공지 제목
3639
3821
  */
3640
- characterName;
3822
+ title;
3641
3823
  /**
3642
- * 월드
3824
+ * 공지 링크
3643
3825
  */
3644
- worldName;
3826
+ url;
3645
3827
  /**
3646
- * 직업
3828
+ * 공지 식별자
3647
3829
  */
3648
- className;
3830
+ noticeId;
3649
3831
  /**
3650
- * 전직 직업 명
3832
+ * 공지 등록일
3651
3833
  */
3652
- subClassName;
3834
+ date;
3653
3835
  /**
3654
- * 캐릭터 레벨
3836
+ * 판매 시작일
3655
3837
  */
3656
- characterLevel;
3838
+ dateSaleStart;
3657
3839
  /**
3658
- * 무릉도장 구간
3840
+ * 판매 종료일
3659
3841
  */
3660
- dojangFloor;
3842
+ dateSaleEnd;
3661
3843
  /**
3662
- * 무릉도장 클리어 시간 기록 ( 단위)
3844
+ * 상시 판매 여부 (true - 상시)
3663
3845
  */
3664
- dojangTimeRecord;
3846
+ ongoingFlag;
3665
3847
  constructor(obj) {
3666
- const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
3848
+ const { title, url, notice_id, date, date_sale_start, date_sale_end, ongoing_flag } = obj;
3849
+ this.title = title;
3850
+ this.url = url;
3851
+ this.noticeId = notice_id;
3667
3852
  this.date = new Date(date);
3668
- this.ranking = ranking;
3669
- this.characterName = character_name;
3670
- this.worldName = world_name;
3671
- this.className = class_name;
3672
- this.subClassName = sub_class_name;
3673
- this.characterLevel = character_level;
3674
- this.dojangFloor = dojang_floor;
3675
- this.dojangTimeRecord = dojang_time_record;
3853
+ this.dateSaleStart = date_sale_start ? new Date(date_sale_start) : null;
3854
+ this.dateSaleEnd = date_sale_end ? new Date(date_sale_end) : null;
3855
+ this.ongoingFlag = ongoing_flag;
3856
+ }
3857
+ /**
3858
+ * 상시 판매 여부 (true - 상시)
3859
+ */
3860
+ get isOnGoing() {
3861
+ return this.ongoingFlag === 'true';
3676
3862
  }
3677
3863
  }
3678
3864
 
3679
3865
  /**
3680
- * 무릉도장 랭킹 응답 정보
3866
+ * 캐시샵 공지 목록
3681
3867
  */
3682
- class DojangRankingResponseDto {
3868
+ class CashshopNoticeListDto {
3683
3869
  /**
3684
- * 길드 랭킹 정보
3870
+ * 공지 목록
3685
3871
  */
3686
- ranking;
3872
+ cashshopNotice;
3687
3873
  constructor(obj) {
3688
- const { ranking } = obj;
3689
- this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
3874
+ const { cashshop_notice } = obj;
3875
+ this.cashshopNotice = cashshop_notice.map(notice => new CashshopNoticeListItemDto(notice));
3690
3876
  }
3691
3877
  }
3692
3878
 
3693
3879
  /**
3694
- * 길드 랭킹 정보
3880
+ * 진행 이벤트 상세
3695
3881
  */
3696
- class GuildRankingDto {
3882
+ class EventNoticeDetailDto {
3697
3883
  /**
3698
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3884
+ * 공지 제목
3699
3885
  */
3700
- date;
3886
+ title;
3701
3887
  /**
3702
- * 길드 랭킹 순위
3888
+ * 공지 링크
3889
+ */
3890
+ url;
3891
+ /**
3892
+ * 공지 본문
3893
+ */
3894
+ contents;
3895
+ /**
3896
+ * 공지 등록일
3897
+ */
3898
+ date;
3899
+ /**
3900
+ * 이벤트 시작일
3901
+ */
3902
+ dateEventStart;
3903
+ /**
3904
+ * 이벤트 종료일
3905
+ */
3906
+ dateEventEnd;
3907
+ constructor(obj) {
3908
+ const { title, url, contents, date, date_event_start, date_event_end } = obj;
3909
+ this.title = title;
3910
+ this.url = url;
3911
+ this.contents = contents;
3912
+ this.date = new Date(date);
3913
+ this.dateEventStart = new Date(date_event_start);
3914
+ this.dateEventEnd = new Date(date_event_end);
3915
+ }
3916
+ }
3917
+
3918
+ /**
3919
+ * 진행 중 이벤트 공지
3920
+ */
3921
+ class EventNoticeListItemDto {
3922
+ /**
3923
+ * 공지 제목
3924
+ */
3925
+ title;
3926
+ /**
3927
+ * 공지 링크
3928
+ */
3929
+ url;
3930
+ /**
3931
+ * 공지 식별자
3932
+ */
3933
+ noticeId;
3934
+ /**
3935
+ * 공지 등록일
3936
+ */
3937
+ date;
3938
+ /**
3939
+ * 이벤트 시작일
3940
+ */
3941
+ dateEventStart;
3942
+ /**
3943
+ * 이벤트 종료일
3944
+ */
3945
+ dateEventEnd;
3946
+ constructor(obj) {
3947
+ const { title, url, notice_id, date, date_event_start, date_event_end } = obj;
3948
+ this.title = title;
3949
+ this.url = url;
3950
+ this.noticeId = notice_id;
3951
+ this.date = new Date(date);
3952
+ this.dateEventStart = new Date(date_event_start);
3953
+ this.dateEventEnd = new Date(date_event_end);
3954
+ }
3955
+ }
3956
+
3957
+ /**
3958
+ * 진행 중 이벤트 공지 목록
3959
+ */
3960
+ class EventNoticeListDto {
3961
+ /**
3962
+ * 공지 목록
3963
+ */
3964
+ eventNotice;
3965
+ constructor(obj) {
3966
+ const { event_notice } = obj;
3967
+ this.eventNotice = event_notice.map(notice => new EventNoticeListItemDto(notice));
3968
+ }
3969
+ }
3970
+
3971
+ /**
3972
+ * 공지사항 상세
3973
+ */
3974
+ class NoticeDetailDto {
3975
+ /**
3976
+ * 공지 제목
3977
+ */
3978
+ title;
3979
+ /**
3980
+ * 공지 링크
3981
+ */
3982
+ url;
3983
+ /**
3984
+ * 공지 본문
3985
+ */
3986
+ contents;
3987
+ /**
3988
+ * 공지 등록일
3989
+ */
3990
+ date;
3991
+ constructor(obj) {
3992
+ const { title, url, contents, date } = obj;
3993
+ this.title = title;
3994
+ this.url = url;
3995
+ this.contents = contents;
3996
+ this.date = new Date(date);
3997
+ }
3998
+ }
3999
+
4000
+ /**
4001
+ * 공지사항
4002
+ */
4003
+ class NoticeListItemDto {
4004
+ /**
4005
+ * 공지 제목
4006
+ */
4007
+ title;
4008
+ /**
4009
+ * 공지 링크
4010
+ */
4011
+ url;
4012
+ /**
4013
+ * 공지 식별자
4014
+ */
4015
+ noticeId;
4016
+ /**
4017
+ * 공지 등록일
4018
+ */
4019
+ date;
4020
+ constructor(obj) {
4021
+ const { title, url, notice_id, date } = obj;
4022
+ this.title = title;
4023
+ this.url = url;
4024
+ this.noticeId = notice_id;
4025
+ this.date = new Date(date);
4026
+ }
4027
+ }
4028
+
4029
+ /**
4030
+ * 공지사항 목록
4031
+ */
4032
+ class NoticeListDto {
4033
+ /**
4034
+ * 공지 목록
4035
+ */
4036
+ notice;
4037
+ constructor(obj) {
4038
+ const { notice } = obj;
4039
+ this.notice = notice.map(notice => new NoticeListItemDto(notice));
4040
+ }
4041
+ }
4042
+
4043
+ /**
4044
+ * 업데이트 상세
4045
+ */
4046
+ class UpdateNoticeDetailDto {
4047
+ /**
4048
+ * 공지 제목
4049
+ */
4050
+ title;
4051
+ /**
4052
+ * 공지 링크
4053
+ */
4054
+ url;
4055
+ /**
4056
+ * 공지 본문
4057
+ */
4058
+ contents;
4059
+ /**
4060
+ * 공지 등록일
4061
+ */
4062
+ date;
4063
+ constructor(obj) {
4064
+ const { title, url, contents, date } = obj;
4065
+ this.title = title;
4066
+ this.url = url;
4067
+ this.contents = contents;
4068
+ this.date = new Date(date);
4069
+ }
4070
+ }
4071
+
4072
+ /**
4073
+ * 업데이트 공지
4074
+ */
4075
+ class UpdateNoticeListItemDto {
4076
+ /**
4077
+ * 공지 제목
4078
+ */
4079
+ title;
4080
+ /**
4081
+ * 공지 링크
4082
+ */
4083
+ url;
4084
+ /**
4085
+ * 공지 식별자
4086
+ */
4087
+ noticeId;
4088
+ /**
4089
+ * 공지 등록일
4090
+ */
4091
+ date;
4092
+ constructor(obj) {
4093
+ const { title, url, notice_id, date } = obj;
4094
+ this.title = title;
4095
+ this.url = url;
4096
+ this.noticeId = notice_id;
4097
+ this.date = new Date(date);
4098
+ }
4099
+ }
4100
+
4101
+ /**
4102
+ * 업데이트 목록
4103
+ */
4104
+ class UpdateNoticeListDto {
4105
+ /**
4106
+ * 공지 목록
4107
+ */
4108
+ updateNotice;
4109
+ constructor(obj) {
4110
+ const { update_notice } = obj;
4111
+ this.updateNotice = update_notice.map(notice => new UpdateNoticeListItemDto(notice));
4112
+ }
4113
+ }
4114
+
4115
+ /**
4116
+ * 업적 랭킹 정보
4117
+ */
4118
+ class AchievementRankingDto {
4119
+ /**
4120
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4121
+ */
4122
+ date;
4123
+ /**
4124
+ * 업적 랭킹 순위
4125
+ */
4126
+ ranking;
4127
+ /**
4128
+ * 캐릭터 명
4129
+ */
4130
+ characterName;
4131
+ /**
4132
+ * 월드 명
4133
+ */
4134
+ worldName;
4135
+ /**
4136
+ * 직업 명
4137
+ */
4138
+ className;
4139
+ /**
4140
+ * 전직 직업 명
4141
+ */
4142
+ subClassName;
4143
+ /**
4144
+ * 업적 등급
4145
+ */
4146
+ trophyGrade;
4147
+ /**
4148
+ * 업적 점수
4149
+ */
4150
+ trophyScore;
4151
+ constructor(obj) {
4152
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
4153
+ this.date = new Date(date);
4154
+ this.ranking = ranking;
4155
+ this.characterName = character_name;
4156
+ this.worldName = world_name;
4157
+ this.className = class_name;
4158
+ this.subClassName = sub_class_name;
4159
+ this.trophyGrade = trophy_grade;
4160
+ this.trophyScore = trophy_score;
4161
+ }
4162
+ }
4163
+
4164
+ /**
4165
+ * 업적 랭킹 응답 정보
4166
+ */
4167
+ class AchievementRankingResponseDto {
4168
+ /**
4169
+ * 업적 랭킹 정보
4170
+ */
4171
+ ranking;
4172
+ constructor(obj) {
4173
+ const { ranking } = obj;
4174
+ this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
4175
+ }
4176
+ }
4177
+
4178
+ /**
4179
+ * 무릉도장 랭킹 정보
4180
+ */
4181
+ class DojangRankingDto {
4182
+ /**
4183
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4184
+ */
4185
+ date;
4186
+ /**
4187
+ * 무릉도장 랭킹 순위
4188
+ */
4189
+ ranking;
4190
+ /**
4191
+ * 캐릭터 명
4192
+ */
4193
+ characterName;
4194
+ /**
4195
+ * 월드 명
4196
+ */
4197
+ worldName;
4198
+ /**
4199
+ * 직업 명
4200
+ */
4201
+ className;
4202
+ /**
4203
+ * 전직 직업 명
4204
+ */
4205
+ subClassName;
4206
+ /**
4207
+ * 캐릭터 레벨
4208
+ */
4209
+ characterLevel;
4210
+ /**
4211
+ * 무릉도장 구간
4212
+ */
4213
+ dojangFloor;
4214
+ /**
4215
+ * 무릉도장 클리어 시간 기록 (초 단위)
4216
+ */
4217
+ dojangTimeRecord;
4218
+ constructor(obj) {
4219
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
4220
+ this.date = new Date(date);
4221
+ this.ranking = ranking;
4222
+ this.characterName = character_name;
4223
+ this.worldName = world_name;
4224
+ this.className = class_name;
4225
+ this.subClassName = sub_class_name;
4226
+ this.characterLevel = character_level;
4227
+ this.dojangFloor = dojang_floor;
4228
+ this.dojangTimeRecord = dojang_time_record;
4229
+ }
4230
+ }
4231
+
4232
+ /**
4233
+ * 무릉도장 랭킹 응답 정보
4234
+ */
4235
+ class DojangRankingResponseDto {
4236
+ /**
4237
+ * 길드 랭킹 정보
4238
+ */
4239
+ ranking;
4240
+ constructor(obj) {
4241
+ const { ranking } = obj;
4242
+ this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
4243
+ }
4244
+ }
4245
+
4246
+ /**
4247
+ * 길드 랭킹 정보
4248
+ */
4249
+ class GuildRankingDto {
4250
+ /**
4251
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4252
+ */
4253
+ date;
4254
+ /**
4255
+ * 길드 랭킹 순위
3703
4256
  */
3704
4257
  ranking;
3705
4258
  /**
@@ -4042,7 +4595,7 @@ class UnionArtifactDto {
4042
4595
  unionArtifactRemainAp;
4043
4596
  constructor(obj) {
4044
4597
  const { date, union_artifact_effect, union_artifact_crystal, union_artifact_remain_ap, } = obj;
4045
- this.date = new Date(date);
4598
+ this.date = date ? new Date(date) : null;
4046
4599
  this.unionArtifactEffect = union_artifact_effect.map((effect) => new UnionArtifactEffectDto(effect));
4047
4600
  this.unionArtifactCrystal = union_artifact_crystal.map((crystal) => new UnionArtifactCrystalDto(crystal));
4048
4601
  this.unionArtifactRemainAp = union_artifact_remain_ap;
@@ -4079,7 +4632,7 @@ class UnionDto {
4079
4632
  unionArtifactPoint;
4080
4633
  constructor(obj) {
4081
4634
  const { date, union_level, union_grade, union_artifact_level, union_artifact_exp, union_artifact_point } = obj;
4082
- this.date = new Date(date);
4635
+ this.date = date ? new Date(date) : null;
4083
4636
  this.unionLevel = union_level;
4084
4637
  this.unionGrade = union_grade;
4085
4638
  this.unionArtifactLevel = union_artifact_level;
@@ -4167,17 +4720,46 @@ class UnionRaiderBlockDto {
4167
4720
  */
4168
4721
  class UnionRaiderInnerStatDto {
4169
4722
  /**
4170
- * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
4723
+ * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
4724
+ */
4725
+ statFieldId;
4726
+ /**
4727
+ * 해당 지역 점령 효과
4728
+ */
4729
+ statFieldEffect;
4730
+ constructor(obj) {
4731
+ const { stat_field_id, stat_field_effect } = obj;
4732
+ this.statFieldId = stat_field_id;
4733
+ this.statFieldEffect = stat_field_effect;
4734
+ }
4735
+ }
4736
+
4737
+ /**
4738
+ * 유니온 프리셋 정보
4739
+ */
4740
+ class UnionRaiderPresetDto {
4741
+ /**
4742
+ * 유니온 공격대원 효과
4743
+ */
4744
+ unionRaiderStat;
4745
+ /**
4746
+ * 유니온 공격대 점령 효과
4747
+ */
4748
+ unionOccupiedStat;
4749
+ /**
4750
+ * 유니온 공격대 배치
4171
4751
  */
4172
- statFieldId;
4752
+ unionInnerStat;
4173
4753
  /**
4174
- * 해당 지역 점령 효과
4754
+ * 유니온 블록 정보
4175
4755
  */
4176
- statFieldEffect;
4756
+ unionBlock;
4177
4757
  constructor(obj) {
4178
- const { stat_field_id, stat_field_effect } = obj;
4179
- this.statFieldId = stat_field_id;
4180
- this.statFieldEffect = stat_field_effect;
4758
+ const { union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4759
+ this.unionRaiderStat = union_raider_stat;
4760
+ this.unionOccupiedStat = union_occupied_stat;
4761
+ this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4762
+ this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
4181
4763
  }
4182
4764
  }
4183
4765
 
@@ -4202,13 +4784,53 @@ class UnionRaiderDto {
4202
4784
  * 유니온 블록 정보
4203
4785
  */
4204
4786
  unionBlock;
4787
+ /**
4788
+ * 적용 중인 프리셋 번호
4789
+ */
4790
+ usePresetNo;
4791
+ /**
4792
+ * 유니온 프리셋 1번 정보
4793
+ */
4794
+ unionRaiderPreset1;
4795
+ /**
4796
+ * 유니온 프리셋 2번 정보
4797
+ */
4798
+ unionRaiderPreset2;
4799
+ /**
4800
+ * 유니온 프리셋 3번 정보
4801
+ */
4802
+ unionRaiderPreset3;
4803
+ /**
4804
+ * 유니온 프리셋 4번 정보
4805
+ */
4806
+ unionRaiderPreset4;
4807
+ /**
4808
+ * 유니온 프리셋 5번 정보
4809
+ */
4810
+ unionRaiderPreset5;
4205
4811
  constructor(obj) {
4206
- const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4207
- this.date = new Date(date);
4812
+ 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;
4813
+ this.date = date ? new Date(date) : null;
4208
4814
  this.unionRaiderStat = union_raider_stat;
4209
4815
  this.unionOccupiedStat = union_occupied_stat;
4210
4816
  this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4211
4817
  this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
4818
+ this.usePresetNo = use_preset_no;
4819
+ this.unionRaiderPreset1 = union_raider_preset_1
4820
+ ? new UnionRaiderPresetDto(union_raider_preset_1)
4821
+ : null;
4822
+ this.unionRaiderPreset2 = union_raider_preset_2
4823
+ ? new UnionRaiderPresetDto(union_raider_preset_2)
4824
+ : null;
4825
+ this.unionRaiderPreset3 = union_raider_preset_3
4826
+ ? new UnionRaiderPresetDto(union_raider_preset_3)
4827
+ : null;
4828
+ this.unionRaiderPreset4 = union_raider_preset_4
4829
+ ? new UnionRaiderPresetDto(union_raider_preset_4)
4830
+ : null;
4831
+ this.unionRaiderPreset5 = union_raider_preset_5
4832
+ ? new UnionRaiderPresetDto(union_raider_preset_5)
4833
+ : null;
4212
4834
  }
4213
4835
  }
4214
4836
 
@@ -4242,6 +4864,7 @@ exports.MapleStoryApiErrorCode = void 0;
4242
4864
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00007"] = 6] = "OPENAPI00007";
4243
4865
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00009"] = 7] = "OPENAPI00009";
4244
4866
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00010"] = 8] = "OPENAPI00010";
4867
+ MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00011"] = 9] = "OPENAPI00011";
4245
4868
  })(exports.MapleStoryApiErrorCode || (exports.MapleStoryApiErrorCode = {}));
4246
4869
  const errorMap = {
4247
4870
  ['OPENAPI00001']: exports.MapleStoryApiErrorCode.OPENAPI00001,
@@ -4253,6 +4876,7 @@ const errorMap = {
4253
4876
  ['OPENAPI00007']: exports.MapleStoryApiErrorCode.OPENAPI00007,
4254
4877
  ['OPENAPI00009']: exports.MapleStoryApiErrorCode.OPENAPI00009,
4255
4878
  ['OPENAPI00010']: exports.MapleStoryApiErrorCode.OPENAPI00010,
4879
+ ['OPENAPI00011']: exports.MapleStoryApiErrorCode.OPENAPI00011,
4256
4880
  };
4257
4881
 
4258
4882
  dayjs__default["default"].extend(timezone);
@@ -4293,8 +4917,9 @@ class MapleStoryApi {
4293
4917
  //#region 캐릭터 정보 조회
4294
4918
  /**
4295
4919
  * 캐릭터 식별자(ocid)를 조회합니다.
4920
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4296
4921
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4297
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4922
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4298
4923
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4299
4924
  *
4300
4925
  * @param characterName 캐릭터 명
@@ -4308,28 +4933,39 @@ class MapleStoryApi {
4308
4933
  });
4309
4934
  return new CharacterDto(data);
4310
4935
  }
4936
+ /**
4937
+ * 계정의 보유 캐릭터 목록을 조회합니다.
4938
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4939
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
4940
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4941
+ */
4942
+ async getCharacterList() {
4943
+ const path = 'maplestory/v1/character/list';
4944
+ const { data } = await this.client.get(path);
4945
+ return new CharacterListDto(data);
4946
+ }
4311
4947
  /**
4312
4948
  * 기본 정보를 조회합니다.
4949
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4313
4950
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4314
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4951
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4315
4952
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4316
4953
  *
4317
4954
  * @param ocid 캐릭터 식별자
4318
4955
  * @param dateOptions 조회 기준일 (KST)
4319
4956
  */
4320
- async getCharacterBasic(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4321
- hour: 1,
4322
- minute: 0,
4323
- dateOffset: 1,
4324
- })) {
4957
+ async getCharacterBasic(ocid, dateOptions) {
4325
4958
  const path = 'maplestory/v1/character/basic';
4326
- const query = {
4327
- ocid: ocid,
4328
- date: MapleStoryApi.toDateString({
4959
+ const date = dateOptions
4960
+ ? MapleStoryApi.toDateString({
4329
4961
  year: 2023,
4330
4962
  month: 12,
4331
4963
  day: 21,
4332
- }, dateOptions),
4964
+ }, dateOptions)
4965
+ : undefined;
4966
+ const query = {
4967
+ ocid: ocid,
4968
+ date: date,
4333
4969
  };
4334
4970
  const { data } = await this.client.get(path, {
4335
4971
  params: query,
@@ -4338,26 +4974,26 @@ class MapleStoryApi {
4338
4974
  }
4339
4975
  /**
4340
4976
  * 인기도 정보를 조회합니다.
4977
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4341
4978
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4342
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4979
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4343
4980
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4344
4981
  *
4345
4982
  * @param ocid 캐릭터 식별자
4346
4983
  * @param dateOptions 조회 기준일 (KST)
4347
4984
  */
4348
- async getCharacterPopularity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4349
- hour: 1,
4350
- minute: 0,
4351
- dateOffset: 1,
4352
- })) {
4985
+ async getCharacterPopularity(ocid, dateOptions) {
4353
4986
  const path = 'maplestory/v1/character/popularity';
4354
- const query = {
4355
- ocid: ocid,
4356
- date: MapleStoryApi.toDateString({
4987
+ const date = dateOptions
4988
+ ? MapleStoryApi.toDateString({
4357
4989
  year: 2023,
4358
4990
  month: 12,
4359
4991
  day: 21,
4360
- }, dateOptions),
4992
+ }, dateOptions)
4993
+ : undefined;
4994
+ const query = {
4995
+ ocid: ocid,
4996
+ date: date,
4361
4997
  };
4362
4998
  const { data } = await this.client.get(path, {
4363
4999
  params: query,
@@ -4366,26 +5002,26 @@ class MapleStoryApi {
4366
5002
  }
4367
5003
  /**
4368
5004
  * 종합 능력치 정보를 조회합니다.
5005
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4369
5006
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4370
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5007
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4371
5008
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4372
5009
  *
4373
5010
  * @param ocid 캐릭터 식별자
4374
5011
  * @param dateOptions 조회 기준일 (KST)
4375
5012
  */
4376
- async getCharacterStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4377
- hour: 1,
4378
- minute: 0,
4379
- dateOffset: 1,
4380
- })) {
5013
+ async getCharacterStat(ocid, dateOptions) {
4381
5014
  const path = 'maplestory/v1/character/stat';
4382
- const query = {
4383
- ocid: ocid,
4384
- date: MapleStoryApi.toDateString({
5015
+ const date = dateOptions
5016
+ ? MapleStoryApi.toDateString({
4385
5017
  year: 2023,
4386
5018
  month: 12,
4387
5019
  day: 21,
4388
- }, dateOptions),
5020
+ }, dateOptions)
5021
+ : undefined;
5022
+ const query = {
5023
+ ocid: ocid,
5024
+ date: date,
4389
5025
  };
4390
5026
  const { data } = await this.client.get(path, {
4391
5027
  params: query,
@@ -4394,26 +5030,26 @@ class MapleStoryApi {
4394
5030
  }
4395
5031
  /**
4396
5032
  * 하이퍼스탯 정보를 조회합니다.
5033
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4397
5034
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4398
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5035
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4399
5036
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4400
5037
  *
4401
5038
  * @param ocid 캐릭터 식별자
4402
5039
  * @param dateOptions 조회 기준일 (KST)
4403
5040
  */
4404
- async getCharacterHyperStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4405
- hour: 1,
4406
- minute: 0,
4407
- dateOffset: 1,
4408
- })) {
5041
+ async getCharacterHyperStat(ocid, dateOptions) {
4409
5042
  const path = 'maplestory/v1/character/hyper-stat';
4410
- const query = {
4411
- ocid: ocid,
4412
- date: MapleStoryApi.toDateString({
5043
+ const date = dateOptions
5044
+ ? MapleStoryApi.toDateString({
4413
5045
  year: 2023,
4414
5046
  month: 12,
4415
5047
  day: 21,
4416
- }, dateOptions),
5048
+ }, dateOptions)
5049
+ : undefined;
5050
+ const query = {
5051
+ ocid: ocid,
5052
+ date: date,
4417
5053
  };
4418
5054
  const { data } = await this.client.get(path, {
4419
5055
  params: query,
@@ -4422,26 +5058,26 @@ class MapleStoryApi {
4422
5058
  }
4423
5059
  /**
4424
5060
  * 성향 정보를 조회합니다.
5061
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4425
5062
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4426
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5063
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4427
5064
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4428
5065
  *
4429
5066
  * @param ocid 캐릭터 식별자
4430
5067
  * @param dateOptions 조회 기준일 (KST)
4431
5068
  */
4432
- async getCharacterPropensity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4433
- hour: 1,
4434
- minute: 0,
4435
- dateOffset: 1,
4436
- })) {
5069
+ async getCharacterPropensity(ocid, dateOptions) {
4437
5070
  const path = 'maplestory/v1/character/propensity';
4438
- const query = {
4439
- ocid: ocid,
4440
- date: MapleStoryApi.toDateString({
5071
+ const date = dateOptions
5072
+ ? MapleStoryApi.toDateString({
4441
5073
  year: 2023,
4442
5074
  month: 12,
4443
5075
  day: 21,
4444
- }, dateOptions),
5076
+ }, dateOptions)
5077
+ : undefined;
5078
+ const query = {
5079
+ ocid: ocid,
5080
+ date: date,
4445
5081
  };
4446
5082
  const { data } = await this.client.get(path, {
4447
5083
  params: query,
@@ -4450,26 +5086,26 @@ class MapleStoryApi {
4450
5086
  }
4451
5087
  /**
4452
5088
  * 어빌리티 정보를 조회합니다.
5089
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4453
5090
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4454
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5091
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4455
5092
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4456
5093
  *
4457
5094
  * @param ocid 캐릭터 식별자
4458
5095
  * @param dateOptions 조회 기준일 (KST)
4459
5096
  */
4460
- async getCharacterAbility(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4461
- hour: 1,
4462
- minute: 0,
4463
- dateOffset: 1,
4464
- })) {
5097
+ async getCharacterAbility(ocid, dateOptions) {
4465
5098
  const path = 'maplestory/v1/character/ability';
4466
- const query = {
4467
- ocid: ocid,
4468
- date: MapleStoryApi.toDateString({
5099
+ const date = dateOptions
5100
+ ? MapleStoryApi.toDateString({
4469
5101
  year: 2023,
4470
5102
  month: 12,
4471
5103
  day: 21,
4472
- }, dateOptions),
5104
+ }, dateOptions)
5105
+ : undefined;
5106
+ const query = {
5107
+ ocid: ocid,
5108
+ date: date,
4473
5109
  };
4474
5110
  const { data } = await this.client.get(path, {
4475
5111
  params: query,
@@ -4478,26 +5114,26 @@ class MapleStoryApi {
4478
5114
  }
4479
5115
  /**
4480
5116
  * 장착한 장비 중 캐시 장비를 제외한 나머지 장비 정보를 조회합니다.
5117
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4481
5118
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4482
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5119
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4483
5120
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4484
5121
  *
4485
5122
  * @param ocid 캐릭터 식별자
4486
5123
  * @param dateOptions 조회 기준일 (KST)
4487
5124
  */
4488
- async getCharacterItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4489
- hour: 1,
4490
- minute: 0,
4491
- dateOffset: 1,
4492
- })) {
5125
+ async getCharacterItemEquipment(ocid, dateOptions) {
4493
5126
  const path = 'maplestory/v1/character/item-equipment';
4494
- const query = {
4495
- ocid: ocid,
4496
- date: MapleStoryApi.toDateString({
5127
+ const date = dateOptions
5128
+ ? MapleStoryApi.toDateString({
4497
5129
  year: 2023,
4498
5130
  month: 12,
4499
5131
  day: 21,
4500
- }, dateOptions),
5132
+ }, dateOptions)
5133
+ : undefined;
5134
+ const query = {
5135
+ ocid: ocid,
5136
+ date: date,
4501
5137
  };
4502
5138
  const { data } = await this.client.get(path, {
4503
5139
  params: query,
@@ -4506,26 +5142,26 @@ class MapleStoryApi {
4506
5142
  }
4507
5143
  /**
4508
5144
  * 장착한 캐시 장비 정보를 조회합니다.
5145
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4509
5146
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4510
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5147
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4511
5148
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4512
5149
  *
4513
5150
  * @param ocid 캐릭터 식별자
4514
5151
  * @param dateOptions 조회 기준일 (KST)
4515
5152
  */
4516
- async getCharacterCashItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4517
- hour: 1,
4518
- minute: 0,
4519
- dateOffset: 1,
4520
- })) {
5153
+ async getCharacterCashItemEquipment(ocid, dateOptions) {
4521
5154
  const path = 'maplestory/v1/character/cashitem-equipment';
4522
- const query = {
4523
- ocid: ocid,
4524
- date: MapleStoryApi.toDateString({
5155
+ const date = dateOptions
5156
+ ? MapleStoryApi.toDateString({
4525
5157
  year: 2023,
4526
5158
  month: 12,
4527
5159
  day: 21,
4528
- }, dateOptions),
5160
+ }, dateOptions)
5161
+ : undefined;
5162
+ const query = {
5163
+ ocid: ocid,
5164
+ date: date,
4529
5165
  };
4530
5166
  const { data } = await this.client.get(path, {
4531
5167
  params: query,
@@ -4534,26 +5170,26 @@ class MapleStoryApi {
4534
5170
  }
4535
5171
  /**
4536
5172
  * 장착한 심볼 정보를 조회합니다.
5173
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4537
5174
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4538
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5175
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4539
5176
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4540
5177
  *
4541
5178
  * @param ocid 캐릭터 식별자
4542
5179
  * @param dateOptions 조회 기준일 (KST)
4543
5180
  */
4544
- async getCharacterSymbolEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4545
- hour: 1,
4546
- minute: 0,
4547
- dateOffset: 1,
4548
- })) {
5181
+ async getCharacterSymbolEquipment(ocid, dateOptions) {
4549
5182
  const path = 'maplestory/v1/character/symbol-equipment';
4550
- const query = {
4551
- ocid: ocid,
4552
- date: MapleStoryApi.toDateString({
5183
+ const date = dateOptions
5184
+ ? MapleStoryApi.toDateString({
4553
5185
  year: 2023,
4554
5186
  month: 12,
4555
5187
  day: 21,
4556
- }, dateOptions),
5188
+ }, dateOptions)
5189
+ : undefined;
5190
+ const query = {
5191
+ ocid: ocid,
5192
+ date: date,
4557
5193
  };
4558
5194
  const { data } = await this.client.get(path, {
4559
5195
  params: query,
@@ -4562,26 +5198,26 @@ class MapleStoryApi {
4562
5198
  }
4563
5199
  /**
4564
5200
  * 적용받고 있는 세트 효과 정보를 조회합니다.
5201
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4565
5202
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4566
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5203
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4567
5204
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4568
5205
  *
4569
5206
  * @param ocid 캐릭터 식별자
4570
5207
  * @param dateOptions 조회 기준일 (KST)
4571
5208
  */
4572
- async getCharacterSetEffect(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4573
- hour: 1,
4574
- minute: 0,
4575
- dateOffset: 1,
4576
- })) {
5209
+ async getCharacterSetEffect(ocid, dateOptions) {
4577
5210
  const path = 'maplestory/v1/character/set-effect';
4578
- const query = {
4579
- ocid: ocid,
4580
- date: MapleStoryApi.toDateString({
5211
+ const date = dateOptions
5212
+ ? MapleStoryApi.toDateString({
4581
5213
  year: 2023,
4582
5214
  month: 12,
4583
5215
  day: 21,
4584
- }, dateOptions),
5216
+ }, dateOptions)
5217
+ : undefined;
5218
+ const query = {
5219
+ ocid: ocid,
5220
+ date: date,
4585
5221
  };
4586
5222
  const { data } = await this.client.get(path, {
4587
5223
  params: query,
@@ -4590,26 +5226,23 @@ class MapleStoryApi {
4590
5226
  }
4591
5227
  /**
4592
5228
  * 장착 중인 헤어, 성형, 피부 정보를 조회합니다.
5229
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4593
5230
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4594
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5231
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4595
5232
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4596
5233
  *
4597
5234
  * @param ocid 캐릭터 식별자
4598
5235
  * @param dateOptions 조회 기준일 (KST)
4599
5236
  */
4600
- async getCharacterBeautyEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4601
- hour: 1,
4602
- minute: 0,
4603
- dateOffset: 1,
4604
- })) {
5237
+ async getCharacterBeautyEquipment(ocid, dateOptions) {
4605
5238
  const path = 'maplestory/v1/character/beauty-equipment';
4606
5239
  const query = {
4607
5240
  ocid: ocid,
4608
- date: MapleStoryApi.toDateString({
5241
+ date: dateOptions ? MapleStoryApi.toDateString({
4609
5242
  year: 2023,
4610
5243
  month: 12,
4611
5244
  day: 21,
4612
- }, dateOptions),
5245
+ }, dateOptions) : undefined,
4613
5246
  };
4614
5247
  const { data } = await this.client.get(path, {
4615
5248
  params: query,
@@ -4618,26 +5251,26 @@ class MapleStoryApi {
4618
5251
  }
4619
5252
  /**
4620
5253
  * 장착한 안드로이드 정보를 조회합니다.
5254
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4621
5255
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4622
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5256
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4623
5257
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4624
5258
  *
4625
5259
  * @param ocid 캐릭터 식별자
4626
5260
  * @param dateOptions 조회 기준일 (KST)
4627
5261
  */
4628
- async getCharacterAndroidEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4629
- hour: 1,
4630
- minute: 0,
4631
- dateOffset: 1,
4632
- })) {
5262
+ async getCharacterAndroidEquipment(ocid, dateOptions) {
4633
5263
  const path = 'maplestory/v1/character/android-equipment';
4634
- const query = {
4635
- ocid: ocid,
4636
- date: MapleStoryApi.toDateString({
5264
+ const date = dateOptions
5265
+ ? MapleStoryApi.toDateString({
4637
5266
  year: 2023,
4638
5267
  month: 12,
4639
5268
  day: 21,
4640
- }, dateOptions),
5269
+ }, dateOptions)
5270
+ : undefined;
5271
+ const query = {
5272
+ ocid: ocid,
5273
+ date: date,
4641
5274
  };
4642
5275
  const { data } = await this.client.get(path, {
4643
5276
  params: query,
@@ -4646,26 +5279,26 @@ class MapleStoryApi {
4646
5279
  }
4647
5280
  /**
4648
5281
  * 장착한 펫 및 펫 스킬, 장비 정보를 조회합니다.
5282
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4649
5283
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4650
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5284
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4651
5285
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4652
5286
  *
4653
5287
  * @param ocid 캐릭터 식별자
4654
5288
  * @param dateOptions 조회 기준일 (KST)
4655
5289
  */
4656
- async getCharacterPetEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4657
- hour: 1,
4658
- minute: 0,
4659
- dateOffset: 1,
4660
- })) {
5290
+ async getCharacterPetEquipment(ocid, dateOptions) {
4661
5291
  const path = 'maplestory/v1/character/pet-equipment';
4662
- const query = {
4663
- ocid: ocid,
4664
- date: MapleStoryApi.toDateString({
5292
+ const date = dateOptions
5293
+ ? MapleStoryApi.toDateString({
4665
5294
  year: 2023,
4666
5295
  month: 12,
4667
5296
  day: 21,
4668
- }, dateOptions),
5297
+ }, dateOptions)
5298
+ : undefined;
5299
+ const query = {
5300
+ ocid: ocid,
5301
+ date: date,
4669
5302
  };
4670
5303
  const { data } = await this.client.get(path, {
4671
5304
  params: query,
@@ -4674,8 +5307,9 @@ class MapleStoryApi {
4674
5307
  }
4675
5308
  /**
4676
5309
  * 캐릭터 스킬과 하이퍼 스킬 정보를 조회합니다.
5310
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4677
5311
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4678
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5312
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4679
5313
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4680
5314
  *
4681
5315
  * @param ocid 캐릭터 식별자
@@ -4693,20 +5327,19 @@ class MapleStoryApi {
4693
5327
  * - 6: 6차 스킬
4694
5328
  * @param dateOptions 조회 기준일 (KST)
4695
5329
  */
4696
- async getCharacterSkill(ocid, characterSkillGrade, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4697
- hour: 1,
4698
- minute: 0,
4699
- dateOffset: 1,
4700
- })) {
5330
+ async getCharacterSkill(ocid, characterSkillGrade, dateOptions) {
4701
5331
  const path = 'maplestory/v1/character/skill';
4702
- const query = {
4703
- ocid: ocid,
4704
- character_skill_grade: characterSkillGrade,
4705
- date: MapleStoryApi.toDateString({
5332
+ const date = dateOptions
5333
+ ? MapleStoryApi.toDateString({
4706
5334
  year: 2023,
4707
5335
  month: 12,
4708
5336
  day: 21,
4709
- }, dateOptions),
5337
+ }, dateOptions)
5338
+ : undefined;
5339
+ const query = {
5340
+ ocid: ocid,
5341
+ character_skill_grade: characterSkillGrade,
5342
+ date: date,
4710
5343
  };
4711
5344
  const { data } = await this.client.get(path, {
4712
5345
  params: query,
@@ -4715,26 +5348,26 @@ class MapleStoryApi {
4715
5348
  }
4716
5349
  /**
4717
5350
  * 장착 링크 스킬 정보를 조회합니다.
5351
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4718
5352
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4719
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5353
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4720
5354
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4721
5355
  *
4722
5356
  * @param ocid 캐릭터 식별자
4723
5357
  * @param dateOptions 조회 기준일 (KST)
4724
5358
  */
4725
- async getCharacterLinkSkill(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4726
- hour: 1,
4727
- minute: 0,
4728
- dateOffset: 1,
4729
- })) {
5359
+ async getCharacterLinkSkill(ocid, dateOptions) {
4730
5360
  const path = 'maplestory/v1/character/link-skill';
4731
- const query = {
4732
- ocid: ocid,
4733
- date: MapleStoryApi.toDateString({
5361
+ const date = dateOptions
5362
+ ? MapleStoryApi.toDateString({
4734
5363
  year: 2023,
4735
5364
  month: 12,
4736
5365
  day: 21,
4737
- }, dateOptions),
5366
+ }, dateOptions)
5367
+ : undefined;
5368
+ const query = {
5369
+ ocid: ocid,
5370
+ date: date,
4738
5371
  };
4739
5372
  const { data } = await this.client.get(path, {
4740
5373
  params: query,
@@ -4743,26 +5376,26 @@ class MapleStoryApi {
4743
5376
  }
4744
5377
  /**
4745
5378
  * V매트릭스 슬롯 정보와 장착한 V코어 정보를 조회합니다.
5379
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4746
5380
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4747
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5381
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4748
5382
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4749
5383
  *
4750
5384
  * @param ocid 캐릭터 식별자
4751
5385
  * @param dateOptions 조회 기준일 (KST)
4752
5386
  */
4753
- async getCharacterVMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4754
- hour: 1,
4755
- minute: 0,
4756
- dateOffset: 1,
4757
- })) {
5387
+ async getCharacterVMatrix(ocid, dateOptions) {
4758
5388
  const path = 'maplestory/v1/character/vmatrix';
4759
- const query = {
4760
- ocid: ocid,
4761
- date: MapleStoryApi.toDateString({
5389
+ const date = dateOptions
5390
+ ? MapleStoryApi.toDateString({
4762
5391
  year: 2023,
4763
5392
  month: 12,
4764
5393
  day: 21,
4765
- }, dateOptions),
5394
+ }, dateOptions)
5395
+ : undefined;
5396
+ const query = {
5397
+ ocid: ocid,
5398
+ date: date,
4766
5399
  };
4767
5400
  const { data } = await this.client.get(path, {
4768
5401
  params: query,
@@ -4771,26 +5404,26 @@ class MapleStoryApi {
4771
5404
  }
4772
5405
  /**
4773
5406
  * HEXA 매트릭스에 장착한 HEXA 코어 정보를 조회합니다.
5407
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4774
5408
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4775
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5409
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4776
5410
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4777
5411
  *
4778
5412
  * @param ocid 캐릭터 식별자
4779
5413
  * @param dateOptions 조회 기준일 (KST)
4780
5414
  */
4781
- async getCharacterHexaMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4782
- hour: 1,
4783
- minute: 0,
4784
- dateOffset: 1,
4785
- })) {
5415
+ async getCharacterHexaMatrix(ocid, dateOptions) {
4786
5416
  const path = 'maplestory/v1/character/hexamatrix';
4787
- const query = {
4788
- ocid: ocid,
4789
- date: MapleStoryApi.toDateString({
5417
+ const date = dateOptions
5418
+ ? MapleStoryApi.toDateString({
4790
5419
  year: 2023,
4791
5420
  month: 12,
4792
5421
  day: 21,
4793
- }, dateOptions),
5422
+ }, dateOptions)
5423
+ : undefined;
5424
+ const query = {
5425
+ ocid: ocid,
5426
+ date: date,
4794
5427
  };
4795
5428
  const { data } = await this.client.get(path, {
4796
5429
  params: query,
@@ -4799,26 +5432,26 @@ class MapleStoryApi {
4799
5432
  }
4800
5433
  /**
4801
5434
  * HEXA 매트릭스에 설정한 HEXA 스탯 정보를 조회합니다.
5435
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4802
5436
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4803
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5437
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4804
5438
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4805
5439
  *
4806
5440
  * @param ocid 캐릭터 식별자
4807
5441
  * @param dateOptions 조회 기준일 (KST)
4808
5442
  */
4809
- async getCharacterHexaMatrixStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4810
- hour: 1,
4811
- minute: 0,
4812
- dateOffset: 1,
4813
- })) {
5443
+ async getCharacterHexaMatrixStat(ocid, dateOptions) {
4814
5444
  const path = 'maplestory/v1/character/hexamatrix-stat';
4815
- const query = {
4816
- ocid: ocid,
4817
- date: MapleStoryApi.toDateString({
5445
+ const date = dateOptions
5446
+ ? MapleStoryApi.toDateString({
4818
5447
  year: 2023,
4819
5448
  month: 12,
4820
5449
  day: 21,
4821
- }, dateOptions),
5450
+ }, dateOptions)
5451
+ : undefined;
5452
+ const query = {
5453
+ ocid: ocid,
5454
+ date: date,
4822
5455
  };
4823
5456
  const { data } = await this.client.get(path, {
4824
5457
  params: query,
@@ -4827,26 +5460,26 @@ class MapleStoryApi {
4827
5460
  }
4828
5461
  /**
4829
5462
  * 캐릭터 무릉도장 최고 기록 정보를 조회합니다.
5463
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4830
5464
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4831
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5465
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4832
5466
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4833
5467
  *
4834
5468
  * @param ocid 캐릭터 식별자
4835
5469
  * @param dateOptions 조회 기준일 (KST)
4836
5470
  */
4837
- async getCharacterDojang(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4838
- hour: 1,
4839
- minute: 0,
4840
- dateOffset: 1,
4841
- })) {
5471
+ async getCharacterDojang(ocid, dateOptions) {
4842
5472
  const path = 'maplestory/v1/character/dojang';
4843
- const query = {
4844
- ocid: ocid,
4845
- date: MapleStoryApi.toDateString({
5473
+ const date = dateOptions
5474
+ ? MapleStoryApi.toDateString({
4846
5475
  year: 2023,
4847
5476
  month: 12,
4848
5477
  day: 21,
4849
- }, dateOptions),
5478
+ }, dateOptions)
5479
+ : undefined;
5480
+ const query = {
5481
+ ocid: ocid,
5482
+ date: date,
4850
5483
  };
4851
5484
  const { data } = await this.client.get(path, {
4852
5485
  params: query,
@@ -4857,26 +5490,26 @@ class MapleStoryApi {
4857
5490
  //#region 유니온 정보 조회
4858
5491
  /**
4859
5492
  * 유니온 정보를 조회합니다.
5493
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4860
5494
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4861
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5495
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4862
5496
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4863
5497
  *
4864
5498
  * @param ocid 캐릭터 식별자
4865
5499
  * @param dateOptions 조회 기준일 (KST)
4866
5500
  */
4867
- async getUnion(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4868
- hour: 1,
4869
- minute: 0,
4870
- dateOffset: 1,
4871
- })) {
5501
+ async getUnion(ocid, dateOptions) {
4872
5502
  const path = 'maplestory/v1/user/union';
4873
- const query = {
4874
- ocid: ocid,
4875
- date: MapleStoryApi.toDateString({
5503
+ const date = dateOptions
5504
+ ? MapleStoryApi.toDateString({
4876
5505
  year: 2023,
4877
5506
  month: 12,
4878
5507
  day: 21,
4879
- }, dateOptions),
5508
+ }, dateOptions)
5509
+ : undefined;
5510
+ const query = {
5511
+ ocid: ocid,
5512
+ date: date,
4880
5513
  };
4881
5514
  const { data } = await this.client.get(path, {
4882
5515
  params: query,
@@ -4885,26 +5518,26 @@ class MapleStoryApi {
4885
5518
  }
4886
5519
  /**
4887
5520
  * 유니온 공격대 정보를 조회합니다.
5521
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4888
5522
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4889
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5523
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4890
5524
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4891
5525
  *
4892
5526
  * @param ocid 캐릭터 식별자
4893
5527
  * @param dateOptions 조회 기준일 (KST)
4894
5528
  */
4895
- async getUnionRaider(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4896
- hour: 1,
4897
- minute: 0,
4898
- dateOffset: 1,
4899
- })) {
5529
+ async getUnionRaider(ocid, dateOptions) {
4900
5530
  const path = 'maplestory/v1/user/union-raider';
4901
- const query = {
4902
- ocid: ocid,
4903
- date: MapleStoryApi.toDateString({
5531
+ const date = dateOptions
5532
+ ? MapleStoryApi.toDateString({
4904
5533
  year: 2023,
4905
5534
  month: 12,
4906
5535
  day: 21,
4907
- }, dateOptions),
5536
+ }, dateOptions)
5537
+ : undefined;
5538
+ const query = {
5539
+ ocid: ocid,
5540
+ date: date,
4908
5541
  };
4909
5542
  const { data } = await this.client.get(path, {
4910
5543
  params: query,
@@ -4913,26 +5546,26 @@ class MapleStoryApi {
4913
5546
  }
4914
5547
  /**
4915
5548
  * 유니온 아티팩트 정보를 조회합니다.
5549
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4916
5550
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4917
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5551
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4918
5552
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4919
5553
  *
4920
5554
  * @param ocid 캐릭터 식별자
4921
5555
  * @param dateOptions 조회 기준일 (KST)
4922
5556
  */
4923
- async getUnionArtifact(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4924
- hour: 1,
4925
- minute: 0,
4926
- dateOffset: 1,
4927
- })) {
5557
+ async getUnionArtifact(ocid, dateOptions) {
4928
5558
  const path = 'maplestory/v1/user/union-artifact';
4929
- const query = {
4930
- ocid: ocid,
4931
- date: MapleStoryApi.toDateString({
5559
+ const date = dateOptions
5560
+ ? MapleStoryApi.toDateString({
4932
5561
  year: 2023,
4933
5562
  month: 12,
4934
5563
  day: 21,
4935
- }, dateOptions),
5564
+ }, dateOptions)
5565
+ : undefined;
5566
+ const query = {
5567
+ ocid: ocid,
5568
+ date: date,
4936
5569
  };
4937
5570
  const { data } = await this.client.get(path, {
4938
5571
  params: query,
@@ -4943,8 +5576,9 @@ class MapleStoryApi {
4943
5576
  //#region 길드 정보 조회
4944
5577
  /**
4945
5578
  * 길드 식별자(oguild_id) 정보를 조회합니다.
5579
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4946
5580
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4947
- * - 길드 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.).
5581
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4948
5582
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4949
5583
  *
4950
5584
  * @param guildName 길드 명
@@ -4962,26 +5596,26 @@ class MapleStoryApi {
4962
5596
  }
4963
5597
  /**
4964
5598
  * 길드 기본 정보를 조회합니다.
5599
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4965
5600
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4966
- * - 길드 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.).
5601
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4967
5602
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4968
5603
  *
4969
5604
  * @param guildId 길드 식별자
4970
5605
  * @param dateOptions 조회 기준일 (KST)
4971
5606
  */
4972
- async getGuildBasic(guildId, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4973
- hour: 1,
4974
- minute: 0,
4975
- dateOffset: 1,
4976
- })) {
5607
+ async getGuildBasic(guildId, dateOptions) {
4977
5608
  const path = 'maplestory/v1/guild/basic';
4978
- const query = {
4979
- oguild_id: guildId,
4980
- date: MapleStoryApi.toDateString({
5609
+ const date = dateOptions
5610
+ ? MapleStoryApi.toDateString({
4981
5611
  year: 2023,
4982
5612
  month: 12,
4983
5613
  day: 21,
4984
- }, dateOptions),
5614
+ }, dateOptions)
5615
+ : undefined;
5616
+ const query = {
5617
+ oguild_id: guildId,
5618
+ date: date,
4985
5619
  };
4986
5620
  const { data } = await this.client.get(path, {
4987
5621
  params: query,
@@ -4996,7 +5630,7 @@ class MapleStoryApi {
4996
5630
  if (typeof parameter === 'string') {
4997
5631
  query.cursor = parameter;
4998
5632
  }
4999
- else if (typeof parameter === 'object') {
5633
+ else if (typeof parameter === 'object' || parameter === undefined) {
5000
5634
  query.date = MapleStoryApi.toDateString({
5001
5635
  year: 2023,
5002
5636
  month: 12,
@@ -5271,6 +5905,120 @@ class MapleStoryApi {
5271
5905
  return new AchievementRankingResponseDto(data);
5272
5906
  }
5273
5907
  //#endregion
5908
+ //#region 공지 정보 조회
5909
+ /**
5910
+ * 메이플스토리 공지사항에 최근 등록된 게시글 20개를 조회합니다.
5911
+ *
5912
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5913
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5914
+ */
5915
+ async getNoticeList() {
5916
+ const path = 'maplestory/v1/notice';
5917
+ const { data } = await this.client.get(path);
5918
+ return new NoticeListDto(data);
5919
+ }
5920
+ /**
5921
+ * 메이플스토리 공지사항 게시글 세부 사항을 조회합니다.
5922
+ *
5923
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5924
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5925
+ * @param noticeId 공지 식별자
5926
+ */
5927
+ async getNoticeDetail(noticeId) {
5928
+ const path = 'maplestory/v1/notice/detail';
5929
+ const query = {
5930
+ notice_id: noticeId,
5931
+ };
5932
+ const { data } = await this.client.get(path, {
5933
+ params: query,
5934
+ });
5935
+ return new NoticeDetailDto(data);
5936
+ }
5937
+ /**
5938
+ * 메이플스토리 업데이트에 최근 등록된 게시글 20개를 조회합니다.
5939
+ *
5940
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5941
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5942
+ */
5943
+ async getUpdateNoticeList() {
5944
+ const path = 'maplestory/v1/notice-update';
5945
+ const { data } = await this.client.get(path);
5946
+ return new UpdateNoticeListDto(data);
5947
+ }
5948
+ /**
5949
+ * 메이플스토리 업데이트 게시글 세부 사항을 조회합니다.
5950
+ *
5951
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5952
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5953
+ * @param noticeId 공지 식별자
5954
+ */
5955
+ async getUpdateNoticeDetail(noticeId) {
5956
+ const path = 'maplestory/v1/notice-update/detail';
5957
+ const query = {
5958
+ notice_id: noticeId,
5959
+ };
5960
+ const { data } = await this.client.get(path, {
5961
+ params: query,
5962
+ });
5963
+ return new UpdateNoticeDetailDto(data);
5964
+ }
5965
+ /**
5966
+ * 메이플스토리 진행 중 이벤트에 최근 등록된 공지사항 20개를 조회합니다.
5967
+ *
5968
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5969
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5970
+ */
5971
+ async getEventNoticeList() {
5972
+ const path = 'maplestory/v1/notice-event';
5973
+ const { data } = await this.client.get(path);
5974
+ return new EventNoticeListDto(data);
5975
+ }
5976
+ /**
5977
+ * 메이플스토리 진행 중 이벤트 게시글 세부 사항을 조회합니다.
5978
+ *
5979
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5980
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5981
+ * @param noticeId 공지 식별자
5982
+ */
5983
+ async getEventNoticeDetail(noticeId) {
5984
+ const path = 'maplestory/v1/notice-event/detail';
5985
+ const query = {
5986
+ notice_id: noticeId,
5987
+ };
5988
+ const { data } = await this.client.get(path, {
5989
+ params: query,
5990
+ });
5991
+ return new EventNoticeDetailDto(data);
5992
+ }
5993
+ /**
5994
+ * 메이플스토리 캐시샵 공지에 최근 등록된 공지사항 20개를 조회합니다.
5995
+ *
5996
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5997
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5998
+ */
5999
+ async getCashshopNoticeList() {
6000
+ const path = 'maplestory/v1/notice-cashshop';
6001
+ const { data } = await this.client.get(path);
6002
+ return new CashshopNoticeListDto(data);
6003
+ }
6004
+ /**
6005
+ * 메이플스토리 캐시샵 공지 게시글 세부 사항을 조회합니다.
6006
+ *
6007
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
6008
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
6009
+ * @param noticeId 공지 식별자
6010
+ */
6011
+ async getCashshopNoticeDetail(noticeId) {
6012
+ const path = 'maplestory/v1/notice-cashshop/detail';
6013
+ const query = {
6014
+ notice_id: noticeId,
6015
+ };
6016
+ const { data } = await this.client.get(path, {
6017
+ params: query,
6018
+ });
6019
+ return new CashshopNoticeDetailDto(data);
6020
+ }
6021
+ //#endregion
5274
6022
  /**
5275
6023
  * 서버 점검 정보를 조회합니다.
5276
6024
  */
@@ -5357,6 +6105,9 @@ class MapleStoryApi {
5357
6105
 
5358
6106
  exports.AchievementRankingDto = AchievementRankingDto;
5359
6107
  exports.AchievementRankingResponseDto = AchievementRankingResponseDto;
6108
+ exports.CashshopNoticeDetailDto = CashshopNoticeDetailDto;
6109
+ exports.CashshopNoticeListDto = CashshopNoticeListDto;
6110
+ exports.CashshopNoticeListItemDto = CashshopNoticeListItemDto;
5360
6111
  exports.CharacterAbilityDto = CharacterAbilityDto;
5361
6112
  exports.CharacterAbilityInfoDto = CharacterAbilityInfoDto;
5362
6113
  exports.CharacterAbilityPresetDto = CharacterAbilityPresetDto;
@@ -5397,6 +6148,9 @@ exports.CharacterItemEquipmentTitleDto = CharacterItemEquipmentTitleDto;
5397
6148
  exports.CharacterItemEquipmentTotalOptionDto = CharacterItemEquipmentTotalOptionDto;
5398
6149
  exports.CharacterLinkSkillDto = CharacterLinkSkillDto;
5399
6150
  exports.CharacterLinkSkillInfoDto = CharacterLinkSkillInfoDto;
6151
+ exports.CharacterListAccountCharacterDto = CharacterListAccountCharacterDto;
6152
+ exports.CharacterListAccountDto = CharacterListAccountDto;
6153
+ exports.CharacterListDto = CharacterListDto;
5400
6154
  exports.CharacterPetEquipmentAutoSkillDto = CharacterPetEquipmentAutoSkillDto;
5401
6155
  exports.CharacterPetEquipmentDto = CharacterPetEquipmentDto;
5402
6156
  exports.CharacterPetEquipmentItemDto = CharacterPetEquipmentItemDto;
@@ -5405,7 +6159,8 @@ exports.CharacterPopularityDto = CharacterPopularityDto;
5405
6159
  exports.CharacterPropensityDto = CharacterPropensityDto;
5406
6160
  exports.CharacterSetEffectDto = CharacterSetEffectDto;
5407
6161
  exports.CharacterSetEffectInfoDto = CharacterSetEffectInfoDto;
5408
- exports.CharacterSetEffectOptionInfoDto = CharacterSetEffectOptionInfoDto;
6162
+ exports.CharacterSetEffectOptionFullDto = CharacterSetEffectOptionFullDto;
6163
+ exports.CharacterSetEffectSetDto = CharacterSetEffectSetDto;
5409
6164
  exports.CharacterSkillDto = CharacterSkillDto;
5410
6165
  exports.CharacterSkillInfoDto = CharacterSkillInfoDto;
5411
6166
  exports.CharacterStatDto = CharacterStatDto;
@@ -5418,6 +6173,9 @@ exports.CubeHistoryResponseDto = CubeHistoryResponseDto;
5418
6173
  exports.CubeResultOptionDto = CubeResultOptionDto;
5419
6174
  exports.DojangRankingDto = DojangRankingDto;
5420
6175
  exports.DojangRankingResponseDto = DojangRankingResponseDto;
6176
+ exports.EventNoticeDetailDto = EventNoticeDetailDto;
6177
+ exports.EventNoticeListDto = EventNoticeListDto;
6178
+ exports.EventNoticeListItemDto = EventNoticeListItemDto;
5421
6179
  exports.GuildBasicDto = GuildBasicDto;
5422
6180
  exports.GuildDto = GuildDto;
5423
6181
  exports.GuildRankingDto = GuildRankingDto;
@@ -5426,6 +6184,9 @@ exports.GuildSkillDto = GuildSkillDto;
5426
6184
  exports.InspectionInfoDto = InspectionInfoDto;
5427
6185
  exports.MapleStoryApi = MapleStoryApi;
5428
6186
  exports.MapleStoryApiError = MapleStoryApiError;
6187
+ exports.NoticeDetailDto = NoticeDetailDto;
6188
+ exports.NoticeListDto = NoticeListDto;
6189
+ exports.NoticeListItemDto = NoticeListItemDto;
5429
6190
  exports.OverallRankingDto = OverallRankingDto;
5430
6191
  exports.OverallRankingResponseDto = OverallRankingResponseDto;
5431
6192
  exports.PotentialHistoryDto = PotentialHistoryDto;
@@ -5445,6 +6206,10 @@ exports.UnionRaiderBlockDto = UnionRaiderBlockDto;
5445
6206
  exports.UnionRaiderBlockPositionDto = UnionRaiderBlockPositionDto;
5446
6207
  exports.UnionRaiderDto = UnionRaiderDto;
5447
6208
  exports.UnionRaiderInnerStatDto = UnionRaiderInnerStatDto;
6209
+ exports.UnionRaiderPresetDto = UnionRaiderPresetDto;
5448
6210
  exports.UnionRankingDto = UnionRankingDto;
5449
6211
  exports.UnionRankingResponseDto = UnionRankingResponseDto;
6212
+ exports.UpdateNoticeDetailDto = UpdateNoticeDetailDto;
6213
+ exports.UpdateNoticeListDto = UpdateNoticeListDto;
6214
+ exports.UpdateNoticeListItemDto = UpdateNoticeListItemDto;
5450
6215
  exports.potentialOptionGradeFromString = potentialOptionGradeFromString;