wapi-client 0.9.5 → 0.9.6

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.
@@ -16,6 +16,7 @@ var __spreadValues = (a, b) => {
16
16
  };
17
17
 
18
18
  // src/lib/errors.ts
19
+ import { debugLog } from "./debug";
19
20
  var ERROR_GROUPS = {
20
21
  JSONRPC: {
21
22
  min: -32700,
@@ -466,9 +467,9 @@ var WAPIError = class extends Error {
466
467
  var _a;
467
468
  super(message);
468
469
  const errorType = (_a = ERRORS[type]) != null ? _a : ERRORS.INTERNAL_SERVER_ERROR;
469
- this.type = ERRORS[type] ? type : ERROR_TYPES.INTERNAL_SERVER_ERROR;
470
- this.code = code || errorType.code;
471
- this.message = message || errorType.message;
470
+ this.type = type != null ? type : ERROR_TYPES.INTERNAL_SERVER_ERROR;
471
+ this.code = code != null ? code : errorType.code;
472
+ this.message = message != null ? message : errorType.message;
472
473
  this.data = __spreadValues({
473
474
  description: errorType.description
474
475
  }, data && typeof data === "object" ? data : { error: data });
@@ -482,11 +483,12 @@ var WAPIError = class extends Error {
482
483
  }
483
484
  };
484
485
  var JSONRPCError = class extends WAPIError {
485
- constructor(type, data, message) {
486
+ constructor(type, data, message, code) {
486
487
  super({
487
488
  type,
488
489
  message,
489
- data
490
+ data,
491
+ code
490
492
  });
491
493
  }
492
494
  static get group() {
@@ -497,11 +499,12 @@ var JSONRPCError = class extends WAPIError {
497
499
  }
498
500
  };
499
501
  var StreamError = class extends WAPIError {
500
- constructor(type, data, message) {
502
+ constructor(type, data, message, code) {
501
503
  super({
502
504
  type,
503
505
  message,
504
- data
506
+ data,
507
+ code
505
508
  });
506
509
  }
507
510
  static get group() {
@@ -512,11 +515,12 @@ var StreamError = class extends WAPIError {
512
515
  }
513
516
  };
514
517
  var InputError = class extends WAPIError {
515
- constructor(type, data, message) {
518
+ constructor(type, data, message, code) {
516
519
  super({
517
520
  type,
518
521
  message,
519
- data
522
+ data,
523
+ code
520
524
  });
521
525
  }
522
526
  static get group() {
@@ -527,11 +531,12 @@ var InputError = class extends WAPIError {
527
531
  }
528
532
  };
529
533
  var ConfigError = class extends WAPIError {
530
- constructor(type, data, message) {
534
+ constructor(type, data, message, code) {
531
535
  super({
532
536
  type,
533
537
  message,
534
- data
538
+ data,
539
+ code
535
540
  });
536
541
  }
537
542
  static get group() {
@@ -542,11 +547,12 @@ var ConfigError = class extends WAPIError {
542
547
  }
543
548
  };
544
549
  var AuthError = class extends WAPIError {
545
- constructor(type, data, message) {
550
+ constructor(type, data, message, code) {
546
551
  super({
547
552
  type,
548
553
  message,
549
- data
554
+ data,
555
+ code
550
556
  });
551
557
  }
552
558
  static get group() {
@@ -557,11 +563,12 @@ var AuthError = class extends WAPIError {
557
563
  }
558
564
  };
559
565
  var ConstraintError = class extends WAPIError {
560
- constructor(type, data, message) {
566
+ constructor(type, data, message, code) {
561
567
  super({
562
568
  type,
563
569
  message,
564
- data
570
+ data,
571
+ code
565
572
  });
566
573
  }
567
574
  static get group() {
@@ -633,8 +640,11 @@ var ERROR_CODE_TO_TYPE = Object.fromEntries(
633
640
  function categorizeErrorCode(code) {
634
641
  const type = ERROR_CODE_TO_TYPE[code];
635
642
  if (!type) {
643
+ const group2 = Object.entries(ERROR_GROUPS).find(
644
+ ([key, group3]) => code >= group3.min && code <= group3.max
645
+ );
636
646
  return {
637
- group: void 0,
647
+ group: group2 == null ? void 0 : group2[0],
638
648
  type: void 0
639
649
  };
640
650
  }
@@ -654,8 +664,15 @@ function categorizeErrorCode(code) {
654
664
  };
655
665
  }
656
666
  function getError({ code, message, data }) {
657
- const { group, type } = categorizeErrorCode(code);
667
+ let { group, type } = categorizeErrorCode(code);
658
668
  message = message && message !== type ? message : ERRORS[type].description;
669
+ let novelCode = void 0;
670
+ if (group && group !== "JSONRPC" && type === void 0) {
671
+ debugLog("Novel error from server", code, message, data);
672
+ type = message;
673
+ novelCode = code;
674
+ message = typeof data === "object" && "description" in data && typeof data.description === "string" ? data.description : message;
675
+ }
659
676
  switch (group) {
660
677
  case "JSONRPC":
661
678
  return new JSONRPCError(
@@ -667,31 +684,36 @@ function getError({ code, message, data }) {
667
684
  return new AuthError(
668
685
  type,
669
686
  data,
670
- message
687
+ message,
688
+ novelCode
671
689
  );
672
690
  case "CONFIG":
673
691
  return new ConfigError(
674
692
  type,
675
693
  data,
676
- message
694
+ message,
695
+ novelCode
677
696
  );
678
697
  case "CONSTRAINT":
679
698
  return new ConstraintError(
680
699
  type,
681
700
  data,
682
- message
701
+ message,
702
+ novelCode
683
703
  );
684
704
  case "INPUT":
685
705
  return new InputError(
686
706
  type,
687
707
  data,
688
- message
708
+ message,
709
+ novelCode
689
710
  );
690
711
  case "STREAM":
691
712
  return new StreamError(
692
713
  type,
693
714
  data,
694
- message
715
+ message,
716
+ novelCode
695
717
  );
696
718
  default:
697
719
  return new WAPIError({
@@ -1023,7 +1023,7 @@ declare module 'wapi-client/lib/errors' {
1023
1023
  }
1024
1024
  export type JSONRPCErrorData = unknown;
1025
1025
  export class JSONRPCError extends WAPIError {
1026
- constructor(type: keyof typeof ERROR_GROUPS.JSONRPC.ERRORS, data?: JSONRPCErrorData, message?: string);
1026
+ constructor(type: keyof typeof ERROR_GROUPS.JSONRPC.ERRORS, data?: JSONRPCErrorData, message?: string, code?: number);
1027
1027
  static get group(): {
1028
1028
  PARSE_ERROR: {
1029
1029
  code: number;
@@ -1070,7 +1070,7 @@ declare module 'wapi-client/lib/errors' {
1070
1070
  value: unknown;
1071
1071
  };
1072
1072
  export class StreamError extends WAPIError {
1073
- constructor(type: keyof typeof ERROR_GROUPS.STREAM.ERRORS, data: StreamErrorData, message?: string);
1073
+ constructor(type: keyof typeof ERROR_GROUPS.STREAM.ERRORS, data: StreamErrorData, message?: string, code?: number);
1074
1074
  static get group(): {
1075
1075
  CONNECTION_LOST: {
1076
1076
  code: number;
@@ -1120,7 +1120,7 @@ declare module 'wapi-client/lib/errors' {
1120
1120
  }
1121
1121
  export type InputErrorData = unknown;
1122
1122
  export class InputError extends WAPIError {
1123
- constructor(type: keyof typeof ERROR_GROUPS.INPUT.ERRORS, data?: InputErrorData, message?: string);
1123
+ constructor(type: keyof typeof ERROR_GROUPS.INPUT.ERRORS, data?: InputErrorData, message?: string, code?: number);
1124
1124
  static get group(): {
1125
1125
  HTTP_BODY_SIZE: {
1126
1126
  code: number;
@@ -1354,7 +1354,7 @@ declare module 'wapi-client/lib/errors' {
1354
1354
  timeout: number;
1355
1355
  };
1356
1356
  export class ConfigError extends WAPIError {
1357
- constructor(type: keyof typeof ERROR_GROUPS.CONFIG.ERRORS, data: ConfigErrorData, message?: string);
1357
+ constructor(type: keyof typeof ERROR_GROUPS.CONFIG.ERRORS, data: ConfigErrorData, message?: string, code?: number);
1358
1358
  static get group(): {
1359
1359
  METHOD_DISABLED: {
1360
1360
  code: number;
@@ -1386,7 +1386,7 @@ declare module 'wapi-client/lib/errors' {
1386
1386
  }
1387
1387
  export type AuthErrorData = unknown;
1388
1388
  export class AuthError extends WAPIError {
1389
- constructor(type: keyof typeof ERROR_GROUPS.AUTH.ERRORS, data?: AuthErrorData, message?: string);
1389
+ constructor(type: keyof typeof ERROR_GROUPS.AUTH.ERRORS, data?: AuthErrorData, message?: string, code?: number);
1390
1390
  static get group(): {
1391
1391
  AUTHENTICATION_ERROR: {
1392
1392
  code: number;
@@ -1406,7 +1406,7 @@ declare module 'wapi-client/lib/errors' {
1406
1406
  }
1407
1407
  export type ConstraintErrorData = unknown;
1408
1408
  export class ConstraintError extends WAPIError {
1409
- constructor(type: keyof typeof ERROR_GROUPS.CONSTRAINT.ERRORS, data?: ConstraintErrorData, message?: string);
1409
+ constructor(type: keyof typeof ERROR_GROUPS.CONSTRAINT.ERRORS, data?: ConstraintErrorData, message?: string, code?: number);
1410
1410
  static get group(): {
1411
1411
  INVALID_LATEST_HASH: {
1412
1412
  code: number;