@httptoolkit/util 0.1.7 → 0.1.9

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.
package/dist/errors.d.ts CHANGED
@@ -8,7 +8,7 @@ export type ErrorLike = Partial<Error> & {
8
8
  signal?: string;
9
9
  statusCode?: number;
10
10
  statusMessage?: string;
11
- cause?: ErrorLike;
11
+ cause?: ErrorLike | Error | unknown;
12
12
  };
13
13
  /**
14
14
  * An easy way to check if an unknown object (e.g. a catch(e) argument) is
@@ -38,6 +38,7 @@ export declare class StatusError extends CustomError {
38
38
  code?: string;
39
39
  cause?: Error;
40
40
  });
41
+ readonly statusCode: number;
41
42
  }
42
43
  /**
43
44
  * An error to throw in expected-never cases - by using this, you ask TypeScript to
package/dist/errors.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unreachableCheck = exports.UnreachableCheck = exports.StatusError = exports.CustomError = exports.asErrorLike = exports.isErrorLike = void 0;
3
+ exports.unreachableCheck = exports.UnreachableCheck = exports.StatusError = exports.CustomError = void 0;
4
+ exports.isErrorLike = isErrorLike;
5
+ exports.asErrorLike = asErrorLike;
4
6
  /**
5
7
  * An easy way to check if an unknown object (e.g. a catch(e) argument) is
6
8
  * actually an error-like
@@ -11,7 +13,6 @@ function isErrorLike(error) {
11
13
  error.code ||
12
14
  error.stack);
13
15
  }
14
- exports.isErrorLike = isErrorLike;
15
16
  /**
16
17
  * A convenience method to make something error-ish into an actual Error instance.
17
18
  */
@@ -26,7 +27,6 @@ function asErrorLike(error) {
26
27
  return new Error('[Undefined error]');
27
28
  }
28
29
  }
29
- exports.asErrorLike = asErrorLike;
30
30
  // Tiny wrapper to make it super easy to make custom error classes where .name behaves
31
31
  // correctly, and useful metafields can be easily added.
32
32
  class CustomError extends Error {
@@ -42,6 +42,9 @@ class CustomError extends Error {
42
42
  if (extras.cause !== undefined)
43
43
  this.cause = extras.cause;
44
44
  }
45
+ code;
46
+ statusCode;
47
+ cause;
45
48
  }
46
49
  exports.CustomError = CustomError;
47
50
  class StatusError extends CustomError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAcA;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAU;IAClC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CACzC,KAAK,YAAY,KAAK;QACtB,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,KAAK,CACd,CAAA;AACL,CAAC;AAPD,kCAOC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAU;IAClC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;QACpB,OAAO,KAAkB,CAAC;KAC7B;SAAM,IAAI,KAAK,EAAE;QACd,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,iBAAiB,CAAC,CAAC;KAC5E;SAAM;QACH,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACzC;AACL,CAAC;AARD,kCAQC;AAED,sFAAsF;AACtF,wDAAwD;AACxD,MAAa,WAAY,SAAQ,KAAK;IAClC,YAAY,OAAgB,EAAE,SAI1B,EAAE;QACF,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC;QAEtD,wDAAwD;QACxD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACzE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC9D,CAAC;CAKJ;AApBD,kCAoBC;AAED,MAAa,WAAY,SAAQ,WAAW;IACxC;IACI;;OAEG;IACH,UAAkB,EAClB,OAAe,EACf,SAGI,EAAE;QAEN,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;CACJ;AAdD,kCAcC;AAED;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,WAAW;IAE7C,qFAAqF;IACrF,mDAAmD;IACnD,YAAY,KAAY,EAAE,WAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,yBAAyB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;CAEJ;AARD,4CAQC;AAED;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,WAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAS,EAAE;IAC1F,MAAM,IAAI,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAkBA,kCAOC;AAKD,kCAQC;AAxBD;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAU;IAClC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CACzC,KAAK,YAAY,KAAK;QACtB,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,KAAK,CACd,CAAA;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAU;IAClC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAkB,CAAC;IAC9B,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,iBAAiB,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;AACL,CAAC;AAED,sFAAsF;AACtF,wDAAwD;AACxD,MAAa,WAAY,SAAQ,KAAK;IAClC,YAAY,OAAgB,EAAE,SAI1B,EAAE;QACF,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC;QAEtD,wDAAwD;QACxD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACzE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC9D,CAAC;IAEe,IAAI,CAAU;IACd,UAAU,CAAU;IACpB,KAAK,CAAS;CACjC;AApBD,kCAoBC;AAED,MAAa,WAAY,SAAQ,WAAW;IACxC;IACI;;OAEG;IACH,UAAkB,EAClB,OAAe,EACf,SAGI,EAAE;QAEN,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;CAGJ;AAhBD,kCAgBC;AAED;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,WAAW;IAE7C,qFAAqF;IACrF,mDAAmD;IACnD,YAAY,KAAY,EAAE,WAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,yBAAyB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;CAEJ;AARD,4CAQC;AAED;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,WAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAS,EAAE;IAC1F,MAAM,IAAI,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"}
package/dist/promises.js CHANGED
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.combineParallelCalls = exports.getDeferred = exports.doWhile = exports.delay = void 0;
3
+ exports.delay = void 0;
4
+ exports.doWhile = doWhile;
5
+ exports.getDeferred = getDeferred;
6
+ exports.combineParallelCalls = combineParallelCalls;
4
7
  const delay = (ms, options = {}) => new Promise((resolve) => {
5
8
  const timer = setTimeout(resolve, ms);
6
9
  if (options.unref && timer.unref) {
@@ -13,7 +16,6 @@ async function doWhile(doFn, whileFn) {
13
16
  await doFn();
14
17
  } while (await whileFn());
15
18
  }
16
- exports.doWhile = doWhile;
17
19
  function getDeferred() {
18
20
  let resolve;
19
21
  let reject;
@@ -23,7 +25,6 @@ function getDeferred() {
23
25
  });
24
26
  return Object.assign(promise, { resolve, reject, promise });
25
27
  }
26
- exports.getDeferred = getDeferred;
27
28
  /**
28
29
  * Wrap a function, so that any parallel calls which happen while the async function
29
30
  * is pending return the same value as the first call (so the function is only run
@@ -42,5 +43,4 @@ function combineParallelCalls(fn) {
42
43
  return pendingPromise;
43
44
  };
44
45
  }
45
- exports.combineParallelCalls = combineParallelCalls;
46
46
  //# sourceMappingURL=promises.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promises.js","sourceRoot":"","sources":["../src/promises.ts"],"names":[],"mappings":";;;AAEO,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,UAO9B,EAAE,EAAE,EAAE,CACN,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;IAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAC,KAAK,IAAK,KAAa,CAAC,KAAK,EAAE;QACtC,KAAa,CAAC,KAAK,EAAE,CAAC;KAC1B;AACL,CAAC,CAAC,CAAC;AAdM,QAAA,KAAK,SAcX;AAEA,KAAK,UAAU,OAAO,CACzB,IAAsB,EACtB,OAAyC;IAEzC,GAAG;QACC,MAAM,IAAI,EAAE,CAAC;KAChB,QAAQ,MAAM,OAAO,EAAE,EAAE;AAC9B,CAAC;AAPD,0BAOC;AAaD,SAAgB,WAAW;IACvB,IAAI,OAA4B,CAAC;IACjC,IAAI,MAA6B,CAAC;IAElC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QACnD,OAAO,GAAG,SAAS,CAAC;QACpB,MAAM,GAAG,QAAQ,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAVD,kCAUC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAI,EAAoB;IACxD,IAAI,cAAsC,CAAC;IAE3C,OAAO,GAAG,EAAE;QACR,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,cAAc,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC/B,cAAc,GAAG,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;SACN;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC,CAAC;AACN,CAAC;AAZD,oDAYC"}
1
+ {"version":3,"file":"promises.js","sourceRoot":"","sources":["../src/promises.ts"],"names":[],"mappings":";;;AAkBA,0BAOC;AAaD,kCAUC;AASD,oDAYC;AAnEM,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,UAO9B,EAAE,EAAE,EAAE,CACN,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;IAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAC,KAAK,IAAK,KAAa,CAAC,KAAK,EAAE,CAAC;QACvC,KAAa,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC,CAAC;AAdM,QAAA,KAAK,SAcX;AAEA,KAAK,UAAU,OAAO,CACzB,IAAsB,EACtB,OAAyC;IAEzC,GAAG,CAAC;QACA,MAAM,IAAI,EAAE,CAAC;IACjB,CAAC,QAAQ,MAAM,OAAO,EAAE,EAAE;AAC9B,CAAC;AAaD,SAAgB,WAAW;IACvB,IAAI,OAA4B,CAAC;IACjC,IAAI,MAA6B,CAAC;IAElC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QACnD,OAAO,GAAG,SAAS,CAAC;QACpB,MAAM,GAAG,QAAQ,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAI,EAAoB;IACxD,IAAI,cAAsC,CAAC;IAE3C,OAAO,GAAG,EAAE;QACR,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,cAAc,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC/B,cAAc,GAAG,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC,CAAC;AACN,CAAC"}
package/dist/text.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aOrAn = exports.joinAnd = exports.truncateWithEllipsis = void 0;
3
+ exports.truncateWithEllipsis = truncateWithEllipsis;
4
+ exports.joinAnd = joinAnd;
5
+ exports.aOrAn = aOrAn;
4
6
  function truncateWithEllipsis(str, length) {
5
7
  if (str.length <= length) {
6
8
  return str;
@@ -9,7 +11,6 @@ function truncateWithEllipsis(str, length) {
9
11
  return str.slice(0, length - 3) + "...";
10
12
  }
11
13
  }
12
- exports.truncateWithEllipsis = truncateWithEllipsis;
13
14
  function joinAnd(val, options = {}) {
14
15
  if (val.length === 1)
15
16
  return val[0];
@@ -21,7 +22,6 @@ function joinAnd(val, options = {}) {
21
22
  finalSeparator +
22
23
  val[val.length - 1];
23
24
  }
24
- exports.joinAnd = joinAnd;
25
25
  const VOWEL_ISH = ['a', 'e', 'i', 'o', 'u', 'y'];
26
26
  function aOrAn(value) {
27
27
  if (VOWEL_ISH.includes(value[0].toLowerCase()))
@@ -29,5 +29,4 @@ function aOrAn(value) {
29
29
  else
30
30
  return 'a';
31
31
  }
32
- exports.aOrAn = aOrAn;
33
32
  //# sourceMappingURL=text.js.map
package/dist/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":";;;AAAA,SAAgB,oBAAoB,CAAC,GAAW,EAAE,MAAc;IAC5D,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE;QACtB,OAAO,GAAG,CAAC;KACd;SAAM;QACH,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;KAC3C;AACL,CAAC;AAND,oDAMC;AAED,SAAgB,OAAO,CAAC,GAAa,EAAE,UAOnC,EAAE;IACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAEjD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,cAAc;QACd,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5B,CAAC;AAlBD,0BAkBC;AAED,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjD,SAAgB,KAAK,CAAC,KAAa;IAC/B,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;;QACvD,OAAO,GAAG,CAAC;AACpB,CAAC;AAHD,sBAGC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":";;AAAA,oDAMC;AAED,0BAkBC;AAGD,sBAGC;AAhCD,SAAgB,oBAAoB,CAAC,GAAW,EAAE,MAAc;IAC5D,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACf,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;AACL,CAAC;AAED,SAAgB,OAAO,CAAC,GAAa,EAAE,UAOnC,EAAE;IACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAEjD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,cAAc;QACd,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjD,SAAgB,KAAK,CAAC,KAAa;IAC/B,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;;QACvD,OAAO,GAAG,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@httptoolkit/util",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "A tiny utility package, sharing JS code widely used across HTTP Toolkit projects",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -28,6 +28,6 @@
28
28
  },
29
29
  "homepage": "https://github.com/httptoolkit/httptoolkit-js-util#readme",
30
30
  "devDependencies": {
31
- "typescript": "5.2.2"
31
+ "typescript": "5.9.3"
32
32
  }
33
33
  }
package/src/errors.ts CHANGED
@@ -9,7 +9,7 @@ export type ErrorLike = Partial<Error> & {
9
9
  signal?: string;
10
10
  statusCode?: number;
11
11
  statusMessage?: string;
12
- cause?: ErrorLike;
12
+ cause?: ErrorLike | Error | unknown; // Needs to be compatible with Error types for this
13
13
  };
14
14
 
15
15
  /**
@@ -76,6 +76,8 @@ export class StatusError extends CustomError {
76
76
  ) {
77
77
  super(message, { ...extras, statusCode: statusCode });
78
78
  }
79
+
80
+ declare readonly statusCode: number;
79
81
  }
80
82
 
81
83
  /**