@noma.to/qwik-testing-library 1.2.0 → 1.3.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 (96) hide show
  1. package/README.md +4 -3
  2. package/lib/lib/mock.qwik.cjs +3 -3
  3. package/lib/lib/mock.qwik.mjs +1 -1
  4. package/lib/lib/qwikloader.qwik.cjs +1 -1
  5. package/lib/lib/qwikloader.qwik.mjs +1 -1
  6. package/lib/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.qwik.cjs +89 -0
  7. package/lib/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.qwik.mjs +89 -0
  8. package/lib/node_modules/.pnpm/{@vitest_expect@2.1.1 → @vitest_expect@2.1.8}/node_modules/@vitest/expect/dist/index.qwik.cjs +155 -71
  9. package/lib/node_modules/.pnpm/{@vitest_expect@2.1.1 → @vitest_expect@2.1.8}/node_modules/@vitest/expect/dist/index.qwik.mjs +148 -64
  10. package/lib/node_modules/.pnpm/{@vitest_pretty-format@2.1.1 → @vitest_pretty-format@2.1.8}/node_modules/@vitest/pretty-format/dist/index.qwik.cjs +11 -5
  11. package/lib/node_modules/.pnpm/{@vitest_pretty-format@2.1.1 → @vitest_pretty-format@2.1.8}/node_modules/@vitest/pretty-format/dist/index.qwik.mjs +11 -5
  12. package/lib/node_modules/.pnpm/{@vitest_runner@2.1.1 → @vitest_runner@2.1.8}/node_modules/@vitest/runner/dist/chunk-tasks.qwik.cjs +2 -2
  13. package/lib/node_modules/.pnpm/{@vitest_runner@2.1.1 → @vitest_runner@2.1.8}/node_modules/@vitest/runner/dist/chunk-tasks.qwik.mjs +2 -2
  14. package/lib/node_modules/.pnpm/{@vitest_runner@2.1.1 → @vitest_runner@2.1.8}/node_modules/@vitest/runner/dist/index.qwik.cjs +34 -28
  15. package/lib/node_modules/.pnpm/{@vitest_runner@2.1.1 → @vitest_runner@2.1.8}/node_modules/@vitest/runner/dist/index.qwik.mjs +31 -25
  16. package/lib/node_modules/.pnpm/{@vitest_snapshot@2.1.1 → @vitest_snapshot@2.1.8}/node_modules/@vitest/snapshot/dist/index.qwik.cjs +863 -460
  17. package/lib/node_modules/.pnpm/{@vitest_snapshot@2.1.1 → @vitest_snapshot@2.1.8}/node_modules/@vitest/snapshot/dist/index.qwik.mjs +863 -460
  18. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1/node_modules/@vitest/utils/dist/chunk-display.qwik.cjs → @vitest_utils@2.1.8/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.qwik.cjs} +6 -2
  19. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1/node_modules/@vitest/utils/dist/chunk-display.qwik.mjs → @vitest_utils@2.1.8/node_modules/@vitest/utils/dist/chunk-_commonjsHelpers.qwik.mjs} +6 -2
  20. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1 → @vitest_utils@2.1.8}/node_modules/@vitest/utils/dist/diff.qwik.cjs +458 -450
  21. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1 → @vitest_utils@2.1.8}/node_modules/@vitest/utils/dist/diff.qwik.mjs +456 -448
  22. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1 → @vitest_utils@2.1.8}/node_modules/@vitest/utils/dist/error.qwik.cjs +5 -5
  23. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1 → @vitest_utils@2.1.8}/node_modules/@vitest/utils/dist/error.qwik.mjs +2 -2
  24. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1 → @vitest_utils@2.1.8}/node_modules/@vitest/utils/dist/helpers.qwik.cjs +1 -1
  25. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1 → @vitest_utils@2.1.8}/node_modules/@vitest/utils/dist/helpers.qwik.mjs +1 -1
  26. package/lib/node_modules/.pnpm/@vitest_utils@2.1.8/node_modules/@vitest/utils/dist/index.qwik.cjs +472 -0
  27. package/lib/node_modules/.pnpm/@vitest_utils@2.1.8/node_modules/@vitest/utils/dist/index.qwik.mjs +472 -0
  28. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1 → @vitest_utils@2.1.8}/node_modules/@vitest/utils/dist/source-map.qwik.cjs +20 -20
  29. package/lib/node_modules/.pnpm/{@vitest_utils@2.1.1 → @vitest_utils@2.1.8}/node_modules/@vitest/utils/dist/source-map.qwik.mjs +20 -20
  30. package/lib/node_modules/.pnpm/{chai@5.1.1 → chai@5.1.2}/node_modules/chai/chai.qwik.cjs +71 -39
  31. package/lib/node_modules/.pnpm/{chai@5.1.1 → chai@5.1.2}/node_modules/chai/chai.qwik.mjs +71 -39
  32. package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/error.qwik.cjs +7 -1
  33. package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/error.qwik.mjs +7 -1
  34. package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/object.qwik.cjs +1 -1
  35. package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/object.qwik.mjs +1 -1
  36. package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/string.qwik.cjs +1 -2
  37. package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/string.qwik.mjs +1 -2
  38. package/lib/node_modules/.pnpm/{magic-string@0.30.11 → magic-string@0.30.17}/node_modules/magic-string/dist/magic-string.es.qwik.cjs +44 -33
  39. package/lib/node_modules/.pnpm/{magic-string@0.30.11 → magic-string@0.30.17}/node_modules/magic-string/dist/magic-string.es.qwik.mjs +44 -33
  40. package/lib/node_modules/.pnpm/vitest@2.1.8_@types_node@22.10.3_@vitest_ui@2.1.8_jsdom@26.0.0/node_modules/vitest/dist/chunks/utils.C8RiOc4B.qwik.cjs +66 -0
  41. package/lib/node_modules/.pnpm/vitest@2.1.8_@types_node@22.10.3_@vitest_ui@2.1.8_jsdom@26.0.0/node_modules/vitest/dist/chunks/utils.C8RiOc4B.qwik.mjs +66 -0
  42. package/lib/node_modules/.pnpm/vitest@2.1.8_@types_node@22.10.3_@vitest_ui@2.1.8_jsdom@26.0.0/node_modules/vitest/dist/chunks/vi.DgezovHB.qwik.cjs +2749 -0
  43. package/lib/node_modules/.pnpm/vitest@2.1.8_@types_node@22.10.3_@vitest_ui@2.1.8_jsdom@26.0.0/node_modules/vitest/dist/chunks/vi.DgezovHB.qwik.mjs +2749 -0
  44. package/package.json +13 -13
  45. package/lib/_virtual/_commonjsHelpers.qwik.cjs +0 -4
  46. package/lib/_virtual/_commonjsHelpers.qwik.mjs +0 -4
  47. package/lib/_virtual/sourcemap-codec.umd.qwik.cjs +0 -4
  48. package/lib/_virtual/sourcemap-codec.umd.qwik.mjs +0 -4
  49. package/lib/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.qwik.cjs +0 -425
  50. package/lib/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.qwik.mjs +0 -425
  51. package/lib/node_modules/.pnpm/@vitest_utils@2.1.1/node_modules/@vitest/utils/dist/index.qwik.cjs +0 -81
  52. package/lib/node_modules/.pnpm/@vitest_utils@2.1.1/node_modules/@vitest/utils/dist/index.qwik.mjs +0 -81
  53. package/lib/node_modules/.pnpm/vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1/node_modules/vitest/dist/chunks/base.BlXpj3e_.qwik.cjs +0 -6
  54. package/lib/node_modules/.pnpm/vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1/node_modules/vitest/dist/chunks/base.BlXpj3e_.qwik.mjs +0 -6
  55. package/lib/node_modules/.pnpm/vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1/node_modules/vitest/dist/chunks/utils.Ck2hJTRs.qwik.cjs +0 -16
  56. package/lib/node_modules/.pnpm/vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1/node_modules/vitest/dist/chunks/utils.Ck2hJTRs.qwik.mjs +0 -16
  57. package/lib/node_modules/.pnpm/vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1/node_modules/vitest/dist/chunks/vi.D6IHiKAI.qwik.cjs +0 -2556
  58. package/lib/node_modules/.pnpm/vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1/node_modules/vitest/dist/chunks/vi.D6IHiKAI.qwik.mjs +0 -2556
  59. /package/lib/node_modules/.pnpm/{@vitest_spy@2.1.1 → @vitest_spy@2.1.8}/node_modules/@vitest/spy/dist/index.qwik.cjs +0 -0
  60. /package/lib/node_modules/.pnpm/{@vitest_spy@2.1.1 → @vitest_spy@2.1.8}/node_modules/@vitest/spy/dist/index.qwik.mjs +0 -0
  61. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/arguments.qwik.cjs +0 -0
  62. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/arguments.qwik.mjs +0 -0
  63. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/array.qwik.cjs +0 -0
  64. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/array.qwik.mjs +0 -0
  65. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/bigint.qwik.cjs +0 -0
  66. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/bigint.qwik.mjs +0 -0
  67. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/class.qwik.cjs +0 -0
  68. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/class.qwik.mjs +0 -0
  69. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/date.qwik.cjs +0 -0
  70. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/date.qwik.mjs +0 -0
  71. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/function.qwik.cjs +0 -0
  72. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/function.qwik.mjs +0 -0
  73. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/helpers.qwik.cjs +0 -0
  74. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/helpers.qwik.mjs +0 -0
  75. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/html.qwik.cjs +0 -0
  76. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/html.qwik.mjs +0 -0
  77. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/index.qwik.cjs +0 -0
  78. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/index.qwik.mjs +0 -0
  79. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/map.qwik.cjs +0 -0
  80. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/map.qwik.mjs +0 -0
  81. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/number.qwik.cjs +0 -0
  82. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/number.qwik.mjs +0 -0
  83. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/promise.qwik.cjs +0 -0
  84. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/promise.qwik.mjs +0 -0
  85. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/regexp.qwik.cjs +0 -0
  86. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/regexp.qwik.mjs +0 -0
  87. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/set.qwik.cjs +0 -0
  88. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/set.qwik.mjs +0 -0
  89. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/symbol.qwik.cjs +0 -0
  90. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/symbol.qwik.mjs +0 -0
  91. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/typedarray.qwik.cjs +0 -0
  92. /package/lib/node_modules/.pnpm/{loupe@3.1.1 → loupe@3.1.2}/node_modules/loupe/lib/typedarray.qwik.mjs +0 -0
  93. /package/lib/node_modules/.pnpm/{vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1 → vitest@2.1.8_@types_node@22.10.3_@vitest_ui@2.1.8_jsdom@26.0.0}/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.qwik.cjs +0 -0
  94. /package/lib/node_modules/.pnpm/{vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1 → vitest@2.1.8_@types_node@22.10.3_@vitest_ui@2.1.8_jsdom@26.0.0}/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.qwik.mjs +0 -0
  95. /package/lib/node_modules/.pnpm/{vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1 → vitest@2.1.8_@types_node@22.10.3_@vitest_ui@2.1.8_jsdom@26.0.0}/node_modules/vitest/dist/chunks/date.W2xKR2qe.qwik.cjs +0 -0
  96. /package/lib/node_modules/.pnpm/{vitest@2.1.1_@types_node@22.7.4_@vitest_ui@2.1.1_jsdom@25.0.1 → vitest@2.1.8_@types_node@22.10.3_@vitest_ui@2.1.8_jsdom@26.0.0}/node_modules/vitest/dist/chunks/date.W2xKR2qe.qwik.mjs +0 -0
@@ -39,6 +39,7 @@ __export(utils_exports, {
39
39
  hasProperty: () => hasProperty,
40
40
  inspect: () => inspect2,
41
41
  isNaN: () => isNaN2,
42
+ isNumeric: () => isNumeric,
42
43
  isProxyEnabled: () => isProxyEnabled,
43
44
  isRegExp: () => isRegExp2,
44
45
  objDisplay: () => objDisplay,
@@ -285,6 +286,10 @@ function normaliseOptions({
285
286
  return options;
286
287
  }
287
288
  __name(normaliseOptions, "normaliseOptions");
289
+ function isHighSurrogate(char) {
290
+ return char >= "\uD800" && char <= "\uDBFF";
291
+ }
292
+ __name(isHighSurrogate, "isHighSurrogate");
288
293
  function truncate(string, length, tail = truncator) {
289
294
  string = String(string);
290
295
  const tailLength = tail.length;
@@ -293,7 +298,11 @@ function truncate(string, length, tail = truncator) {
293
298
  return tail;
294
299
  }
295
300
  if (stringLength > length && stringLength > tailLength) {
296
- return `${string.slice(0, length - tailLength)}${tail}`;
301
+ let end = length - tailLength;
302
+ if (end > 0 && isHighSurrogate(string[end - 1])) {
303
+ end = end - 1;
304
+ }
305
+ return `${string.slice(0, end)}${tail}`;
297
306
  }
298
307
  return string;
299
308
  }
@@ -502,9 +511,8 @@ var escapeCharacters = {
502
511
  "\\": "\\\\"
503
512
  };
504
513
  var hex = 16;
505
- var unicodeLength = 4;
506
514
  function escape(char) {
507
- return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-unicodeLength)}`;
515
+ return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-4)}`;
508
516
  }
509
517
  __name(escape, "escape");
510
518
  function inspectString(string, options) {
@@ -544,7 +552,7 @@ function inspectObject(object, options) {
544
552
  }
545
553
  options.truncate -= 4;
546
554
  options.seen = options.seen || [];
547
- if (options.seen.indexOf(object) >= 0) {
555
+ if (options.seen.includes(object)) {
548
556
  return "[Circular]";
549
557
  }
550
558
  options.seen.push(object);
@@ -589,7 +597,8 @@ var errorKeys = [
589
597
  "lineNumber",
590
598
  "columnNumber",
591
599
  "number",
592
- "description"
600
+ "description",
601
+ "cause"
593
602
  ];
594
603
  function inspectObject2(error, options) {
595
604
  const properties = Object.getOwnPropertyNames(error).filter((key) => errorKeys.indexOf(key) === -1);
@@ -603,6 +612,11 @@ function inspectObject2(error, options) {
603
612
  }
604
613
  message = message ? `: ${message}` : "";
605
614
  options.truncate -= message.length + 5;
615
+ options.seen = options.seen || [];
616
+ if (options.seen.includes(error)) {
617
+ return "[Circular]";
618
+ }
619
+ options.seen.push(error);
606
620
  const propertyContents = inspectList(properties.map((key) => [key, error[key]]), options, inspectProperty);
607
621
  return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ""}`;
608
622
  }
@@ -1096,12 +1110,16 @@ function regexpEqual(leftHandOperand, rightHandOperand) {
1096
1110
  }
1097
1111
  __name(regexpEqual, "regexpEqual");
1098
1112
  function entriesEqual(leftHandOperand, rightHandOperand, options) {
1099
- if (leftHandOperand.size !== rightHandOperand.size) {
1113
+ try {
1114
+ if (leftHandOperand.size !== rightHandOperand.size) {
1115
+ return false;
1116
+ }
1117
+ if (leftHandOperand.size === 0) {
1118
+ return true;
1119
+ }
1120
+ } catch (sizeError) {
1100
1121
  return false;
1101
1122
  }
1102
- if (leftHandOperand.size === 0) {
1103
- return true;
1104
- }
1105
1123
  var leftHandItems = [];
1106
1124
  var rightHandItems = [];
1107
1125
  leftHandOperand.forEach(/* @__PURE__ */ __name(function gatherEntries(key, value) {
@@ -1721,6 +1739,10 @@ function isRegExp2(obj) {
1721
1739
  return Object.prototype.toString.call(obj) === "[object RegExp]";
1722
1740
  }
1723
1741
  __name(isRegExp2, "isRegExp");
1742
+ function isNumeric(obj) {
1743
+ return ["Number", "BigInt"].includes(type(obj));
1744
+ }
1745
+ __name(isNumeric, "isNumeric");
1724
1746
  var { flag: flag2 } = utils_exports;
1725
1747
  [
1726
1748
  "to",
@@ -1905,6 +1927,15 @@ Assertion.addProperty("true", function() {
1905
1927
  flag2(this, "negate") ? false : true
1906
1928
  );
1907
1929
  });
1930
+ Assertion.addProperty("numeric", function() {
1931
+ const object = flag2(this, "object");
1932
+ this.assert(
1933
+ ["Number", "BigInt"].includes(type(object)),
1934
+ "expected #{this} to be numeric",
1935
+ "expected #{this} to not be numeric",
1936
+ flag2(this, "negate") ? false : true
1937
+ );
1938
+ });
1908
1939
  Assertion.addProperty("callable", function() {
1909
1940
  const val = flag2(this, "object");
1910
1941
  const ssfi = flag2(this, "ssfi");
@@ -2053,22 +2084,17 @@ Assertion.addMethod("eqls", assertEql);
2053
2084
  function assertAbove(n, msg) {
2054
2085
  if (msg)
2055
2086
  flag2(this, "message", msg);
2056
- var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n).toLowerCase(), errorMessage, shouldThrow = true;
2087
+ var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n).toLowerCase();
2057
2088
  if (doLength && objType !== "map" && objType !== "set") {
2058
2089
  new Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
2059
2090
  }
2060
2091
  if (!doLength && (objType === "date" && nType !== "date")) {
2061
- errorMessage = msgPrefix + "the argument to above must be a date";
2062
- } else if (nType !== "number" && (doLength || objType === "number")) {
2063
- errorMessage = msgPrefix + "the argument to above must be a number";
2064
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2092
+ throw new AssertionError(msgPrefix + "the argument to above must be a date", void 0, ssfi);
2093
+ } else if (!isNumeric(n) && (doLength || isNumeric(obj))) {
2094
+ throw new AssertionError(msgPrefix + "the argument to above must be a number", void 0, ssfi);
2095
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2065
2096
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2066
- errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2067
- } else {
2068
- shouldThrow = false;
2069
- }
2070
- if (shouldThrow) {
2071
- throw new AssertionError(errorMessage, void 0, ssfi);
2097
+ throw new AssertionError(msgPrefix + "expected " + printObj + " to be a number or a date", void 0, ssfi);
2072
2098
  }
2073
2099
  if (doLength) {
2074
2100
  var descriptor = "length", itemsCount;
@@ -2107,9 +2133,9 @@ function assertLeast(n, msg) {
2107
2133
  }
2108
2134
  if (!doLength && (objType === "date" && nType !== "date")) {
2109
2135
  errorMessage = msgPrefix + "the argument to least must be a date";
2110
- } else if (nType !== "number" && (doLength || objType === "number")) {
2136
+ } else if (!isNumeric(n) && (doLength || isNumeric(obj))) {
2111
2137
  errorMessage = msgPrefix + "the argument to least must be a number";
2112
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2138
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2113
2139
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2114
2140
  errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2115
2141
  } else {
@@ -2155,9 +2181,9 @@ function assertBelow(n, msg) {
2155
2181
  }
2156
2182
  if (!doLength && (objType === "date" && nType !== "date")) {
2157
2183
  errorMessage = msgPrefix + "the argument to below must be a date";
2158
- } else if (nType !== "number" && (doLength || objType === "number")) {
2184
+ } else if (!isNumeric(n) && (doLength || isNumeric(obj))) {
2159
2185
  errorMessage = msgPrefix + "the argument to below must be a number";
2160
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2186
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2161
2187
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2162
2188
  errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2163
2189
  } else {
@@ -2203,9 +2229,9 @@ function assertMost(n, msg) {
2203
2229
  }
2204
2230
  if (!doLength && (objType === "date" && nType !== "date")) {
2205
2231
  errorMessage = msgPrefix + "the argument to most must be a date";
2206
- } else if (nType !== "number" && (doLength || objType === "number")) {
2232
+ } else if (!isNumeric(n) && (doLength || isNumeric(obj))) {
2207
2233
  errorMessage = msgPrefix + "the argument to most must be a number";
2208
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2234
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2209
2235
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2210
2236
  errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2211
2237
  } else {
@@ -2251,9 +2277,9 @@ Assertion.addMethod("within", function(start, finish, msg) {
2251
2277
  }
2252
2278
  if (!doLength && (objType === "date" && (startType !== "date" || finishType !== "date"))) {
2253
2279
  errorMessage = msgPrefix + "the arguments to within must be dates";
2254
- } else if ((startType !== "number" || finishType !== "number") && (doLength || objType === "number")) {
2280
+ } else if ((!isNumeric(start) || !isNumeric(finish)) && (doLength || isNumeric(obj))) {
2255
2281
  errorMessage = msgPrefix + "the arguments to within must be numbers";
2256
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2282
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2257
2283
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2258
2284
  errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2259
2285
  } else {
@@ -2714,18 +2740,18 @@ function closeTo(expected, delta, msg) {
2714
2740
  if (msg)
2715
2741
  flag2(this, "message", msg);
2716
2742
  var obj = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi");
2717
- new Assertion(obj, flagMsg, ssfi, true).is.a("number");
2718
- if (typeof expected !== "number" || typeof delta !== "number") {
2719
- flagMsg = flagMsg ? flagMsg + ": " : "";
2720
- var deltaMessage = delta === void 0 ? ", and a delta is required" : "";
2721
- throw new AssertionError(
2722
- flagMsg + "the arguments to closeTo or approximately must be numbers" + deltaMessage,
2723
- void 0,
2724
- ssfi
2725
- );
2726
- }
2743
+ new Assertion(obj, flagMsg, ssfi, true).is.numeric;
2744
+ let message = "A `delta` value is required for `closeTo`";
2745
+ if (delta == void 0)
2746
+ throw new AssertionError(flagMsg ? `${flagMsg}: ${message}` : message, void 0, ssfi);
2747
+ new Assertion(delta, flagMsg, ssfi, true).is.numeric;
2748
+ message = "A `expected` value is required for `closeTo`";
2749
+ if (expected == void 0)
2750
+ throw new AssertionError(flagMsg ? `${flagMsg}: ${message}` : message, void 0, ssfi);
2751
+ new Assertion(expected, flagMsg, ssfi, true).is.numeric;
2752
+ const abs = /* @__PURE__ */ __name((x) => x < 0n ? -x : x, "abs");
2727
2753
  this.assert(
2728
- Math.abs(obj - expected) <= delta,
2754
+ abs(obj - expected) <= delta,
2729
2755
  "expected #{this} to be close to " + expected + " +/- " + delta,
2730
2756
  "expected #{this} not to be close to " + expected + " +/- " + delta
2731
2757
  );
@@ -3210,6 +3236,12 @@ assert.isNumber = function(val, msg) {
3210
3236
  assert.isNotNumber = function(val, msg) {
3211
3237
  new Assertion(val, msg, assert.isNotNumber, true).to.not.be.a("number");
3212
3238
  };
3239
+ assert.isNumeric = function(val, msg) {
3240
+ new Assertion(val, msg, assert.isNumeric, true).is.numeric;
3241
+ };
3242
+ assert.isNotNumeric = function(val, msg) {
3243
+ new Assertion(val, msg, assert.isNotNumeric, true).is.not.numeric;
3244
+ };
3213
3245
  assert.isFinite = function(val, msg) {
3214
3246
  new Assertion(val, msg, assert.isFinite, true).to.be.finite;
3215
3247
  };
@@ -37,6 +37,7 @@ __export(utils_exports, {
37
37
  hasProperty: () => hasProperty,
38
38
  inspect: () => inspect2,
39
39
  isNaN: () => isNaN2,
40
+ isNumeric: () => isNumeric,
40
41
  isProxyEnabled: () => isProxyEnabled,
41
42
  isRegExp: () => isRegExp2,
42
43
  objDisplay: () => objDisplay,
@@ -283,6 +284,10 @@ function normaliseOptions({
283
284
  return options;
284
285
  }
285
286
  __name(normaliseOptions, "normaliseOptions");
287
+ function isHighSurrogate(char) {
288
+ return char >= "\uD800" && char <= "\uDBFF";
289
+ }
290
+ __name(isHighSurrogate, "isHighSurrogate");
286
291
  function truncate(string, length, tail = truncator) {
287
292
  string = String(string);
288
293
  const tailLength = tail.length;
@@ -291,7 +296,11 @@ function truncate(string, length, tail = truncator) {
291
296
  return tail;
292
297
  }
293
298
  if (stringLength > length && stringLength > tailLength) {
294
- return `${string.slice(0, length - tailLength)}${tail}`;
299
+ let end = length - tailLength;
300
+ if (end > 0 && isHighSurrogate(string[end - 1])) {
301
+ end = end - 1;
302
+ }
303
+ return `${string.slice(0, end)}${tail}`;
295
304
  }
296
305
  return string;
297
306
  }
@@ -500,9 +509,8 @@ var escapeCharacters = {
500
509
  "\\": "\\\\"
501
510
  };
502
511
  var hex = 16;
503
- var unicodeLength = 4;
504
512
  function escape(char) {
505
- return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-unicodeLength)}`;
513
+ return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-4)}`;
506
514
  }
507
515
  __name(escape, "escape");
508
516
  function inspectString(string, options) {
@@ -542,7 +550,7 @@ function inspectObject(object, options) {
542
550
  }
543
551
  options.truncate -= 4;
544
552
  options.seen = options.seen || [];
545
- if (options.seen.indexOf(object) >= 0) {
553
+ if (options.seen.includes(object)) {
546
554
  return "[Circular]";
547
555
  }
548
556
  options.seen.push(object);
@@ -587,7 +595,8 @@ var errorKeys = [
587
595
  "lineNumber",
588
596
  "columnNumber",
589
597
  "number",
590
- "description"
598
+ "description",
599
+ "cause"
591
600
  ];
592
601
  function inspectObject2(error, options) {
593
602
  const properties = Object.getOwnPropertyNames(error).filter((key) => errorKeys.indexOf(key) === -1);
@@ -601,6 +610,11 @@ function inspectObject2(error, options) {
601
610
  }
602
611
  message = message ? `: ${message}` : "";
603
612
  options.truncate -= message.length + 5;
613
+ options.seen = options.seen || [];
614
+ if (options.seen.includes(error)) {
615
+ return "[Circular]";
616
+ }
617
+ options.seen.push(error);
604
618
  const propertyContents = inspectList(properties.map((key) => [key, error[key]]), options, inspectProperty);
605
619
  return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ""}`;
606
620
  }
@@ -1094,12 +1108,16 @@ function regexpEqual(leftHandOperand, rightHandOperand) {
1094
1108
  }
1095
1109
  __name(regexpEqual, "regexpEqual");
1096
1110
  function entriesEqual(leftHandOperand, rightHandOperand, options) {
1097
- if (leftHandOperand.size !== rightHandOperand.size) {
1111
+ try {
1112
+ if (leftHandOperand.size !== rightHandOperand.size) {
1113
+ return false;
1114
+ }
1115
+ if (leftHandOperand.size === 0) {
1116
+ return true;
1117
+ }
1118
+ } catch (sizeError) {
1098
1119
  return false;
1099
1120
  }
1100
- if (leftHandOperand.size === 0) {
1101
- return true;
1102
- }
1103
1121
  var leftHandItems = [];
1104
1122
  var rightHandItems = [];
1105
1123
  leftHandOperand.forEach(/* @__PURE__ */ __name(function gatherEntries(key, value) {
@@ -1719,6 +1737,10 @@ function isRegExp2(obj) {
1719
1737
  return Object.prototype.toString.call(obj) === "[object RegExp]";
1720
1738
  }
1721
1739
  __name(isRegExp2, "isRegExp");
1740
+ function isNumeric(obj) {
1741
+ return ["Number", "BigInt"].includes(type(obj));
1742
+ }
1743
+ __name(isNumeric, "isNumeric");
1722
1744
  var { flag: flag2 } = utils_exports;
1723
1745
  [
1724
1746
  "to",
@@ -1903,6 +1925,15 @@ Assertion.addProperty("true", function() {
1903
1925
  flag2(this, "negate") ? false : true
1904
1926
  );
1905
1927
  });
1928
+ Assertion.addProperty("numeric", function() {
1929
+ const object = flag2(this, "object");
1930
+ this.assert(
1931
+ ["Number", "BigInt"].includes(type(object)),
1932
+ "expected #{this} to be numeric",
1933
+ "expected #{this} to not be numeric",
1934
+ flag2(this, "negate") ? false : true
1935
+ );
1936
+ });
1906
1937
  Assertion.addProperty("callable", function() {
1907
1938
  const val = flag2(this, "object");
1908
1939
  const ssfi = flag2(this, "ssfi");
@@ -2051,22 +2082,17 @@ Assertion.addMethod("eqls", assertEql);
2051
2082
  function assertAbove(n, msg) {
2052
2083
  if (msg)
2053
2084
  flag2(this, "message", msg);
2054
- var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n).toLowerCase(), errorMessage, shouldThrow = true;
2085
+ var obj = flag2(this, "object"), doLength = flag2(this, "doLength"), flagMsg = flag2(this, "message"), msgPrefix = flagMsg ? flagMsg + ": " : "", ssfi = flag2(this, "ssfi"), objType = type(obj).toLowerCase(), nType = type(n).toLowerCase();
2055
2086
  if (doLength && objType !== "map" && objType !== "set") {
2056
2087
  new Assertion(obj, flagMsg, ssfi, true).to.have.property("length");
2057
2088
  }
2058
2089
  if (!doLength && (objType === "date" && nType !== "date")) {
2059
- errorMessage = msgPrefix + "the argument to above must be a date";
2060
- } else if (nType !== "number" && (doLength || objType === "number")) {
2061
- errorMessage = msgPrefix + "the argument to above must be a number";
2062
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2090
+ throw new AssertionError(msgPrefix + "the argument to above must be a date", void 0, ssfi);
2091
+ } else if (!isNumeric(n) && (doLength || isNumeric(obj))) {
2092
+ throw new AssertionError(msgPrefix + "the argument to above must be a number", void 0, ssfi);
2093
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2063
2094
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2064
- errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2065
- } else {
2066
- shouldThrow = false;
2067
- }
2068
- if (shouldThrow) {
2069
- throw new AssertionError(errorMessage, void 0, ssfi);
2095
+ throw new AssertionError(msgPrefix + "expected " + printObj + " to be a number or a date", void 0, ssfi);
2070
2096
  }
2071
2097
  if (doLength) {
2072
2098
  var descriptor = "length", itemsCount;
@@ -2105,9 +2131,9 @@ function assertLeast(n, msg) {
2105
2131
  }
2106
2132
  if (!doLength && (objType === "date" && nType !== "date")) {
2107
2133
  errorMessage = msgPrefix + "the argument to least must be a date";
2108
- } else if (nType !== "number" && (doLength || objType === "number")) {
2134
+ } else if (!isNumeric(n) && (doLength || isNumeric(obj))) {
2109
2135
  errorMessage = msgPrefix + "the argument to least must be a number";
2110
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2136
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2111
2137
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2112
2138
  errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2113
2139
  } else {
@@ -2153,9 +2179,9 @@ function assertBelow(n, msg) {
2153
2179
  }
2154
2180
  if (!doLength && (objType === "date" && nType !== "date")) {
2155
2181
  errorMessage = msgPrefix + "the argument to below must be a date";
2156
- } else if (nType !== "number" && (doLength || objType === "number")) {
2182
+ } else if (!isNumeric(n) && (doLength || isNumeric(obj))) {
2157
2183
  errorMessage = msgPrefix + "the argument to below must be a number";
2158
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2184
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2159
2185
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2160
2186
  errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2161
2187
  } else {
@@ -2201,9 +2227,9 @@ function assertMost(n, msg) {
2201
2227
  }
2202
2228
  if (!doLength && (objType === "date" && nType !== "date")) {
2203
2229
  errorMessage = msgPrefix + "the argument to most must be a date";
2204
- } else if (nType !== "number" && (doLength || objType === "number")) {
2230
+ } else if (!isNumeric(n) && (doLength || isNumeric(obj))) {
2205
2231
  errorMessage = msgPrefix + "the argument to most must be a number";
2206
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2232
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2207
2233
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2208
2234
  errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2209
2235
  } else {
@@ -2249,9 +2275,9 @@ Assertion.addMethod("within", function(start, finish, msg) {
2249
2275
  }
2250
2276
  if (!doLength && (objType === "date" && (startType !== "date" || finishType !== "date"))) {
2251
2277
  errorMessage = msgPrefix + "the arguments to within must be dates";
2252
- } else if ((startType !== "number" || finishType !== "number") && (doLength || objType === "number")) {
2278
+ } else if ((!isNumeric(start) || !isNumeric(finish)) && (doLength || isNumeric(obj))) {
2253
2279
  errorMessage = msgPrefix + "the arguments to within must be numbers";
2254
- } else if (!doLength && (objType !== "date" && objType !== "number")) {
2280
+ } else if (!doLength && (objType !== "date" && !isNumeric(obj))) {
2255
2281
  var printObj = objType === "string" ? "'" + obj + "'" : obj;
2256
2282
  errorMessage = msgPrefix + "expected " + printObj + " to be a number or a date";
2257
2283
  } else {
@@ -2712,18 +2738,18 @@ function closeTo(expected, delta, msg) {
2712
2738
  if (msg)
2713
2739
  flag2(this, "message", msg);
2714
2740
  var obj = flag2(this, "object"), flagMsg = flag2(this, "message"), ssfi = flag2(this, "ssfi");
2715
- new Assertion(obj, flagMsg, ssfi, true).is.a("number");
2716
- if (typeof expected !== "number" || typeof delta !== "number") {
2717
- flagMsg = flagMsg ? flagMsg + ": " : "";
2718
- var deltaMessage = delta === void 0 ? ", and a delta is required" : "";
2719
- throw new AssertionError(
2720
- flagMsg + "the arguments to closeTo or approximately must be numbers" + deltaMessage,
2721
- void 0,
2722
- ssfi
2723
- );
2724
- }
2741
+ new Assertion(obj, flagMsg, ssfi, true).is.numeric;
2742
+ let message = "A `delta` value is required for `closeTo`";
2743
+ if (delta == void 0)
2744
+ throw new AssertionError(flagMsg ? `${flagMsg}: ${message}` : message, void 0, ssfi);
2745
+ new Assertion(delta, flagMsg, ssfi, true).is.numeric;
2746
+ message = "A `expected` value is required for `closeTo`";
2747
+ if (expected == void 0)
2748
+ throw new AssertionError(flagMsg ? `${flagMsg}: ${message}` : message, void 0, ssfi);
2749
+ new Assertion(expected, flagMsg, ssfi, true).is.numeric;
2750
+ const abs = /* @__PURE__ */ __name((x) => x < 0n ? -x : x, "abs");
2725
2751
  this.assert(
2726
- Math.abs(obj - expected) <= delta,
2752
+ abs(obj - expected) <= delta,
2727
2753
  "expected #{this} to be close to " + expected + " +/- " + delta,
2728
2754
  "expected #{this} not to be close to " + expected + " +/- " + delta
2729
2755
  );
@@ -3208,6 +3234,12 @@ assert.isNumber = function(val, msg) {
3208
3234
  assert.isNotNumber = function(val, msg) {
3209
3235
  new Assertion(val, msg, assert.isNotNumber, true).to.not.be.a("number");
3210
3236
  };
3237
+ assert.isNumeric = function(val, msg) {
3238
+ new Assertion(val, msg, assert.isNumeric, true).is.numeric;
3239
+ };
3240
+ assert.isNotNumeric = function(val, msg) {
3241
+ new Assertion(val, msg, assert.isNotNumeric, true).is.not.numeric;
3242
+ };
3211
3243
  assert.isFinite = function(val, msg) {
3212
3244
  new Assertion(val, msg, assert.isFinite, true).to.be.finite;
3213
3245
  };
@@ -10,7 +10,8 @@ const errorKeys = [
10
10
  "lineNumber",
11
11
  "columnNumber",
12
12
  "number",
13
- "description"
13
+ "description",
14
+ "cause"
14
15
  ];
15
16
  function inspectObject(error, options) {
16
17
  const properties = Object.getOwnPropertyNames(error).filter((key) => errorKeys.indexOf(key) === -1);
@@ -24,6 +25,11 @@ function inspectObject(error, options) {
24
25
  }
25
26
  message = message ? `: ${message}` : "";
26
27
  options.truncate -= message.length + 5;
28
+ options.seen = options.seen || [];
29
+ if (options.seen.includes(error)) {
30
+ return "[Circular]";
31
+ }
32
+ options.seen.push(error);
27
33
  const propertyContents = helpers.inspectList(properties.map((key) => [key, error[key]]), options, helpers.inspectProperty);
28
34
  return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ""}`;
29
35
  }
@@ -9,7 +9,8 @@ const errorKeys = [
9
9
  "lineNumber",
10
10
  "columnNumber",
11
11
  "number",
12
- "description"
12
+ "description",
13
+ "cause"
13
14
  ];
14
15
  function inspectObject(error, options) {
15
16
  const properties = Object.getOwnPropertyNames(error).filter((key) => errorKeys.indexOf(key) === -1);
@@ -23,6 +24,11 @@ function inspectObject(error, options) {
23
24
  }
24
25
  message = message ? `: ${message}` : "";
25
26
  options.truncate -= message.length + 5;
27
+ options.seen = options.seen || [];
28
+ if (options.seen.includes(error)) {
29
+ return "[Circular]";
30
+ }
31
+ options.seen.push(error);
26
32
  const propertyContents = inspectList(properties.map((key) => [key, error[key]]), options, inspectProperty);
27
33
  return `${name}${message}${propertyContents ? ` { ${propertyContents} }` : ""}`;
28
34
  }
@@ -8,7 +8,7 @@ function inspectObject(object, options) {
8
8
  }
9
9
  options.truncate -= 4;
10
10
  options.seen = options.seen || [];
11
- if (options.seen.indexOf(object) >= 0) {
11
+ if (options.seen.includes(object)) {
12
12
  return "[Circular]";
13
13
  }
14
14
  options.seen.push(object);
@@ -7,7 +7,7 @@ function inspectObject(object, options) {
7
7
  }
8
8
  options.truncate -= 4;
9
9
  options.seen = options.seen || [];
10
- if (options.seen.indexOf(object) >= 0) {
10
+ if (options.seen.includes(object)) {
11
11
  return "[Circular]";
12
12
  }
13
13
  options.seen.push(object);
@@ -11,9 +11,8 @@ const escapeCharacters = {
11
11
  "\\": "\\\\"
12
12
  };
13
13
  const hex = 16;
14
- const unicodeLength = 4;
15
14
  function escape(char) {
16
- return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-unicodeLength)}`;
15
+ return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-4)}`;
17
16
  }
18
17
  function inspectString(string, options) {
19
18
  if (stringEscapeChars.test(string)) {
@@ -10,9 +10,8 @@ const escapeCharacters = {
10
10
  "\\": "\\\\"
11
11
  };
12
12
  const hex = 16;
13
- const unicodeLength = 4;
14
13
  function escape(char) {
15
- return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-unicodeLength)}`;
14
+ return escapeCharacters[char] || `\\u${`0000${char.charCodeAt(0).toString(hex)}`.slice(-4)}`;
16
15
  }
17
16
  function inspectString(string, options) {
18
17
  if (stringEscapeChars.test(string)) {