maplestory-openapi 3.4.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +11 -10
  2. package/dist/cjs/maplestory/api/common/mapleStoryApi.js +25 -0
  3. package/dist/cjs/maplestory/api/kms/dto/character/characterAndroidEquipment.js +1 -1
  4. package/dist/cjs/maplestory/api/kms/dto/character/characterBasic.js +1 -1
  5. package/dist/cjs/maplestory/api/kms/dto/character/characterRingExchangeSkillEquipment.js +12 -2
  6. package/dist/cjs/maplestory/api/kms/dto/history/starforceHistory.js +1 -1
  7. package/dist/cjs/maplestory/api/kms/mapleStoryApi.js +96 -11
  8. package/dist/cjs/maplestory/api/msea/dto/character/characterBasic.js +1 -1
  9. package/dist/cjs/maplestory/api/msea/mapleStoryApi.js +77 -1
  10. package/dist/cjs/maplestory/api/tms/dto/character/characterBasic.js +1 -1
  11. package/dist/cjs/maplestory/api/tms/mapleStoryApi.js +77 -1
  12. package/dist/esm/maplestory/api/common/mapleStoryApi.js +25 -0
  13. package/dist/esm/maplestory/api/kms/dto/character/characterAndroidEquipment.js +1 -1
  14. package/dist/esm/maplestory/api/kms/dto/character/characterBasic.js +1 -1
  15. package/dist/esm/maplestory/api/kms/dto/character/characterRingExchangeSkillEquipment.js +12 -2
  16. package/dist/esm/maplestory/api/kms/dto/history/starforceHistory.js +1 -1
  17. package/dist/esm/maplestory/api/kms/mapleStoryApi.js +96 -11
  18. package/dist/esm/maplestory/api/msea/dto/character/characterBasic.js +1 -1
  19. package/dist/esm/maplestory/api/msea/mapleStoryApi.js +77 -1
  20. package/dist/esm/maplestory/api/tms/dto/character/characterBasic.js +1 -1
  21. package/dist/esm/maplestory/api/tms/mapleStoryApi.js +77 -1
  22. package/dist/index.min.js +1 -1
  23. package/package.json +4 -3
  24. package/types/maplestory/api/common/dto/character/characterAbility.d.ts +2 -2
  25. package/types/maplestory/api/common/dto/character/characterBasic.d.ts +1 -1
  26. package/types/maplestory/api/common/dto/character/characterCashItemEquipment.d.ts +3 -3
  27. package/types/maplestory/api/common/dto/character/characterDojang.d.ts +4 -4
  28. package/types/maplestory/api/common/dto/character/characterHexaMatrixStat.d.ts +1 -1
  29. package/types/maplestory/api/common/dto/character/characterHyperStat.d.ts +6 -6
  30. package/types/maplestory/api/common/dto/character/characterItemEquipment.d.ts +2 -2
  31. package/types/maplestory/api/common/dto/character/characterLinkSkill.d.ts +1 -1
  32. package/types/maplestory/api/common/dto/character/characterPropensity.d.ts +6 -6
  33. package/types/maplestory/api/common/dto/character/characterSkill.d.ts +1 -1
  34. package/types/maplestory/api/common/dto/character/characterStat.d.ts +2 -2
  35. package/types/maplestory/api/common/dto/character/characterSymbolEquipment.d.ts +1 -1
  36. package/types/maplestory/api/common/dto/character/characterVMatrix.d.ts +2 -2
  37. package/types/maplestory/api/common/dto/union/unionRaider.d.ts +1 -1
  38. package/types/maplestory/api/common/mapleStoryApi.d.ts +36 -25
  39. package/types/maplestory/api/kms/dto/character/characterAbility.d.ts +2 -2
  40. package/types/maplestory/api/kms/dto/character/characterAndroidEquipment.d.ts +1 -1
  41. package/types/maplestory/api/kms/dto/character/characterBasic.d.ts +1 -1
  42. package/types/maplestory/api/kms/dto/character/characterCashItemEquipment.d.ts +3 -3
  43. package/types/maplestory/api/kms/dto/character/characterDojang.d.ts +4 -4
  44. package/types/maplestory/api/kms/dto/character/characterHexaMatrixStat.d.ts +1 -1
  45. package/types/maplestory/api/kms/dto/character/characterHyperStat.d.ts +6 -6
  46. package/types/maplestory/api/kms/dto/character/characterItemEquipment.d.ts +2 -2
  47. package/types/maplestory/api/kms/dto/character/characterLinkSkill.d.ts +1 -1
  48. package/types/maplestory/api/kms/dto/character/characterPropensity.d.ts +6 -6
  49. package/types/maplestory/api/kms/dto/character/characterRingExchangeSkillEquipment.d.ts +8 -0
  50. package/types/maplestory/api/kms/dto/character/characterSkill.d.ts +1 -1
  51. package/types/maplestory/api/kms/dto/character/characterStat.d.ts +2 -2
  52. package/types/maplestory/api/kms/dto/character/characterSymbolEquipment.d.ts +1 -1
  53. package/types/maplestory/api/kms/dto/character/characterVMatrix.d.ts +2 -2
  54. package/types/maplestory/api/kms/dto/history/starforceHistory.d.ts +4 -4
  55. package/types/maplestory/api/kms/dto/union/unionRaider.d.ts +1 -1
  56. package/types/maplestory/api/kms/mapleStoryApi.d.ts +32 -32
  57. package/types/maplestory/api/kms/response/character/characterAndroidEquipmentBody.d.ts +1 -1
  58. package/types/maplestory/api/kms/response/character/characterBasicBody.d.ts +1 -1
  59. package/types/maplestory/api/kms/response/character/characterPopularityBody.d.ts +1 -1
  60. package/types/maplestory/api/kms/response/character/characterRingExchangeSkillEquipmentBody.d.ts +2 -0
  61. package/types/maplestory/api/kms/response/union/unionRaiderBody.d.ts +1 -1
  62. package/types/maplestory/api/msea/dto/character/characterAbility.d.ts +2 -2
  63. package/types/maplestory/api/msea/dto/character/characterBasic.d.ts +1 -1
  64. package/types/maplestory/api/msea/dto/character/characterCashItemEquipment.d.ts +3 -3
  65. package/types/maplestory/api/msea/dto/character/characterDojang.d.ts +4 -4
  66. package/types/maplestory/api/msea/dto/character/characterHexaMatrixStat.d.ts +1 -1
  67. package/types/maplestory/api/msea/dto/character/characterHyperStat.d.ts +6 -6
  68. package/types/maplestory/api/msea/dto/character/characterItemEquipment.d.ts +2 -2
  69. package/types/maplestory/api/msea/dto/character/characterLinkSkill.d.ts +1 -1
  70. package/types/maplestory/api/msea/dto/character/characterPropensity.d.ts +6 -6
  71. package/types/maplestory/api/msea/dto/character/characterSkill.d.ts +1 -1
  72. package/types/maplestory/api/msea/dto/character/characterStat.d.ts +2 -2
  73. package/types/maplestory/api/msea/dto/character/characterSymbolEquipment.d.ts +1 -1
  74. package/types/maplestory/api/msea/dto/character/characterVMatrix.d.ts +2 -2
  75. package/types/maplestory/api/msea/dto/union/unionRaider.d.ts +1 -1
  76. package/types/maplestory/api/msea/mapleStoryApi.d.ts +25 -25
  77. package/types/maplestory/api/msea/response/character/characterBasicBody.d.ts +1 -1
  78. package/types/maplestory/api/msea/response/character/characterPopularityBody.d.ts +1 -1
  79. package/types/maplestory/api/msea/response/union/unionRaiderBody.d.ts +1 -1
  80. package/types/maplestory/api/tms/dto/character/characterAbility.d.ts +2 -2
  81. package/types/maplestory/api/tms/dto/character/characterBasic.d.ts +1 -1
  82. package/types/maplestory/api/tms/dto/character/characterCashItemEquipment.d.ts +3 -3
  83. package/types/maplestory/api/tms/dto/character/characterDojang.d.ts +4 -4
  84. package/types/maplestory/api/tms/dto/character/characterHexaMatrixStat.d.ts +1 -1
  85. package/types/maplestory/api/tms/dto/character/characterHyperStat.d.ts +6 -6
  86. package/types/maplestory/api/tms/dto/character/characterItemEquipment.d.ts +2 -2
  87. package/types/maplestory/api/tms/dto/character/characterLinkSkill.d.ts +1 -1
  88. package/types/maplestory/api/tms/dto/character/characterPropensity.d.ts +6 -6
  89. package/types/maplestory/api/tms/dto/character/characterSkill.d.ts +1 -1
  90. package/types/maplestory/api/tms/dto/character/characterStat.d.ts +2 -2
  91. package/types/maplestory/api/tms/dto/character/characterSymbolEquipment.d.ts +1 -1
  92. package/types/maplestory/api/tms/dto/character/characterVMatrix.d.ts +2 -2
  93. package/types/maplestory/api/tms/dto/union/unionRaider.d.ts +1 -1
  94. package/types/maplestory/api/tms/mapleStoryApi.d.ts +25 -25
  95. package/types/maplestory/api/tms/response/character/characterBasicBody.d.ts +1 -1
  96. package/types/maplestory/api/tms/response/character/characterPopularityBody.d.ts +1 -1
  97. package/types/maplestory/api/tms/response/union/unionRaiderBody.d.ts +1 -1
@@ -85,6 +85,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
85
85
  const { data } = await this.client.get(path, {
86
86
  params: query,
87
87
  });
88
+ if (this.isEmptyResponse(data)) {
89
+ return null;
90
+ }
88
91
  return new CharacterBasicDto(data);
89
92
  }
90
93
  /**
@@ -99,7 +102,11 @@ class MapleStoryApi extends MapleStoryApi$1 {
99
102
  * @param dateOptions 要搜尋的日期 (TST)
100
103
  */
101
104
  async getCharacterImage(ocid, imageOptions, dateOptions) {
102
- const { date, characterImage: path } = await this.getCharacterBasic(ocid, dateOptions);
105
+ const basic = await this.getCharacterBasic(ocid, dateOptions);
106
+ if (!basic) {
107
+ return null;
108
+ }
109
+ const { date, characterImage: path } = basic;
103
110
  const action = imageOptions?.action ?? CharacterImageAction.Stand1;
104
111
  const emotion = imageOptions?.emotion ?? CharacterImageEmotion.Default;
105
112
  const wmotion = imageOptions?.wmotion ?? CharacterImageWeaponMotion.Default;
@@ -173,6 +180,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
173
180
  const { data } = await this.client.get(path, {
174
181
  params: query,
175
182
  });
183
+ if (this.isEmptyResponse(data)) {
184
+ return null;
185
+ }
176
186
  return new CharacterPopularityDto(data);
177
187
  }
178
188
  /**
@@ -201,6 +211,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
201
211
  const { data } = await this.client.get(path, {
202
212
  params: query,
203
213
  });
214
+ if (this.isEmptyResponse(data)) {
215
+ return null;
216
+ }
204
217
  return new CharacterStatDto(data);
205
218
  }
206
219
  /**
@@ -229,6 +242,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
229
242
  const { data } = await this.client.get(path, {
230
243
  params: query,
231
244
  });
245
+ if (this.isEmptyResponse(data)) {
246
+ return null;
247
+ }
232
248
  return new CharacterHyperStatDto(data);
233
249
  }
234
250
  /**
@@ -257,6 +273,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
257
273
  const { data } = await this.client.get(path, {
258
274
  params: query,
259
275
  });
276
+ if (this.isEmptyResponse(data)) {
277
+ return null;
278
+ }
260
279
  return new CharacterPropensityDto(data);
261
280
  }
262
281
  /**
@@ -285,6 +304,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
285
304
  const { data } = await this.client.get(path, {
286
305
  params: query,
287
306
  });
307
+ if (this.isEmptyResponse(data)) {
308
+ return null;
309
+ }
288
310
  return new CharacterAbilityDto(data);
289
311
  }
290
312
  /**
@@ -313,6 +335,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
313
335
  const { data } = await this.client.get(path, {
314
336
  params: query,
315
337
  });
338
+ if (this.isEmptyResponse(data)) {
339
+ return null;
340
+ }
316
341
  return new CharacterItemEquipmentDto(data);
317
342
  }
318
343
  /**
@@ -341,6 +366,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
341
366
  const { data } = await this.client.get(path, {
342
367
  params: query,
343
368
  });
369
+ if (this.isEmptyResponse(data)) {
370
+ return null;
371
+ }
344
372
  return new CharacterCashItemEquipmentDto(data);
345
373
  }
346
374
  /**
@@ -369,6 +397,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
369
397
  const { data } = await this.client.get(path, {
370
398
  params: query,
371
399
  });
400
+ if (this.isEmptyResponse(data)) {
401
+ return null;
402
+ }
372
403
  return new CharacterSymbolEquipmentDto(data);
373
404
  }
374
405
  /**
@@ -397,6 +428,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
397
428
  const { data } = await this.client.get(path, {
398
429
  params: query,
399
430
  });
431
+ if (this.isEmptyResponse(data)) {
432
+ return null;
433
+ }
400
434
  return new CharacterSetEffectDto(data);
401
435
  }
402
436
  /**
@@ -425,6 +459,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
425
459
  const { data } = await this.client.get(path, {
426
460
  params: query,
427
461
  });
462
+ if (this.isEmptyResponse(data)) {
463
+ return null;
464
+ }
428
465
  return new CharacterBeautyEquipmentDto(data);
429
466
  }
430
467
  /**
@@ -453,6 +490,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
453
490
  const { data } = await this.client.get(path, {
454
491
  params: query,
455
492
  });
493
+ if (this.isEmptyResponse(data)) {
494
+ return null;
495
+ }
456
496
  return new CharacterAndroidEquipmentDto(data);
457
497
  }
458
498
  /**
@@ -481,6 +521,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
481
521
  const { data } = await this.client.get(path, {
482
522
  params: query,
483
523
  });
524
+ if (this.isEmptyResponse(data)) {
525
+ return null;
526
+ }
484
527
  return new CharacterPetEquipmentDto(data);
485
528
  }
486
529
  /**
@@ -511,6 +554,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
511
554
  const { data } = await this.client.get(path, {
512
555
  params: query,
513
556
  });
557
+ if (this.isEmptyResponse(data)) {
558
+ return null;
559
+ }
514
560
  return new CharacterSkillDto(data);
515
561
  }
516
562
  /**
@@ -539,6 +585,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
539
585
  const { data } = await this.client.get(path, {
540
586
  params: query,
541
587
  });
588
+ if (this.isEmptyResponse(data)) {
589
+ return null;
590
+ }
542
591
  return new CharacterLinkSkillDto(data);
543
592
  }
544
593
  /**
@@ -567,6 +616,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
567
616
  const { data } = await this.client.get(path, {
568
617
  params: query,
569
618
  });
619
+ if (this.isEmptyResponse(data)) {
620
+ return null;
621
+ }
570
622
  return new CharacterVMatrixDto(data);
571
623
  }
572
624
  /**
@@ -595,6 +647,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
595
647
  const { data } = await this.client.get(path, {
596
648
  params: query,
597
649
  });
650
+ if (this.isEmptyResponse(data)) {
651
+ return null;
652
+ }
598
653
  return new CharacterHexaMatrixDto(data);
599
654
  }
600
655
  /**
@@ -623,6 +678,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
623
678
  const { data } = await this.client.get(path, {
624
679
  params: query,
625
680
  });
681
+ if (this.isEmptyResponse(data)) {
682
+ return null;
683
+ }
626
684
  return new CharacterHexaMatrixStatDto(data);
627
685
  }
628
686
  /**
@@ -651,6 +709,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
651
709
  const { data } = await this.client.get(path, {
652
710
  params: query,
653
711
  });
712
+ if (this.isEmptyResponse(data)) {
713
+ return null;
714
+ }
654
715
  return new CharacterDojangDto(data);
655
716
  }
656
717
  //#endregion
@@ -681,6 +742,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
681
742
  const { data } = await this.client.get(path, {
682
743
  params: query,
683
744
  });
745
+ if (this.isEmptyResponse(data)) {
746
+ return null;
747
+ }
684
748
  return new UnionDto(data);
685
749
  }
686
750
  /**
@@ -709,6 +773,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
709
773
  const { data } = await this.client.get(path, {
710
774
  params: query,
711
775
  });
776
+ if (this.isEmptyResponse(data)) {
777
+ return null;
778
+ }
712
779
  return new UnionRaiderDto(data);
713
780
  }
714
781
  /**
@@ -737,6 +804,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
737
804
  const { data } = await this.client.get(path, {
738
805
  params: query,
739
806
  });
807
+ if (this.isEmptyResponse(data)) {
808
+ return null;
809
+ }
740
810
  return new UnionArtifactDto(data);
741
811
  }
742
812
  //#endregion
@@ -759,6 +829,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
759
829
  world_name: worldName,
760
830
  },
761
831
  });
832
+ if (this.isEmptyResponse(data)) {
833
+ return null;
834
+ }
762
835
  return new GuildDto(data);
763
836
  }
764
837
  /**
@@ -787,6 +860,9 @@ class MapleStoryApi extends MapleStoryApi$1 {
787
860
  const { data } = await this.client.get(path, {
788
861
  params: query,
789
862
  });
863
+ if (this.isEmptyResponse(data)) {
864
+ return null;
865
+ }
790
866
  return new GuildBasicDto(data);
791
867
  }
792
868
  }
package/dist/index.min.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("dayjs")):"function"==typeof define&&define.amd?define(["exports","axios","dayjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["maplestory-openapi"]={},t.axios,t.dayjs)}(this,function(t,e,a){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=r(e),i=r(a),s=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self,{exports:{}});!function(t){var e,a;t.exports=(e={year:0,month:1,day:2,hour:3,minute:4,second:5},a={},function(t,r,o){var i,s=function(t,e,r){void 0===r&&(r={});var o=new Date(t),i=function(t,e){void 0===e&&(e={});var r=e.timeZoneName||"short",o=t+"|"+r,i=a[o];return i||(i=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:r}),a[o]=i),i}(e,r);return i.formatToParts(o)},n=function(t,a){for(var r=s(t,a),i=[],n=0;n<r.length;n+=1){var c=r[n],l=c.type,u=c.value,h=e[l];h>=0&&(i[h]=parseInt(u,10))}var f=i[3],m=24===f?0:f,d=i[0]+"-"+i[1]+"-"+i[2]+" "+m+":"+i[4]+":"+i[5]+":000",E=+t;return(o.utc(d).valueOf()-(E-=E%1e3))/6e4},c=r.prototype;c.tz=function(t,e){void 0===t&&(t=i);var a,r=this.utcOffset(),s=this.toDate(),n=s.toLocaleString("en-US",{timeZone:t}),c=Math.round((s-new Date(n))/1e3/60),l=15*-Math.round(s.getTimezoneOffset()/15)-c;if(Number(l)){if(a=o(n,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(l,!0),e){var u=a.utcOffset();a=a.add(r-u,"minute")}}else a=this.utcOffset(0,e);return a.$x.$timezone=t,a},c.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),a=s(this.valueOf(),e,{timeZoneName:t}).find(function(t){return"timezonename"===t.type.toLowerCase()});return a&&a.value};var l=c.startOf;c.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return l.call(this,t,e);var a=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return l.call(a,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,a){var r=a&&e,s=a||e||i,c=n(+o(),s);if("string"!=typeof t)return o(t).tz(s);var l=function(t,e,a){var r=t-60*e*1e3,o=n(r,a);if(e===o)return[r,e];var i=n(r-=60*(o-e)*1e3,a);return o===i?[r,o]:[t-60*Math.min(o,i)*1e3,Math.max(o,i)]}(o.utc(t,r).valueOf(),c,s),u=l[0],h=l[1],f=o(u).utcOffset(h);return f.$x.$timezone=s,f},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){i=t}})}(s);var n=s.exports,c={exports:{}};!function(t){var e,a,r;t.exports=(e="minute",a=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g,function(t,o,i){var s=o.prototype;i.utc=function(t){return new o({date:t,utc:!0,args:arguments})},s.utc=function(t){var a=i(this.toDate(),{locale:this.$L,utc:!0});return t?a.add(this.utcOffset(),e):a},s.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var n=s.parse;s.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),n.call(this,t)};var c=s.init;s.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else c.call(this)};var l=s.utcOffset;s.utcOffset=function(t,o){var i=this.$utils().u;if(i(t))return this.$u?0:i(this.$offset)?l.call(this):this.$offset;if("string"==typeof t&&(t=function(t){void 0===t&&(t="");var e=t.match(a);if(!e)return null;var o=(""+e[0]).match(r)||["-",0,0],i=o[0],s=60*+o[1]+ +o[2];return 0===s?0:"+"===i?s:-s}(t),null===t))return this;var s=Math.abs(t)<=16?60*t:t;if(0===s)return this.utc(o);var n=this.clone();if(o)return n.$offset=s,n.$u=!1,n;var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(n=this.local().add(s+c,e)).$offset=s,n.$x.$localOffset=c,n};var u=s.format;s.format=function(t){var e=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,e)},s.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var h=s.toDate;s.toDate=function(t){return"s"===t&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():h.call(this)};var f=s.diff;s.diff=function(t,e,a){if(t&&this.$u===t.$u)return f.call(this,t,e,a);var r=this.local(),o=i(t).local();return f.call(r,o,e,a)}})}(c);var l,u=c.exports;class h extends Error{name="MapleStoryApiError";errorCode;message;constructor(t){const{name:e,message:a}=t.error;super(a),this.errorCode=f[e],this.message=a}}t.MapleStoryApiErrorCode=void 0,(l=t.MapleStoryApiErrorCode||(t.MapleStoryApiErrorCode={}))[l.OPENAPI00001=0]="OPENAPI00001",l[l.OPENAPI00002=1]="OPENAPI00002",l[l.OPENAPI00003=2]="OPENAPI00003",l[l.OPENAPI00004=3]="OPENAPI00004",l[l.OPENAPI00005=4]="OPENAPI00005",l[l.OPENAPI00006=5]="OPENAPI00006",l[l.OPENAPI00007=6]="OPENAPI00007",l[l.OPENAPI00009=7]="OPENAPI00009",l[l.OPENAPI00010=8]="OPENAPI00010",l[l.OPENAPI00011=9]="OPENAPI00011";const f={OPENAPI00001:t.MapleStoryApiErrorCode.OPENAPI00001,OPENAPI00002:t.MapleStoryApiErrorCode.OPENAPI00002,OPENAPI00003:t.MapleStoryApiErrorCode.OPENAPI00003,OPENAPI00004:t.MapleStoryApiErrorCode.OPENAPI00004,OPENAPI00005:t.MapleStoryApiErrorCode.OPENAPI00005,OPENAPI00006:t.MapleStoryApiErrorCode.OPENAPI00006,OPENAPI00007:t.MapleStoryApiErrorCode.OPENAPI00007,OPENAPI00009:t.MapleStoryApiErrorCode.OPENAPI00009,OPENAPI00010:t.MapleStoryApiErrorCode.OPENAPI00010,OPENAPI00011:t.MapleStoryApiErrorCode.OPENAPI00011};i.default.extend(n),i.default.extend(u);class m{apiKey;client;static BASE_URL="https://open.api.nexon.com/";static DEFAULT_TIMEOUT=5e3;get timeout(){return this.client.defaults.timeout}set timeout(t){this.client.defaults.timeout=t}constructor(t){this.apiKey=t,this.client=o.default.create({baseURL:m.BASE_URL,timeout:m.DEFAULT_TIMEOUT,headers:{"x-nxopen-api-key":this.apiKey}}),this.client.interceptors.response.use(t=>t,t=>{if(t instanceof e.AxiosError){const e=t.response.data;throw new h(e)}throw t})}getProperDefaultDateOptions(t){const{hour:e,minute:a,dateOffset:r}=t,o=i.default().utcOffset(this.timezoneOffset),s=i.default().utcOffset(this.timezoneOffset).hour(e).minute(a);let n;return n=o.isAfter(s)?o:o.subtract(1,"day"),n=n.subtract(r??0,"day"),{year:n.year(),month:n.month()+1,day:n.date()}}toDateString(t,e){const a=t=>{let e,a,r,o;return t instanceof Date?(o=i.default(t).utcOffset(this.timezoneOffset),e=o.year(),a=o.month()+1,r=o.date()):(e=t.year,a=t.month,r=t.day,o=i.default(`${e}-${a}-${r}`).utcOffset(this.timezoneOffset)),{year:e,month:a,day:r,d:o}},{year:r,month:o,day:s,d:n}=a(t),c=n.format("YYYY-MM-DD");if(e){const{year:t,month:n,day:c}=a(e);if(r<t||r===t&&o<n||r===t&&o===n&&s<c)throw new Error(`You can only retrieve data after ${i.default(`${t}-${n}-${c}`).format("YYYY-MM-DD")}.`)}return c}}var d,E,p,A;t.CharacterImageAction=void 0,(d=t.CharacterImageAction||(t.CharacterImageAction={})).Stand1="A00",d.Stand2="A01",d.Walk1="A02",d.Walk2="A03",d.Prone="A04",d.Fly="A05",d.Jump="A06",d.Sit="A07",d.Ladder="A08",d.Rope="A09",d.Heal="A10",d.Alert="A11",d.ProneStab="A12",d.SwingO1="A13",d.SwingO2="A14",d.SwingO3="A15",d.SwingOF="A16",d.SwingP1="A17",d.SwingP2="A18",d.SwingPF="A19",d.SwingT1="A20",d.SwingT2="A21",d.SwingT3="A22",d.SwingTF="A23",d.StabO1="A24",d.StabO2="A25",d.StabOF="A26",d.StabT1="A27",d.StabT2="A28",d.StabTF="A29",d.Shoot1="A30",d.Shoot2="A31",d.ShootF="A32",d.Dead="A33",d.GhostWalk="A34",d.GhostStand="A35",d.GhostJump="A36",d.GhostProneStab="A37",d.GhostLadder="A38",d.GhostRope="A39",d.GhostFly="A40",d.GhostSit="A41",t.CharacterImageEmotion=void 0,(E=t.CharacterImageEmotion||(t.CharacterImageEmotion={})).Default="E00",E.Wink="E01",E.Smile="E02",E.Cry="E03",E.Angry="E04",E.Bewildered="E05",E.Blink="E06",E.Blaze="E07",E.Bowing="E08",E.Cheers="E09",E.Chu="E10",E.Dam="E11",E.Despair="E12",E.Glitter="E13",E.Hit="E14",E.Hot="E15",E.Hum="E16",E.Love="E17",E.Oops="E18",E.Pain="E19",E.Troubled="E20",E.QBlue="E21",E.Shine="E22",E.Stunned="E23",E.Vomit="E24",t.CharacterImageWeaponMotion=void 0,(p=t.CharacterImageWeaponMotion||(t.CharacterImageWeaponMotion={})).Default="W00",p.OneHand="W01",p.TwoHands="W02",p.Gun="W03",p.Nothing="W04",t.PotentialOptionGrade=void 0,(A=t.PotentialOptionGrade||(t.PotentialOptionGrade={}))[A.RARE=0]="RARE",A[A.EPIC=1]="EPIC",A[A.UNIQUE=2]="UNIQUE",A[A.LEGENDARY=3]="LEGENDARY";t.CharacterAbilityDto=class{},t.CharacterAbilityInfoDto=class{},t.CharacterAbilityPresetDto=class{},t.CharacterAndroidCashItemEquipmentColoringPrismDto=class{},t.CharacterAndroidCashItemEquipmentDto=class{},t.CharacterAndroidCashItemEquipmentOptionDto=class{},t.CharacterAndroidEquipmentDto=class{},t.CharacterAndroidEquipmentFaceDto=class{},t.CharacterAndroidEquipmentHairDto=class{},t.CharacterAndroidEquipmentPresetDto=class{},t.CharacterAndroidEquipmentSkinDto=class{},t.CharacterBasicDto=class{get isAccessFlag(){return"true"===this.accessFlag}},t.CharacterBeautyEquipmentDto=class{},t.CharacterBeautyEquipmentFaceDto=class{},t.CharacterBeautyEquipmentHairDto=class{},t.CharacterBeautyEquipmentSkinDto=class{},t.CharacterCashItemEquipmentColoringPrismDto=class{},t.CharacterCashItemEquipmentDto=class{},t.CharacterCashItemEquipmentOptionDto=class{},t.CharacterCashItemEquipmentPresetDto=class{},t.CharacterDojangDto=class{},t.CharacterDto=class{},t.CharacterFinalStatDto=class{},t.CharacterHexaMatrixDto=class{},t.CharacterHexaMatrixEquipmentDto=class{},t.CharacterHexaMatrixEquipmentLinkedSkillDto=class{},t.CharacterHexaMatrixStatCoreDto=class{},t.CharacterHexaMatrixStatDto=class{},t.CharacterHyperStatDto=class{},t.CharacterHyperStatPresetDto=class{},t.CharacterImageDto=class{},t.CharacterItemEquipmentAddOptionDto=class{},t.CharacterItemEquipmentBaseOptionDto=class{},t.CharacterItemEquipmentDragonInfoDto=class{},t.CharacterItemEquipmentDto=class{},t.CharacterItemEquipmentEtcOptionDto=class{},t.CharacterItemEquipmentExceptionalOptionDto=class{},t.CharacterItemEquipmentInfoDto=class{},t.CharacterItemEquipmentMechanicInfoDto=class{},t.CharacterItemEquipmentStarforceOptionDto=class{},t.CharacterItemEquipmentTitleDto=class{},t.CharacterItemEquipmentTotalOptionDto=class{},t.CharacterLinkSkillDto=class{},t.CharacterLinkSkillInfoDto=class{},t.CharacterPetEquipmentAutoSkillDto=class{},t.CharacterPetEquipmentDto=class{},t.CharacterPetEquipmentItemDto=class{},t.CharacterPetEquipmentItemOptionDto=class{},t.CharacterPopularityDto=class{},t.CharacterPropensityDto=class{},t.CharacterSetEffectDto=class{},t.CharacterSetEffectInfoDto=class{},t.CharacterSetEffectOptionFullDto=class{},t.CharacterSetEffectSetDto=class{},t.CharacterSkillDto=class{},t.CharacterSkillInfoDto=class{},t.CharacterStatDto=class{},t.CharacterSymbolEquipmentDto=class{},t.CharacterSymbolEquipmentInfoDto=class{},t.CharacterVMatrixCodeEquipmentDto=class{},t.CharacterVMatrixDto=class{},t.GuildBasicDto=class{},t.GuildDto=class{},t.GuildSkillDto=class{},t.MapleStoryApi=m,t.MapleStoryApiError=h,t.UnionArtifactCrystalDto=class{},t.UnionArtifactDto=class{},t.UnionArtifactEffectDto=class{},t.UnionDto=class{},t.UnionRaiderBlockControlPointDto=class{},t.UnionRaiderBlockDto=class{},t.UnionRaiderBlockPositionDto=class{},t.UnionRaiderDto=class{},t.UnionRaiderInnerStatDto=class{},t.UnionRaiderPresetDto=class{}});
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("dayjs")):"function"==typeof define&&define.amd?define(["exports","axios","dayjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["maplestory-openapi"]={},t.axios,t.dayjs)}(this,function(t,e,a){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=r(e),i=r(a),s=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self,{exports:{}});!function(t){var e,a;t.exports=(e={year:0,month:1,day:2,hour:3,minute:4,second:5},a={},function(t,r,o){var i,s=function(t,e,r){void 0===r&&(r={});var o=new Date(t),i=function(t,e){void 0===e&&(e={});var r=e.timeZoneName||"short",o=t+"|"+r,i=a[o];return i||(i=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:r}),a[o]=i),i}(e,r);return i.formatToParts(o)},n=function(t,a){for(var r=s(t,a),i=[],n=0;n<r.length;n+=1){var c=r[n],l=c.type,u=c.value,f=e[l];f>=0&&(i[f]=parseInt(u,10))}var h=i[3],m=24===h?0:h,d=i[0]+"-"+i[1]+"-"+i[2]+" "+m+":"+i[4]+":"+i[5]+":000",E=+t;return(o.utc(d).valueOf()-(E-=E%1e3))/6e4},c=r.prototype;c.tz=function(t,e){void 0===t&&(t=i);var a,r=this.utcOffset(),s=this.toDate(),n=s.toLocaleString("en-US",{timeZone:t}),c=Math.round((s-new Date(n))/1e3/60),l=15*-Math.round(s.getTimezoneOffset()/15)-c;if(Number(l)){if(a=o(n,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(l,!0),e){var u=a.utcOffset();a=a.add(r-u,"minute")}}else a=this.utcOffset(0,e);return a.$x.$timezone=t,a},c.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),a=s(this.valueOf(),e,{timeZoneName:t}).find(function(t){return"timezonename"===t.type.toLowerCase()});return a&&a.value};var l=c.startOf;c.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return l.call(this,t,e);var a=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return l.call(a,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,a){var r=a&&e,s=a||e||i,c=n(+o(),s);if("string"!=typeof t)return o(t).tz(s);var l=function(t,e,a){var r=t-60*e*1e3,o=n(r,a);if(e===o)return[r,e];var i=n(r-=60*(o-e)*1e3,a);return o===i?[r,o]:[t-60*Math.min(o,i)*1e3,Math.max(o,i)]}(o.utc(t,r).valueOf(),c,s),u=l[0],f=l[1],h=o(u).utcOffset(f);return h.$x.$timezone=s,h},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){i=t}})}(s);var n=s.exports,c={exports:{}};!function(t){var e,a,r;t.exports=(e="minute",a=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g,function(t,o,i){var s=o.prototype;i.utc=function(t){return new o({date:t,utc:!0,args:arguments})},s.utc=function(t){var a=i(this.toDate(),{locale:this.$L,utc:!0});return t?a.add(this.utcOffset(),e):a},s.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var n=s.parse;s.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),n.call(this,t)};var c=s.init;s.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else c.call(this)};var l=s.utcOffset;s.utcOffset=function(t,o){var i=this.$utils().u;if(i(t))return this.$u?0:i(this.$offset)?l.call(this):this.$offset;if("string"==typeof t&&(t=function(t){void 0===t&&(t="");var e=t.match(a);if(!e)return null;var o=(""+e[0]).match(r)||["-",0,0],i=o[0],s=60*+o[1]+ +o[2];return 0===s?0:"+"===i?s:-s}(t),null===t))return this;var s=Math.abs(t)<=16?60*t:t;if(0===s)return this.utc(o);var n=this.clone();if(o)return n.$offset=s,n.$u=!1,n;var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(n=this.local().add(s+c,e)).$offset=s,n.$x.$localOffset=c,n};var u=s.format;s.format=function(t){var e=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,e)},s.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var f=s.toDate;s.toDate=function(t){return"s"===t&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var h=s.diff;s.diff=function(t,e,a){if(t&&this.$u===t.$u)return h.call(this,t,e,a);var r=this.local(),o=i(t).local();return h.call(r,o,e,a)}})}(c);var l,u=c.exports;class f extends Error{name="MapleStoryApiError";errorCode;message;constructor(t){const{name:e,message:a}=t.error;super(a),this.errorCode=h[e],this.message=a}}t.MapleStoryApiErrorCode=void 0,(l=t.MapleStoryApiErrorCode||(t.MapleStoryApiErrorCode={}))[l.OPENAPI00001=0]="OPENAPI00001",l[l.OPENAPI00002=1]="OPENAPI00002",l[l.OPENAPI00003=2]="OPENAPI00003",l[l.OPENAPI00004=3]="OPENAPI00004",l[l.OPENAPI00005=4]="OPENAPI00005",l[l.OPENAPI00006=5]="OPENAPI00006",l[l.OPENAPI00007=6]="OPENAPI00007",l[l.OPENAPI00009=7]="OPENAPI00009",l[l.OPENAPI00010=8]="OPENAPI00010",l[l.OPENAPI00011=9]="OPENAPI00011";const h={OPENAPI00001:t.MapleStoryApiErrorCode.OPENAPI00001,OPENAPI00002:t.MapleStoryApiErrorCode.OPENAPI00002,OPENAPI00003:t.MapleStoryApiErrorCode.OPENAPI00003,OPENAPI00004:t.MapleStoryApiErrorCode.OPENAPI00004,OPENAPI00005:t.MapleStoryApiErrorCode.OPENAPI00005,OPENAPI00006:t.MapleStoryApiErrorCode.OPENAPI00006,OPENAPI00007:t.MapleStoryApiErrorCode.OPENAPI00007,OPENAPI00009:t.MapleStoryApiErrorCode.OPENAPI00009,OPENAPI00010:t.MapleStoryApiErrorCode.OPENAPI00010,OPENAPI00011:t.MapleStoryApiErrorCode.OPENAPI00011};i.default.extend(n),i.default.extend(u);class m{apiKey;client;static BASE_URL="https://open.api.nexon.com/";static DEFAULT_TIMEOUT=5e3;get timeout(){return this.client.defaults.timeout}set timeout(t){this.client.defaults.timeout=t}constructor(t){this.apiKey=t,this.client=o.default.create({baseURL:m.BASE_URL,timeout:m.DEFAULT_TIMEOUT,headers:{"x-nxopen-api-key":this.apiKey}}),this.client.interceptors.response.use(t=>t,t=>{if(t instanceof e.AxiosError){const e=t.response.data;throw new f(e)}throw t})}getProperDefaultDateOptions(t){const{hour:e,minute:a,dateOffset:r}=t,o=i.default().utcOffset(this.timezoneOffset),s=i.default().utcOffset(this.timezoneOffset).hour(e).minute(a);let n;return n=o.isAfter(s)?o:o.subtract(1,"day"),n=n.subtract(r??0,"day"),{year:n.year(),month:n.month()+1,day:n.date()}}toDateString(t,e){const a=t=>{let e,a,r,o;return t instanceof Date?(o=i.default(t).utcOffset(this.timezoneOffset),e=o.year(),a=o.month()+1,r=o.date()):(e=t.year,a=t.month,r=t.day,o=i.default(`${e}-${a}-${r}`).utcOffset(this.timezoneOffset)),{year:e,month:a,day:r,d:o}},{year:r,month:o,day:s,d:n}=a(t),c=n.format("YYYY-MM-DD");if(e){const{year:t,month:n,day:c}=a(e);if(r<t||r===t&&o<n||r===t&&o===n&&s<c)throw new Error(`You can only retrieve data after ${i.default(`${t}-${n}-${c}`).format("YYYY-MM-DD")}.`)}return c}isEmptyResponse(t){for(const[e,a]of Object.entries(t))if("date"!==e&&null!=a&&(!Array.isArray(a)||0!==a.length))return!1;return!0}}var d,E,p,A;t.CharacterImageAction=void 0,(d=t.CharacterImageAction||(t.CharacterImageAction={})).Stand1="A00",d.Stand2="A01",d.Walk1="A02",d.Walk2="A03",d.Prone="A04",d.Fly="A05",d.Jump="A06",d.Sit="A07",d.Ladder="A08",d.Rope="A09",d.Heal="A10",d.Alert="A11",d.ProneStab="A12",d.SwingO1="A13",d.SwingO2="A14",d.SwingO3="A15",d.SwingOF="A16",d.SwingP1="A17",d.SwingP2="A18",d.SwingPF="A19",d.SwingT1="A20",d.SwingT2="A21",d.SwingT3="A22",d.SwingTF="A23",d.StabO1="A24",d.StabO2="A25",d.StabOF="A26",d.StabT1="A27",d.StabT2="A28",d.StabTF="A29",d.Shoot1="A30",d.Shoot2="A31",d.ShootF="A32",d.Dead="A33",d.GhostWalk="A34",d.GhostStand="A35",d.GhostJump="A36",d.GhostProneStab="A37",d.GhostLadder="A38",d.GhostRope="A39",d.GhostFly="A40",d.GhostSit="A41",t.CharacterImageEmotion=void 0,(E=t.CharacterImageEmotion||(t.CharacterImageEmotion={})).Default="E00",E.Wink="E01",E.Smile="E02",E.Cry="E03",E.Angry="E04",E.Bewildered="E05",E.Blink="E06",E.Blaze="E07",E.Bowing="E08",E.Cheers="E09",E.Chu="E10",E.Dam="E11",E.Despair="E12",E.Glitter="E13",E.Hit="E14",E.Hot="E15",E.Hum="E16",E.Love="E17",E.Oops="E18",E.Pain="E19",E.Troubled="E20",E.QBlue="E21",E.Shine="E22",E.Stunned="E23",E.Vomit="E24",t.CharacterImageWeaponMotion=void 0,(p=t.CharacterImageWeaponMotion||(t.CharacterImageWeaponMotion={})).Default="W00",p.OneHand="W01",p.TwoHands="W02",p.Gun="W03",p.Nothing="W04",t.PotentialOptionGrade=void 0,(A=t.PotentialOptionGrade||(t.PotentialOptionGrade={}))[A.RARE=0]="RARE",A[A.EPIC=1]="EPIC",A[A.UNIQUE=2]="UNIQUE",A[A.LEGENDARY=3]="LEGENDARY";t.CharacterAbilityDto=class{},t.CharacterAbilityInfoDto=class{},t.CharacterAbilityPresetDto=class{},t.CharacterAndroidCashItemEquipmentColoringPrismDto=class{},t.CharacterAndroidCashItemEquipmentDto=class{},t.CharacterAndroidCashItemEquipmentOptionDto=class{},t.CharacterAndroidEquipmentDto=class{},t.CharacterAndroidEquipmentFaceDto=class{},t.CharacterAndroidEquipmentHairDto=class{},t.CharacterAndroidEquipmentPresetDto=class{},t.CharacterAndroidEquipmentSkinDto=class{},t.CharacterBasicDto=class{get isAccessFlag(){return"true"===this.accessFlag}},t.CharacterBeautyEquipmentDto=class{},t.CharacterBeautyEquipmentFaceDto=class{},t.CharacterBeautyEquipmentHairDto=class{},t.CharacterBeautyEquipmentSkinDto=class{},t.CharacterCashItemEquipmentColoringPrismDto=class{},t.CharacterCashItemEquipmentDto=class{},t.CharacterCashItemEquipmentOptionDto=class{},t.CharacterCashItemEquipmentPresetDto=class{},t.CharacterDojangDto=class{},t.CharacterDto=class{},t.CharacterFinalStatDto=class{},t.CharacterHexaMatrixDto=class{},t.CharacterHexaMatrixEquipmentDto=class{},t.CharacterHexaMatrixEquipmentLinkedSkillDto=class{},t.CharacterHexaMatrixStatCoreDto=class{},t.CharacterHexaMatrixStatDto=class{},t.CharacterHyperStatDto=class{},t.CharacterHyperStatPresetDto=class{},t.CharacterImageDto=class{},t.CharacterItemEquipmentAddOptionDto=class{},t.CharacterItemEquipmentBaseOptionDto=class{},t.CharacterItemEquipmentDragonInfoDto=class{},t.CharacterItemEquipmentDto=class{},t.CharacterItemEquipmentEtcOptionDto=class{},t.CharacterItemEquipmentExceptionalOptionDto=class{},t.CharacterItemEquipmentInfoDto=class{},t.CharacterItemEquipmentMechanicInfoDto=class{},t.CharacterItemEquipmentStarforceOptionDto=class{},t.CharacterItemEquipmentTitleDto=class{},t.CharacterItemEquipmentTotalOptionDto=class{},t.CharacterLinkSkillDto=class{},t.CharacterLinkSkillInfoDto=class{},t.CharacterPetEquipmentAutoSkillDto=class{},t.CharacterPetEquipmentDto=class{},t.CharacterPetEquipmentItemDto=class{},t.CharacterPetEquipmentItemOptionDto=class{},t.CharacterPopularityDto=class{},t.CharacterPropensityDto=class{},t.CharacterSetEffectDto=class{},t.CharacterSetEffectInfoDto=class{},t.CharacterSetEffectOptionFullDto=class{},t.CharacterSetEffectSetDto=class{},t.CharacterSkillDto=class{},t.CharacterSkillInfoDto=class{},t.CharacterStatDto=class{},t.CharacterSymbolEquipmentDto=class{},t.CharacterSymbolEquipmentInfoDto=class{},t.CharacterVMatrixCodeEquipmentDto=class{},t.CharacterVMatrixDto=class{},t.GuildBasicDto=class{},t.GuildDto=class{},t.GuildSkillDto=class{},t.MapleStoryApi=m,t.MapleStoryApiError=f,t.UnionArtifactCrystalDto=class{},t.UnionArtifactDto=class{},t.UnionArtifactEffectDto=class{},t.UnionDto=class{},t.UnionRaiderBlockControlPointDto=class{},t.UnionRaiderBlockDto=class{},t.UnionRaiderBlockPositionDto=class{},t.UnionRaiderDto=class{},t.UnionRaiderInnerStatDto=class{},t.UnionRaiderPresetDto=class{}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maplestory-openapi",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "This JavaScript library enables the use of the MapleStory OpenAPI of Nexon.",
5
5
  "keywords": [
6
6
  "maplestory",
@@ -75,17 +75,18 @@
75
75
  "@typescript-eslint/eslint-plugin": "^6.15.0",
76
76
  "@typescript-eslint/parser": "^6.15.0",
77
77
  "buffer": "^6.0.3",
78
- "eslint-import-resolver-typescript": "^3.6.1",
78
+ "dotenv": "^17.2.3",
79
79
  "eslint": "^8.56.0",
80
80
  "eslint-config-google": "^0.14.0",
81
81
  "eslint-config-prettier": "^9.1.0",
82
+ "eslint-import-resolver-typescript": "^3.6.1",
82
83
  "eslint-plugin-import": "^2.29.1",
83
84
  "eslint-plugin-prettier": "^5.1.2",
85
+ "jest": "^29.7.0",
84
86
  "prettier": "^3.1.1",
85
87
  "rollup": "2.66.1",
86
88
  "rollup-plugin-terser": "7.0.2",
87
89
  "rollup-plugin-typescript2": "0.27.1",
88
- "jest": "^29.7.0",
89
90
  "ts-jest": "^29.1.4",
90
91
  "ts-node": "^10.9.1",
91
92
  "tsm": "2.2.1",
@@ -1,8 +1,8 @@
1
1
  export declare abstract class CharacterAbilityDto {
2
2
  abstract date: Date | null;
3
- abstract abilityGrade: string | null;
3
+ abstract abilityGrade: string;
4
4
  abstract abilityInfo: CharacterAbilityInfoDto[];
5
- abstract remainFame: number | null;
5
+ abstract remainFame: number;
6
6
  abstract presetNo: number | null;
7
7
  abstract abilityPreset1: CharacterAbilityPresetDto | null;
8
8
  abstract abilityPreset2: CharacterAbilityPresetDto | null;
@@ -10,7 +10,7 @@ export declare abstract class CharacterBasicDto {
10
10
  abstract characterExpRate: string;
11
11
  abstract characterGuildName: string | null;
12
12
  abstract characterImage: string;
13
- abstract characterDateCreate: Date;
13
+ abstract characterDateCreate: Date | null;
14
14
  abstract accessFlag: 'true' | 'false';
15
15
  get isAccessFlag(): boolean;
16
16
  }
@@ -1,9 +1,9 @@
1
1
  export declare abstract class CharacterCashItemEquipmentDto {
2
2
  abstract date: Date | null;
3
- abstract characterGender: string | null;
4
- abstract characterClass: string | null;
3
+ abstract characterGender: string;
4
+ abstract characterClass: string;
5
5
  abstract characterLookMode: string | null;
6
- abstract presetNo: number | null;
6
+ abstract presetNo: number;
7
7
  abstract cashItemEquipmentBase: CharacterCashItemEquipmentPresetDto[];
8
8
  abstract cashItemEquipmentPreset1: CharacterCashItemEquipmentPresetDto[];
9
9
  abstract cashItemEquipmentPreset2: CharacterCashItemEquipmentPresetDto[];
@@ -1,8 +1,8 @@
1
1
  export declare abstract class CharacterDojangDto {
2
2
  abstract date: Date | null;
3
- abstract characterClass: string | null;
4
- abstract worldName: string | null;
5
- abstract dojangBestFloor: number | null;
3
+ abstract characterClass: string;
4
+ abstract worldName: string;
5
+ abstract dojangBestFloor: number;
6
6
  abstract dateDojangRecord: Date | null;
7
- abstract dojangBestTime: number | null;
7
+ abstract dojangBestTime: number;
8
8
  }
@@ -1,6 +1,6 @@
1
1
  export declare abstract class CharacterHexaMatrixStatDto {
2
2
  abstract date: Date | null;
3
- abstract characterClass: string | null;
3
+ abstract characterClass: string;
4
4
  abstract characterHexaStatCore: CharacterHexaMatrixStatCoreDto[];
5
5
  abstract characterHexaStatCore2: CharacterHexaMatrixStatCoreDto[];
6
6
  abstract characterHexaStatCore3: CharacterHexaMatrixStatCoreDto[];
@@ -1,14 +1,14 @@
1
1
  export declare abstract class CharacterHyperStatDto {
2
2
  abstract date: Date | null;
3
- abstract characterClass: string | null;
4
- abstract usePresetNo: string | null;
5
- abstract useAvailableHyperStat: number | null;
3
+ abstract characterClass: string;
4
+ abstract usePresetNo: string;
5
+ abstract useAvailableHyperStat: number;
6
6
  abstract hyperStatPreset1: CharacterHyperStatPresetDto[];
7
- abstract hyperStatPreset1RemainPoint: number | null;
7
+ abstract hyperStatPreset1RemainPoint: number;
8
8
  abstract hyperStatPreset2: CharacterHyperStatPresetDto[];
9
- abstract hyperStatPreset2RemainPoint: number | null;
9
+ abstract hyperStatPreset2RemainPoint: number;
10
10
  abstract hyperStatPreset3: CharacterHyperStatPresetDto[];
11
- abstract hyperStatPreset3RemainPoint: number | null;
11
+ abstract hyperStatPreset3RemainPoint: number;
12
12
  }
13
13
  export declare abstract class CharacterHyperStatPresetDto {
14
14
  abstract statType: string;
@@ -1,7 +1,7 @@
1
1
  export declare abstract class CharacterItemEquipmentDto {
2
2
  abstract date: Date | null;
3
- abstract characterGender: string | null;
4
- abstract characterClass: string | null;
3
+ abstract characterGender: string;
4
+ abstract characterClass: string;
5
5
  abstract presetNo: number | null;
6
6
  abstract itemEquipment: CharacterItemEquipmentInfoDto[];
7
7
  abstract itemEquipmentPreset1: CharacterItemEquipmentInfoDto[];
@@ -1,6 +1,6 @@
1
1
  export declare abstract class CharacterLinkSkillDto {
2
2
  abstract date: Date | null;
3
- abstract characterClass: string | null;
3
+ abstract characterClass: string;
4
4
  abstract characterLinkSkill: CharacterLinkSkillInfoDto[];
5
5
  abstract characterLinkSkillPreset1: CharacterLinkSkillInfoDto[];
6
6
  abstract characterLinkSkillPreset2: CharacterLinkSkillInfoDto[];
@@ -1,9 +1,9 @@
1
1
  export declare abstract class CharacterPropensityDto {
2
2
  abstract date: Date | null;
3
- abstract charismaLevel: number | null;
4
- abstract sensibilityLevel: number | null;
5
- abstract insightLevel: number | null;
6
- abstract willingnessLevel: number | null;
7
- abstract handicraftLevel: number | null;
8
- abstract charmLevel: number | null;
3
+ abstract charismaLevel: number;
4
+ abstract sensibilityLevel: number;
5
+ abstract insightLevel: number;
6
+ abstract willingnessLevel: number;
7
+ abstract handicraftLevel: number;
8
+ abstract charmLevel: number;
9
9
  }
@@ -1,6 +1,6 @@
1
1
  export declare abstract class CharacterSkillDto {
2
2
  abstract date: Date | null;
3
- abstract characterClass: string | null;
3
+ abstract characterClass: string;
4
4
  abstract characterSkillGrade: string | null;
5
5
  abstract characterSkill: CharacterSkillInfoDto[];
6
6
  }
@@ -1,8 +1,8 @@
1
1
  export declare abstract class CharacterStatDto {
2
2
  abstract date: Date | null;
3
- abstract characterClass: string | null;
3
+ abstract characterClass: string;
4
4
  abstract finalStat: CharacterFinalStatDto[];
5
- abstract remainAP: number | null;
5
+ abstract remainAP: number;
6
6
  }
7
7
  export declare abstract class CharacterFinalStatDto {
8
8
  abstract statName: string;
@@ -1,6 +1,6 @@
1
1
  export declare abstract class CharacterSymbolEquipmentDto {
2
2
  abstract date: Date | null;
3
- abstract characterClass: string | null;
3
+ abstract characterClass: string;
4
4
  abstract symbol: CharacterSymbolEquipmentInfoDto[];
5
5
  }
6
6
  export declare abstract class CharacterSymbolEquipmentInfoDto {
@@ -1,8 +1,8 @@
1
1
  export declare abstract class CharacterVMatrixDto {
2
2
  abstract date: Date | null;
3
- abstract characterClass: string | null;
3
+ abstract characterClass: string;
4
4
  abstract characterVCoreEquipment: CharacterVMatrixCodeEquipmentDto[];
5
- abstract characterVMatrixRemainSlotUpgradePoint: number | null;
5
+ abstract characterVMatrixRemainSlotUpgradePoint: number;
6
6
  }
7
7
  export declare abstract class CharacterVMatrixCodeEquipmentDto {
8
8
  abstract slotId: string;
@@ -25,7 +25,7 @@ export declare abstract class UnionRaiderBlockControlPointDto {
25
25
  }
26
26
  export declare abstract class UnionRaiderBlockDto {
27
27
  abstract blockType: string;
28
- abstract blockClass: string;
28
+ abstract blockClass: string | null;
29
29
  abstract blockLevel: string;
30
30
  abstract blockControlPoint: UnionRaiderBlockControlPointDto;
31
31
  abstract blockPosition: UnionRaiderBlockPositionDto[] | null;
@@ -40,31 +40,31 @@ export declare abstract class MapleStoryApi {
40
40
  set timeout(value: number);
41
41
  constructor(apiKey: string);
42
42
  abstract getCharacter(characterName: string): Promise<CharacterDto>;
43
- abstract getCharacterBasic(ocid: string, dateOptions?: DateOptions): Promise<CharacterBasicDto>;
44
- abstract getCharacterImage(ocid: string, imageOptions?: CharacterImageOptions, dateOptions?: DateOptions): Promise<CharacterImageDto>;
45
- abstract getCharacterPopularity(ocid: string, dateOptions?: DateOptions): Promise<CharacterPopularityDto>;
46
- abstract getCharacterStat(ocid: string, dateOptions?: DateOptions): Promise<CharacterStatDto>;
47
- abstract getCharacterHyperStat(ocid: string, dateOptions?: DateOptions): Promise<CharacterHyperStatDto>;
48
- abstract getCharacterPropensity(ocid: string, dateOptions?: DateOptions): Promise<CharacterPropensityDto>;
49
- abstract getCharacterAbility(ocid: string, dateOptions?: DateOptions): Promise<CharacterAbilityDto>;
50
- abstract getCharacterItemEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterItemEquipmentDto>;
51
- abstract getCharacterCashItemEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterCashItemEquipmentDto>;
52
- abstract getCharacterSymbolEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterSymbolEquipmentDto>;
53
- abstract getCharacterSetEffect(ocid: string, dateOptions?: DateOptions): Promise<CharacterSetEffectDto>;
54
- abstract getCharacterBeautyEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterBeautyEquipmentDto>;
55
- abstract getCharacterAndroidEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterAndroidEquipmentDto>;
56
- abstract getCharacterPetEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterPetEquipmentDto>;
57
- abstract getCharacterSkill(ocid: string, characterSkillGrade: string, dateOptions?: DateOptions): Promise<CharacterSkillDto>;
58
- abstract getCharacterLinkSkill(ocid: string, dateOptions?: DateOptions): Promise<CharacterLinkSkillDto>;
59
- abstract getCharacterVMatrix(ocid: string, dateOptions?: DateOptions): Promise<CharacterVMatrixDto>;
60
- abstract getCharacterHexaMatrix(ocid: string, dateOptions?: DateOptions): Promise<CharacterHexaMatrixDto>;
61
- abstract getCharacterHexaMatrixStat(ocid: string, dateOptions?: DateOptions): Promise<CharacterHexaMatrixStatDto>;
62
- abstract getCharacterDojang(ocid: string, dateOptions?: DateOptions): Promise<CharacterDojangDto>;
63
- abstract getUnion(ocid: string, dateOptions?: DateOptions): Promise<UnionDto>;
64
- abstract getUnionRaider(ocid: string, dateOptions?: DateOptions): Promise<UnionRaiderDto>;
65
- abstract getUnionArtifact(ocid: string, dateOptions?: DateOptions): Promise<UnionArtifactDto>;
66
- abstract getGuild(guildName: string, worldName: string): Promise<GuildDto>;
67
- abstract getGuildBasic(guildId: string, dateOptions?: DateOptions): Promise<GuildBasicDto>;
43
+ abstract getCharacterBasic(ocid: string, dateOptions?: DateOptions): Promise<CharacterBasicDto | null>;
44
+ abstract getCharacterImage(ocid: string, imageOptions?: CharacterImageOptions, dateOptions?: DateOptions): Promise<CharacterImageDto | null>;
45
+ abstract getCharacterPopularity(ocid: string, dateOptions?: DateOptions): Promise<CharacterPopularityDto | null>;
46
+ abstract getCharacterStat(ocid: string, dateOptions?: DateOptions): Promise<CharacterStatDto | null>;
47
+ abstract getCharacterHyperStat(ocid: string, dateOptions?: DateOptions): Promise<CharacterHyperStatDto | null>;
48
+ abstract getCharacterPropensity(ocid: string, dateOptions?: DateOptions): Promise<CharacterPropensityDto | null>;
49
+ abstract getCharacterAbility(ocid: string, dateOptions?: DateOptions): Promise<CharacterAbilityDto | null>;
50
+ abstract getCharacterItemEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterItemEquipmentDto | null>;
51
+ abstract getCharacterCashItemEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterCashItemEquipmentDto | null>;
52
+ abstract getCharacterSymbolEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterSymbolEquipmentDto | null>;
53
+ abstract getCharacterSetEffect(ocid: string, dateOptions?: DateOptions): Promise<CharacterSetEffectDto | null>;
54
+ abstract getCharacterBeautyEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterBeautyEquipmentDto | null>;
55
+ abstract getCharacterAndroidEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterAndroidEquipmentDto | null>;
56
+ abstract getCharacterPetEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterPetEquipmentDto | null>;
57
+ abstract getCharacterSkill(ocid: string, characterSkillGrade: string, dateOptions?: DateOptions): Promise<CharacterSkillDto | null>;
58
+ abstract getCharacterLinkSkill(ocid: string, dateOptions?: DateOptions): Promise<CharacterLinkSkillDto | null>;
59
+ abstract getCharacterVMatrix(ocid: string, dateOptions?: DateOptions): Promise<CharacterVMatrixDto | null>;
60
+ abstract getCharacterHexaMatrix(ocid: string, dateOptions?: DateOptions): Promise<CharacterHexaMatrixDto | null>;
61
+ abstract getCharacterHexaMatrixStat(ocid: string, dateOptions?: DateOptions): Promise<CharacterHexaMatrixStatDto | null>;
62
+ abstract getCharacterDojang(ocid: string, dateOptions?: DateOptions): Promise<CharacterDojangDto | null>;
63
+ abstract getUnion(ocid: string, dateOptions?: DateOptions): Promise<UnionDto | null>;
64
+ abstract getUnionRaider(ocid: string, dateOptions?: DateOptions): Promise<UnionRaiderDto | null>;
65
+ abstract getUnionArtifact(ocid: string, dateOptions?: DateOptions): Promise<UnionArtifactDto | null>;
66
+ abstract getGuild(guildName: string, worldName: string): Promise<GuildDto | null>;
67
+ abstract getGuildBasic(guildId: string, dateOptions?: DateOptions): Promise<GuildBasicDto | null>;
68
68
  /**
69
69
  * API 서버의 데이터 갱신 시간에 따라 데이터가 조회 가능한 최신 날짜를 반환합니다.
70
70
  *
@@ -78,6 +78,17 @@ export declare abstract class MapleStoryApi {
78
78
  * @param minDateOptions API 호출 가능한 최소 날짜
79
79
  */
80
80
  protected toDateString(dateOptions: DateOptions, minDateOptions?: DateOptions): string | never;
81
+ /**
82
+ * API 응답 데이터가 비어있는지 확인 합니다.<br/>
83
+ * API 요청 시 날짜에 해당하는 데이터가 없을 경우 date 필드만 값이 존재하는 상황을 검증할 때 사용 합니다.<br/>
84
+ * 일반적으로 API 지원 시작일과 캐릭터 생성일 사이의 날짜를 조회할 때 발생 합니다.
85
+ * @example
86
+ * ```
87
+ * isEmptyResponse({ date: '2024-01-01', popularity: null }) // true
88
+ * isEmptyResponse({ date: '2024-01-01', popularity: 10 }) // false
89
+ * ```
90
+ */
91
+ protected isEmptyResponse(body: Record<string, any>): boolean;
81
92
  }
82
93
  /**
83
94
  * API 서버의 데이터 갱신 시각과 조회 가능한 최근 날짜와 현재 날짜와의 차이
@@ -11,7 +11,7 @@ export declare class CharacterAbilityDto extends base.CharacterAbilityDto {
11
11
  /**
12
12
  * 어빌리티 등급
13
13
  */
14
- abilityGrade: string | null;
14
+ abilityGrade: string;
15
15
  /**
16
16
  * 어빌리티 정보
17
17
  */
@@ -19,7 +19,7 @@ export declare class CharacterAbilityDto extends base.CharacterAbilityDto {
19
19
  /**
20
20
  * 보유 명성치
21
21
  */
22
- remainFame: number | null;
22
+ remainFame: number;
23
23
  /**
24
24
  * 적용 중인 어빌리티 프리셋 번호
25
25
  */
@@ -43,7 +43,7 @@ export declare class CharacterAndroidEquipmentDto extends base.CharacterAndroidE
43
43
  /**
44
44
  * 안드로이드 이어센서 클립 적용 여부
45
45
  */
46
- androidEarSensorClipFlag: string | null;
46
+ androidEarSensorClipFlag: string;
47
47
  /**
48
48
  * 안드로이드 성별
49
49
  */
@@ -51,7 +51,7 @@ export declare class CharacterBasicDto extends base.CharacterBasicDto {
51
51
  /**
52
52
  * 캐릭터 생성일
53
53
  */
54
- characterDateCreate: Date;
54
+ characterDateCreate: Date | null;
55
55
  /**
56
56
  * 최근 7일간 접속 여부
57
57
  */
@@ -11,11 +11,11 @@ export declare class CharacterCashItemEquipmentDto extends base.CharacterCashIte
11
11
  /**
12
12
  * 캐릭터 성별
13
13
  */
14
- characterGender: string | null;
14
+ characterGender: string;
15
15
  /**
16
16
  * 캐릭터 직업
17
17
  */
18
- characterClass: string | null;
18
+ characterClass: string;
19
19
  /**
20
20
  * 캐릭터 외형 모드(0:일반 모드, 1:제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드)
21
21
  */
@@ -23,7 +23,7 @@ export declare class CharacterCashItemEquipmentDto extends base.CharacterCashIte
23
23
  /**
24
24
  * 적용 중인 캐시 장비 프리셋 번호
25
25
  */
26
- presetNo: number | null;
26
+ presetNo: number;
27
27
  /**
28
28
  * 장착 중인 캐시 장비
29
29
  */