@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
@@ -3,46 +3,11 @@ var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
- const index = require("../../../../../@vitest_pretty-format@2.1.1/node_modules/@vitest/pretty-format/dist/index.qwik.cjs");
6
+ const index = require("../../../../../@vitest_pretty-format@2.1.8/node_modules/@vitest/pretty-format/dist/index.qwik.cjs");
7
7
  const browser = require("../../../../../tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/browser.qwik.cjs");
8
- const chunkDisplay = require("./chunk-display.qwik.cjs");
8
+ const chunk_commonjsHelpers = require("./chunk-_commonjsHelpers.qwik.cjs");
9
9
  const helpers = require("./helpers.qwik.cjs");
10
- require("../../../../../loupe@3.1.1/node_modules/loupe/lib/index.qwik.cjs");
11
- function getType(value) {
12
- if (value === void 0) {
13
- return "undefined";
14
- } else if (value === null) {
15
- return "null";
16
- } else if (Array.isArray(value)) {
17
- return "array";
18
- } else if (typeof value === "boolean") {
19
- return "boolean";
20
- } else if (typeof value === "function") {
21
- return "function";
22
- } else if (typeof value === "number") {
23
- return "number";
24
- } else if (typeof value === "string") {
25
- return "string";
26
- } else if (typeof value === "bigint") {
27
- return "bigint";
28
- } else if (typeof value === "object") {
29
- if (value != null) {
30
- if (value.constructor === RegExp) {
31
- return "regexp";
32
- } else if (value.constructor === Map) {
33
- return "map";
34
- } else if (value.constructor === Set) {
35
- return "set";
36
- } else if (value.constructor === Date) {
37
- return "date";
38
- }
39
- }
40
- return "object";
41
- } else if (typeof value === "symbol") {
42
- return "symbol";
43
- }
44
- throw new Error(`value of unknown type: ${value}`);
45
- }
10
+ require("../../../../../loupe@3.1.2/node_modules/loupe/lib/index.qwik.cjs");
46
11
  const DIFF_DELETE = -1;
47
12
  const DIFF_INSERT = 1;
48
13
  const DIFF_EQUAL = 0;
@@ -402,225 +367,154 @@ function diff_cleanupSemanticScore_(one, two) {
402
367
  const NO_DIFF_MESSAGE = "Compared values have no visual difference.";
403
368
  const SIMILAR_MESSAGE = "Compared values serialize to the same structure.\nPrinting internal object structure without calling `toJSON` instead.";
404
369
  var build = {};
405
- Object.defineProperty(build, "__esModule", {
406
- value: true
407
- });
408
- var _default = build.default = diffSequence;
409
- const pkg = "diff-sequences";
410
- const NOT_YET_SET = 0;
411
- const countCommonItemsF = (aIndex, aEnd, bIndex, bEnd, isCommon) => {
412
- let nCommon = 0;
413
- while (aIndex < aEnd && bIndex < bEnd && isCommon(aIndex, bIndex)) {
414
- aIndex += 1;
415
- bIndex += 1;
416
- nCommon += 1;
417
- }
418
- return nCommon;
419
- };
420
- const countCommonItemsR = (aStart, aIndex, bStart, bIndex, isCommon) => {
421
- let nCommon = 0;
422
- while (aStart <= aIndex && bStart <= bIndex && isCommon(aIndex, bIndex)) {
423
- aIndex -= 1;
424
- bIndex -= 1;
425
- nCommon += 1;
426
- }
427
- return nCommon;
428
- };
429
- const extendPathsF = (d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF) => {
430
- let iF = 0;
431
- let kF = -d;
432
- let aFirst = aIndexesF[iF];
433
- let aIndexPrev1 = aFirst;
434
- aIndexesF[iF] += countCommonItemsF(
435
- aFirst + 1,
436
- aEnd,
437
- bF + aFirst - kF + 1,
438
- bEnd,
439
- isCommon
440
- );
441
- const nF = d < iMaxF ? d : iMaxF;
442
- for (iF += 1, kF += 2; iF <= nF; iF += 1, kF += 2) {
443
- if (iF !== d && aIndexPrev1 < aIndexesF[iF]) {
444
- aFirst = aIndexesF[iF];
445
- } else {
446
- aFirst = aIndexPrev1 + 1;
447
- if (aEnd <= aFirst) {
448
- return iF - 1;
449
- }
370
+ var hasRequiredBuild;
371
+ function requireBuild() {
372
+ if (hasRequiredBuild) return build;
373
+ hasRequiredBuild = 1;
374
+ Object.defineProperty(build, "__esModule", {
375
+ value: true
376
+ });
377
+ build.default = diffSequence;
378
+ const pkg = "diff-sequences";
379
+ const NOT_YET_SET = 0;
380
+ const countCommonItemsF = (aIndex, aEnd, bIndex, bEnd, isCommon) => {
381
+ let nCommon = 0;
382
+ while (aIndex < aEnd && bIndex < bEnd && isCommon(aIndex, bIndex)) {
383
+ aIndex += 1;
384
+ bIndex += 1;
385
+ nCommon += 1;
450
386
  }
451
- aIndexPrev1 = aIndexesF[iF];
452
- aIndexesF[iF] = aFirst + countCommonItemsF(aFirst + 1, aEnd, bF + aFirst - kF + 1, bEnd, isCommon);
453
- }
454
- return iMaxF;
455
- };
456
- const extendPathsR = (d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR) => {
457
- let iR = 0;
458
- let kR = d;
459
- let aFirst = aIndexesR[iR];
460
- let aIndexPrev1 = aFirst;
461
- aIndexesR[iR] -= countCommonItemsR(
462
- aStart,
463
- aFirst - 1,
464
- bStart,
465
- bR + aFirst - kR - 1,
466
- isCommon
467
- );
468
- const nR = d < iMaxR ? d : iMaxR;
469
- for (iR += 1, kR -= 2; iR <= nR; iR += 1, kR -= 2) {
470
- if (iR !== d && aIndexesR[iR] < aIndexPrev1) {
471
- aFirst = aIndexesR[iR];
472
- } else {
473
- aFirst = aIndexPrev1 - 1;
474
- if (aFirst < aStart) {
475
- return iR - 1;
476
- }
387
+ return nCommon;
388
+ };
389
+ const countCommonItemsR = (aStart, aIndex, bStart, bIndex, isCommon) => {
390
+ let nCommon = 0;
391
+ while (aStart <= aIndex && bStart <= bIndex && isCommon(aIndex, bIndex)) {
392
+ aIndex -= 1;
393
+ bIndex -= 1;
394
+ nCommon += 1;
477
395
  }
478
- aIndexPrev1 = aIndexesR[iR];
479
- aIndexesR[iR] = aFirst - countCommonItemsR(
480
- aStart,
481
- aFirst - 1,
482
- bStart,
483
- bR + aFirst - kR - 1,
484
- isCommon
485
- );
486
- }
487
- return iMaxR;
488
- };
489
- const extendOverlappablePathsF = (d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division) => {
490
- const bF = bStart - aStart;
491
- const aLength = aEnd - aStart;
492
- const bLength = bEnd - bStart;
493
- const baDeltaLength = bLength - aLength;
494
- const kMinOverlapF = -baDeltaLength - (d - 1);
495
- const kMaxOverlapF = -baDeltaLength + (d - 1);
496
- let aIndexPrev1 = NOT_YET_SET;
497
- const nF = d < iMaxF ? d : iMaxF;
498
- for (let iF = 0, kF = -d; iF <= nF; iF += 1, kF += 2) {
499
- const insert = iF === 0 || iF !== d && aIndexPrev1 < aIndexesF[iF];
500
- const aLastPrev = insert ? aIndexesF[iF] : aIndexPrev1;
501
- const aFirst = insert ? aLastPrev : aLastPrev + 1;
502
- const bFirst = bF + aFirst - kF;
503
- const nCommonF = countCommonItemsF(
396
+ return nCommon;
397
+ };
398
+ const extendPathsF = (d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF) => {
399
+ let iF = 0;
400
+ let kF = -d;
401
+ let aFirst = aIndexesF[iF];
402
+ let aIndexPrev1 = aFirst;
403
+ aIndexesF[iF] += countCommonItemsF(
504
404
  aFirst + 1,
505
405
  aEnd,
506
- bFirst + 1,
406
+ bF + aFirst - kF + 1,
507
407
  bEnd,
508
408
  isCommon
509
409
  );
510
- const aLast = aFirst + nCommonF;
511
- aIndexPrev1 = aIndexesF[iF];
512
- aIndexesF[iF] = aLast;
513
- if (kMinOverlapF <= kF && kF <= kMaxOverlapF) {
514
- const iR = (d - 1 - (kF + baDeltaLength)) / 2;
515
- if (iR <= iMaxR && aIndexesR[iR] - 1 <= aLast) {
516
- const bLastPrev = bF + aLastPrev - (insert ? kF + 1 : kF - 1);
517
- const nCommonR = countCommonItemsR(
518
- aStart,
519
- aLastPrev,
520
- bStart,
521
- bLastPrev,
522
- isCommon
523
- );
524
- const aIndexPrevFirst = aLastPrev - nCommonR;
525
- const bIndexPrevFirst = bLastPrev - nCommonR;
526
- const aEndPreceding = aIndexPrevFirst + 1;
527
- const bEndPreceding = bIndexPrevFirst + 1;
528
- division.nChangePreceding = d - 1;
529
- if (d - 1 === aEndPreceding + bEndPreceding - aStart - bStart) {
530
- division.aEndPreceding = aStart;
531
- division.bEndPreceding = bStart;
532
- } else {
533
- division.aEndPreceding = aEndPreceding;
534
- division.bEndPreceding = bEndPreceding;
535
- }
536
- division.nCommonPreceding = nCommonR;
537
- if (nCommonR !== 0) {
538
- division.aCommonPreceding = aEndPreceding;
539
- division.bCommonPreceding = bEndPreceding;
540
- }
541
- division.nCommonFollowing = nCommonF;
542
- if (nCommonF !== 0) {
543
- division.aCommonFollowing = aFirst + 1;
544
- division.bCommonFollowing = bFirst + 1;
545
- }
546
- const aStartFollowing = aLast + 1;
547
- const bStartFollowing = bFirst + nCommonF + 1;
548
- division.nChangeFollowing = d - 1;
549
- if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) {
550
- division.aStartFollowing = aEnd;
551
- division.bStartFollowing = bEnd;
552
- } else {
553
- division.aStartFollowing = aStartFollowing;
554
- division.bStartFollowing = bStartFollowing;
410
+ const nF = d < iMaxF ? d : iMaxF;
411
+ for (iF += 1, kF += 2; iF <= nF; iF += 1, kF += 2) {
412
+ if (iF !== d && aIndexPrev1 < aIndexesF[iF]) {
413
+ aFirst = aIndexesF[iF];
414
+ } else {
415
+ aFirst = aIndexPrev1 + 1;
416
+ if (aEnd <= aFirst) {
417
+ return iF - 1;
555
418
  }
556
- return true;
557
419
  }
420
+ aIndexPrev1 = aIndexesF[iF];
421
+ aIndexesF[iF] = aFirst + countCommonItemsF(aFirst + 1, aEnd, bF + aFirst - kF + 1, bEnd, isCommon);
558
422
  }
559
- }
560
- return false;
561
- };
562
- const extendOverlappablePathsR = (d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division) => {
563
- const bR = bEnd - aEnd;
564
- const aLength = aEnd - aStart;
565
- const bLength = bEnd - bStart;
566
- const baDeltaLength = bLength - aLength;
567
- const kMinOverlapR = baDeltaLength - d;
568
- const kMaxOverlapR = baDeltaLength + d;
569
- let aIndexPrev1 = NOT_YET_SET;
570
- const nR = d < iMaxR ? d : iMaxR;
571
- for (let iR = 0, kR = d; iR <= nR; iR += 1, kR -= 2) {
572
- const insert = iR === 0 || iR !== d && aIndexesR[iR] < aIndexPrev1;
573
- const aLastPrev = insert ? aIndexesR[iR] : aIndexPrev1;
574
- const aFirst = insert ? aLastPrev : aLastPrev - 1;
575
- const bFirst = bR + aFirst - kR;
576
- const nCommonR = countCommonItemsR(
423
+ return iMaxF;
424
+ };
425
+ const extendPathsR = (d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR) => {
426
+ let iR = 0;
427
+ let kR = d;
428
+ let aFirst = aIndexesR[iR];
429
+ let aIndexPrev1 = aFirst;
430
+ aIndexesR[iR] -= countCommonItemsR(
577
431
  aStart,
578
432
  aFirst - 1,
579
433
  bStart,
580
- bFirst - 1,
434
+ bR + aFirst - kR - 1,
581
435
  isCommon
582
436
  );
583
- const aLast = aFirst - nCommonR;
584
- aIndexPrev1 = aIndexesR[iR];
585
- aIndexesR[iR] = aLast;
586
- if (kMinOverlapR <= kR && kR <= kMaxOverlapR) {
587
- const iF = (d + (kR - baDeltaLength)) / 2;
588
- if (iF <= iMaxF && aLast - 1 <= aIndexesF[iF]) {
589
- const bLast = bFirst - nCommonR;
590
- division.nChangePreceding = d;
591
- if (d === aLast + bLast - aStart - bStart) {
592
- division.aEndPreceding = aStart;
593
- division.bEndPreceding = bStart;
594
- } else {
595
- division.aEndPreceding = aLast;
596
- division.bEndPreceding = bLast;
597
- }
598
- division.nCommonPreceding = nCommonR;
599
- if (nCommonR !== 0) {
600
- division.aCommonPreceding = aLast;
601
- division.bCommonPreceding = bLast;
437
+ const nR = d < iMaxR ? d : iMaxR;
438
+ for (iR += 1, kR -= 2; iR <= nR; iR += 1, kR -= 2) {
439
+ if (iR !== d && aIndexesR[iR] < aIndexPrev1) {
440
+ aFirst = aIndexesR[iR];
441
+ } else {
442
+ aFirst = aIndexPrev1 - 1;
443
+ if (aFirst < aStart) {
444
+ return iR - 1;
602
445
  }
603
- division.nChangeFollowing = d - 1;
604
- if (d === 1) {
605
- division.nCommonFollowing = 0;
606
- division.aStartFollowing = aEnd;
607
- division.bStartFollowing = bEnd;
608
- } else {
609
- const bLastPrev = bR + aLastPrev - (insert ? kR - 1 : kR + 1);
610
- const nCommonF = countCommonItemsF(
446
+ }
447
+ aIndexPrev1 = aIndexesR[iR];
448
+ aIndexesR[iR] = aFirst - countCommonItemsR(
449
+ aStart,
450
+ aFirst - 1,
451
+ bStart,
452
+ bR + aFirst - kR - 1,
453
+ isCommon
454
+ );
455
+ }
456
+ return iMaxR;
457
+ };
458
+ const extendOverlappablePathsF = (d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division) => {
459
+ const bF = bStart - aStart;
460
+ const aLength = aEnd - aStart;
461
+ const bLength = bEnd - bStart;
462
+ const baDeltaLength = bLength - aLength;
463
+ const kMinOverlapF = -baDeltaLength - (d - 1);
464
+ const kMaxOverlapF = -baDeltaLength + (d - 1);
465
+ let aIndexPrev1 = NOT_YET_SET;
466
+ const nF = d < iMaxF ? d : iMaxF;
467
+ for (let iF = 0, kF = -d; iF <= nF; iF += 1, kF += 2) {
468
+ const insert = iF === 0 || iF !== d && aIndexPrev1 < aIndexesF[iF];
469
+ const aLastPrev = insert ? aIndexesF[iF] : aIndexPrev1;
470
+ const aFirst = insert ? aLastPrev : aLastPrev + 1;
471
+ const bFirst = bF + aFirst - kF;
472
+ const nCommonF = countCommonItemsF(
473
+ aFirst + 1,
474
+ aEnd,
475
+ bFirst + 1,
476
+ bEnd,
477
+ isCommon
478
+ );
479
+ const aLast = aFirst + nCommonF;
480
+ aIndexPrev1 = aIndexesF[iF];
481
+ aIndexesF[iF] = aLast;
482
+ if (kMinOverlapF <= kF && kF <= kMaxOverlapF) {
483
+ const iR = (d - 1 - (kF + baDeltaLength)) / 2;
484
+ if (iR <= iMaxR && aIndexesR[iR] - 1 <= aLast) {
485
+ const bLastPrev = bF + aLastPrev - (insert ? kF + 1 : kF - 1);
486
+ const nCommonR = countCommonItemsR(
487
+ aStart,
611
488
  aLastPrev,
612
- aEnd,
489
+ bStart,
613
490
  bLastPrev,
614
- bEnd,
615
491
  isCommon
616
492
  );
493
+ const aIndexPrevFirst = aLastPrev - nCommonR;
494
+ const bIndexPrevFirst = bLastPrev - nCommonR;
495
+ const aEndPreceding = aIndexPrevFirst + 1;
496
+ const bEndPreceding = bIndexPrevFirst + 1;
497
+ division.nChangePreceding = d - 1;
498
+ if (d - 1 === aEndPreceding + bEndPreceding - aStart - bStart) {
499
+ division.aEndPreceding = aStart;
500
+ division.bEndPreceding = bStart;
501
+ } else {
502
+ division.aEndPreceding = aEndPreceding;
503
+ division.bEndPreceding = bEndPreceding;
504
+ }
505
+ division.nCommonPreceding = nCommonR;
506
+ if (nCommonR !== 0) {
507
+ division.aCommonPreceding = aEndPreceding;
508
+ division.bCommonPreceding = bEndPreceding;
509
+ }
617
510
  division.nCommonFollowing = nCommonF;
618
511
  if (nCommonF !== 0) {
619
- division.aCommonFollowing = aLastPrev;
620
- division.bCommonFollowing = bLastPrev;
512
+ division.aCommonFollowing = aFirst + 1;
513
+ division.bCommonFollowing = bFirst + 1;
621
514
  }
622
- const aStartFollowing = aLastPrev + nCommonF;
623
- const bStartFollowing = bLastPrev + nCommonF;
515
+ const aStartFollowing = aLast + 1;
516
+ const bStartFollowing = bFirst + nCommonF + 1;
517
+ division.nChangeFollowing = d - 1;
624
518
  if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) {
625
519
  division.aStartFollowing = aEnd;
626
520
  division.bStartFollowing = bEnd;
@@ -628,241 +522,238 @@ const extendOverlappablePathsR = (d, aStart, aEnd, bStart, bEnd, isCommon, aInde
628
522
  division.aStartFollowing = aStartFollowing;
629
523
  division.bStartFollowing = bStartFollowing;
630
524
  }
525
+ return true;
631
526
  }
632
- return true;
633
- }
634
- }
635
- }
636
- return false;
637
- };
638
- const divide = (nChange, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, aIndexesR, division) => {
639
- const bF = bStart - aStart;
640
- const bR = bEnd - aEnd;
641
- const aLength = aEnd - aStart;
642
- const bLength = bEnd - bStart;
643
- const baDeltaLength = bLength - aLength;
644
- let iMaxF = aLength;
645
- let iMaxR = aLength;
646
- aIndexesF[0] = aStart - 1;
647
- aIndexesR[0] = aEnd;
648
- if (baDeltaLength % 2 === 0) {
649
- const dMin = (nChange || baDeltaLength) / 2;
650
- const dMax = (aLength + bLength) / 2;
651
- for (let d = 1; d <= dMax; d += 1) {
652
- iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
653
- if (d < dMin) {
654
- iMaxR = extendPathsR(d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR);
655
- } else if (
656
- // If a reverse path overlaps a forward path in the same diagonal,
657
- // return a division of the index intervals at the middle change.
658
- extendOverlappablePathsR(
659
- d,
660
- aStart,
661
- aEnd,
662
- bStart,
663
- bEnd,
664
- isCommon,
665
- aIndexesF,
666
- iMaxF,
667
- aIndexesR,
668
- iMaxR,
669
- division
670
- )
671
- ) {
672
- return;
673
527
  }
674
528
  }
675
- } else {
676
- const dMin = ((nChange || baDeltaLength) + 1) / 2;
677
- const dMax = (aLength + bLength + 1) / 2;
678
- let d = 1;
679
- iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
680
- for (d += 1; d <= dMax; d += 1) {
681
- iMaxR = extendPathsR(
682
- d - 1,
529
+ return false;
530
+ };
531
+ const extendOverlappablePathsR = (d, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, iMaxF, aIndexesR, iMaxR, division) => {
532
+ const bR = bEnd - aEnd;
533
+ const aLength = aEnd - aStart;
534
+ const bLength = bEnd - bStart;
535
+ const baDeltaLength = bLength - aLength;
536
+ const kMinOverlapR = baDeltaLength - d;
537
+ const kMaxOverlapR = baDeltaLength + d;
538
+ let aIndexPrev1 = NOT_YET_SET;
539
+ const nR = d < iMaxR ? d : iMaxR;
540
+ for (let iR = 0, kR = d; iR <= nR; iR += 1, kR -= 2) {
541
+ const insert = iR === 0 || iR !== d && aIndexesR[iR] < aIndexPrev1;
542
+ const aLastPrev = insert ? aIndexesR[iR] : aIndexPrev1;
543
+ const aFirst = insert ? aLastPrev : aLastPrev - 1;
544
+ const bFirst = bR + aFirst - kR;
545
+ const nCommonR = countCommonItemsR(
683
546
  aStart,
547
+ aFirst - 1,
684
548
  bStart,
685
- bR,
686
- isCommon,
687
- aIndexesR,
688
- iMaxR
549
+ bFirst - 1,
550
+ isCommon
689
551
  );
690
- if (d < dMin) {
552
+ const aLast = aFirst - nCommonR;
553
+ aIndexPrev1 = aIndexesR[iR];
554
+ aIndexesR[iR] = aLast;
555
+ if (kMinOverlapR <= kR && kR <= kMaxOverlapR) {
556
+ const iF = (d + (kR - baDeltaLength)) / 2;
557
+ if (iF <= iMaxF && aLast - 1 <= aIndexesF[iF]) {
558
+ const bLast = bFirst - nCommonR;
559
+ division.nChangePreceding = d;
560
+ if (d === aLast + bLast - aStart - bStart) {
561
+ division.aEndPreceding = aStart;
562
+ division.bEndPreceding = bStart;
563
+ } else {
564
+ division.aEndPreceding = aLast;
565
+ division.bEndPreceding = bLast;
566
+ }
567
+ division.nCommonPreceding = nCommonR;
568
+ if (nCommonR !== 0) {
569
+ division.aCommonPreceding = aLast;
570
+ division.bCommonPreceding = bLast;
571
+ }
572
+ division.nChangeFollowing = d - 1;
573
+ if (d === 1) {
574
+ division.nCommonFollowing = 0;
575
+ division.aStartFollowing = aEnd;
576
+ division.bStartFollowing = bEnd;
577
+ } else {
578
+ const bLastPrev = bR + aLastPrev - (insert ? kR - 1 : kR + 1);
579
+ const nCommonF = countCommonItemsF(
580
+ aLastPrev,
581
+ aEnd,
582
+ bLastPrev,
583
+ bEnd,
584
+ isCommon
585
+ );
586
+ division.nCommonFollowing = nCommonF;
587
+ if (nCommonF !== 0) {
588
+ division.aCommonFollowing = aLastPrev;
589
+ division.bCommonFollowing = bLastPrev;
590
+ }
591
+ const aStartFollowing = aLastPrev + nCommonF;
592
+ const bStartFollowing = bLastPrev + nCommonF;
593
+ if (d - 1 === aEnd + bEnd - aStartFollowing - bStartFollowing) {
594
+ division.aStartFollowing = aEnd;
595
+ division.bStartFollowing = bEnd;
596
+ } else {
597
+ division.aStartFollowing = aStartFollowing;
598
+ division.bStartFollowing = bStartFollowing;
599
+ }
600
+ }
601
+ return true;
602
+ }
603
+ }
604
+ }
605
+ return false;
606
+ };
607
+ const divide = (nChange, aStart, aEnd, bStart, bEnd, isCommon, aIndexesF, aIndexesR, division) => {
608
+ const bF = bStart - aStart;
609
+ const bR = bEnd - aEnd;
610
+ const aLength = aEnd - aStart;
611
+ const bLength = bEnd - bStart;
612
+ const baDeltaLength = bLength - aLength;
613
+ let iMaxF = aLength;
614
+ let iMaxR = aLength;
615
+ aIndexesF[0] = aStart - 1;
616
+ aIndexesR[0] = aEnd;
617
+ if (baDeltaLength % 2 === 0) {
618
+ const dMin = (nChange || baDeltaLength) / 2;
619
+ const dMax = (aLength + bLength) / 2;
620
+ for (let d = 1; d <= dMax; d += 1) {
691
621
  iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
692
- } else if (
693
- // If a forward path overlaps a reverse path in the same diagonal,
694
- // return a division of the index intervals at the middle change.
695
- extendOverlappablePathsF(
696
- d,
622
+ if (d < dMin) {
623
+ iMaxR = extendPathsR(d, aStart, bStart, bR, isCommon, aIndexesR, iMaxR);
624
+ } else if (
625
+ // If a reverse path overlaps a forward path in the same diagonal,
626
+ // return a division of the index intervals at the middle change.
627
+ extendOverlappablePathsR(
628
+ d,
629
+ aStart,
630
+ aEnd,
631
+ bStart,
632
+ bEnd,
633
+ isCommon,
634
+ aIndexesF,
635
+ iMaxF,
636
+ aIndexesR,
637
+ iMaxR,
638
+ division
639
+ )
640
+ ) {
641
+ return;
642
+ }
643
+ }
644
+ } else {
645
+ const dMin = ((nChange || baDeltaLength) + 1) / 2;
646
+ const dMax = (aLength + bLength + 1) / 2;
647
+ let d = 1;
648
+ iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
649
+ for (d += 1; d <= dMax; d += 1) {
650
+ iMaxR = extendPathsR(
651
+ d - 1,
697
652
  aStart,
698
- aEnd,
699
653
  bStart,
700
- bEnd,
654
+ bR,
701
655
  isCommon,
702
- aIndexesF,
703
- iMaxF,
704
656
  aIndexesR,
705
- iMaxR,
706
- division
707
- )
708
- ) {
709
- return;
657
+ iMaxR
658
+ );
659
+ if (d < dMin) {
660
+ iMaxF = extendPathsF(d, aEnd, bEnd, bF, isCommon, aIndexesF, iMaxF);
661
+ } else if (
662
+ // If a forward path overlaps a reverse path in the same diagonal,
663
+ // return a division of the index intervals at the middle change.
664
+ extendOverlappablePathsF(
665
+ d,
666
+ aStart,
667
+ aEnd,
668
+ bStart,
669
+ bEnd,
670
+ isCommon,
671
+ aIndexesF,
672
+ iMaxF,
673
+ aIndexesR,
674
+ iMaxR,
675
+ division
676
+ )
677
+ ) {
678
+ return;
679
+ }
710
680
  }
711
681
  }
712
- }
713
- throw new Error(
714
- `${pkg}: no overlap aStart=${aStart} aEnd=${aEnd} bStart=${bStart} bEnd=${bEnd}`
715
- );
716
- };
717
- const findSubsequences = (nChange, aStart, aEnd, bStart, bEnd, transposed, callbacks, aIndexesF, aIndexesR, division) => {
718
- if (bEnd - bStart < aEnd - aStart) {
719
- transposed = !transposed;
720
- if (transposed && callbacks.length === 1) {
721
- const { foundSubsequence: foundSubsequence2, isCommon: isCommon2 } = callbacks[0];
722
- callbacks[1] = {
723
- foundSubsequence: (nCommon, bCommon, aCommon) => {
724
- foundSubsequence2(nCommon, aCommon, bCommon);
725
- },
726
- isCommon: (bIndex, aIndex) => isCommon2(aIndex, bIndex)
727
- };
682
+ throw new Error(
683
+ `${pkg}: no overlap aStart=${aStart} aEnd=${aEnd} bStart=${bStart} bEnd=${bEnd}`
684
+ );
685
+ };
686
+ const findSubsequences = (nChange, aStart, aEnd, bStart, bEnd, transposed, callbacks, aIndexesF, aIndexesR, division) => {
687
+ if (bEnd - bStart < aEnd - aStart) {
688
+ transposed = !transposed;
689
+ if (transposed && callbacks.length === 1) {
690
+ const { foundSubsequence: foundSubsequence2, isCommon: isCommon2 } = callbacks[0];
691
+ callbacks[1] = {
692
+ foundSubsequence: (nCommon, bCommon, aCommon) => {
693
+ foundSubsequence2(nCommon, aCommon, bCommon);
694
+ },
695
+ isCommon: (bIndex, aIndex) => isCommon2(aIndex, bIndex)
696
+ };
697
+ }
698
+ const tStart = aStart;
699
+ const tEnd = aEnd;
700
+ aStart = bStart;
701
+ aEnd = bEnd;
702
+ bStart = tStart;
703
+ bEnd = tEnd;
728
704
  }
729
- const tStart = aStart;
730
- const tEnd = aEnd;
731
- aStart = bStart;
732
- aEnd = bEnd;
733
- bStart = tStart;
734
- bEnd = tEnd;
735
- }
736
- const { foundSubsequence, isCommon } = callbacks[transposed ? 1 : 0];
737
- divide(
738
- nChange,
739
- aStart,
740
- aEnd,
741
- bStart,
742
- bEnd,
743
- isCommon,
744
- aIndexesF,
745
- aIndexesR,
746
- division
747
- );
748
- const {
749
- nChangePreceding,
750
- aEndPreceding,
751
- bEndPreceding,
752
- nCommonPreceding,
753
- aCommonPreceding,
754
- bCommonPreceding,
755
- nCommonFollowing,
756
- aCommonFollowing,
757
- bCommonFollowing,
758
- nChangeFollowing,
759
- aStartFollowing,
760
- bStartFollowing
761
- } = division;
762
- if (aStart < aEndPreceding && bStart < bEndPreceding) {
763
- findSubsequences(
764
- nChangePreceding,
705
+ const { foundSubsequence, isCommon } = callbacks[transposed ? 1 : 0];
706
+ divide(
707
+ nChange,
765
708
  aStart,
766
- aEndPreceding,
709
+ aEnd,
767
710
  bStart,
768
- bEndPreceding,
769
- transposed,
770
- callbacks,
711
+ bEnd,
712
+ isCommon,
771
713
  aIndexesF,
772
714
  aIndexesR,
773
715
  division
774
716
  );
775
- }
776
- if (nCommonPreceding !== 0) {
777
- foundSubsequence(nCommonPreceding, aCommonPreceding, bCommonPreceding);
778
- }
779
- if (nCommonFollowing !== 0) {
780
- foundSubsequence(nCommonFollowing, aCommonFollowing, bCommonFollowing);
781
- }
782
- if (aStartFollowing < aEnd && bStartFollowing < bEnd) {
783
- findSubsequences(
717
+ const {
718
+ nChangePreceding,
719
+ aEndPreceding,
720
+ bEndPreceding,
721
+ nCommonPreceding,
722
+ aCommonPreceding,
723
+ bCommonPreceding,
724
+ nCommonFollowing,
725
+ aCommonFollowing,
726
+ bCommonFollowing,
784
727
  nChangeFollowing,
785
728
  aStartFollowing,
786
- aEnd,
787
- bStartFollowing,
788
- bEnd,
789
- transposed,
790
- callbacks,
791
- aIndexesF,
792
- aIndexesR,
793
- division
794
- );
795
- }
796
- };
797
- const validateLength = (name, arg) => {
798
- if (typeof arg !== "number") {
799
- throw new TypeError(`${pkg}: ${name} typeof ${typeof arg} is not a number`);
800
- }
801
- if (!Number.isSafeInteger(arg)) {
802
- throw new RangeError(`${pkg}: ${name} value ${arg} is not a safe integer`);
803
- }
804
- if (arg < 0) {
805
- throw new RangeError(`${pkg}: ${name} value ${arg} is a negative integer`);
806
- }
807
- };
808
- const validateCallback = (name, arg) => {
809
- const type = typeof arg;
810
- if (type !== "function") {
811
- throw new TypeError(`${pkg}: ${name} typeof ${type} is not a function`);
812
- }
813
- };
814
- function diffSequence(aLength, bLength, isCommon, foundSubsequence) {
815
- validateLength("aLength", aLength);
816
- validateLength("bLength", bLength);
817
- validateCallback("isCommon", isCommon);
818
- validateCallback("foundSubsequence", foundSubsequence);
819
- const nCommonF = countCommonItemsF(0, aLength, 0, bLength, isCommon);
820
- if (nCommonF !== 0) {
821
- foundSubsequence(nCommonF, 0, 0);
822
- }
823
- if (aLength !== nCommonF || bLength !== nCommonF) {
824
- const aStart = nCommonF;
825
- const bStart = nCommonF;
826
- const nCommonR = countCommonItemsR(
827
- aStart,
828
- aLength - 1,
829
- bStart,
830
- bLength - 1,
831
- isCommon
832
- );
833
- const aEnd = aLength - nCommonR;
834
- const bEnd = bLength - nCommonR;
835
- const nCommonFR = nCommonF + nCommonR;
836
- if (aLength !== nCommonFR && bLength !== nCommonFR) {
837
- const nChange = 0;
838
- const transposed = false;
839
- const callbacks = [
840
- {
841
- foundSubsequence,
842
- isCommon
843
- }
844
- ];
845
- const aIndexesF = [NOT_YET_SET];
846
- const aIndexesR = [NOT_YET_SET];
847
- const division = {
848
- aCommonFollowing: NOT_YET_SET,
849
- aCommonPreceding: NOT_YET_SET,
850
- aEndPreceding: NOT_YET_SET,
851
- aStartFollowing: NOT_YET_SET,
852
- bCommonFollowing: NOT_YET_SET,
853
- bCommonPreceding: NOT_YET_SET,
854
- bEndPreceding: NOT_YET_SET,
855
- bStartFollowing: NOT_YET_SET,
856
- nChangeFollowing: NOT_YET_SET,
857
- nChangePreceding: NOT_YET_SET,
858
- nCommonFollowing: NOT_YET_SET,
859
- nCommonPreceding: NOT_YET_SET
860
- };
729
+ bStartFollowing
730
+ } = division;
731
+ if (aStart < aEndPreceding && bStart < bEndPreceding) {
861
732
  findSubsequences(
862
- nChange,
733
+ nChangePreceding,
863
734
  aStart,
864
- aEnd,
735
+ aEndPreceding,
865
736
  bStart,
737
+ bEndPreceding,
738
+ transposed,
739
+ callbacks,
740
+ aIndexesF,
741
+ aIndexesR,
742
+ division
743
+ );
744
+ }
745
+ if (nCommonPreceding !== 0) {
746
+ foundSubsequence(nCommonPreceding, aCommonPreceding, bCommonPreceding);
747
+ }
748
+ if (nCommonFollowing !== 0) {
749
+ foundSubsequence(nCommonFollowing, aCommonFollowing, bCommonFollowing);
750
+ }
751
+ if (aStartFollowing < aEnd && bStartFollowing < bEnd) {
752
+ findSubsequences(
753
+ nChangeFollowing,
754
+ aStartFollowing,
755
+ aEnd,
756
+ bStartFollowing,
866
757
  bEnd,
867
758
  transposed,
868
759
  callbacks,
@@ -871,11 +762,93 @@ function diffSequence(aLength, bLength, isCommon, foundSubsequence) {
871
762
  division
872
763
  );
873
764
  }
874
- if (nCommonR !== 0) {
875
- foundSubsequence(nCommonR, aEnd, bEnd);
765
+ };
766
+ const validateLength = (name, arg) => {
767
+ if (typeof arg !== "number") {
768
+ throw new TypeError(`${pkg}: ${name} typeof ${typeof arg} is not a number`);
769
+ }
770
+ if (!Number.isSafeInteger(arg)) {
771
+ throw new RangeError(`${pkg}: ${name} value ${arg} is not a safe integer`);
772
+ }
773
+ if (arg < 0) {
774
+ throw new RangeError(`${pkg}: ${name} value ${arg} is a negative integer`);
775
+ }
776
+ };
777
+ const validateCallback = (name, arg) => {
778
+ const type = typeof arg;
779
+ if (type !== "function") {
780
+ throw new TypeError(`${pkg}: ${name} typeof ${type} is not a function`);
781
+ }
782
+ };
783
+ function diffSequence(aLength, bLength, isCommon, foundSubsequence) {
784
+ validateLength("aLength", aLength);
785
+ validateLength("bLength", bLength);
786
+ validateCallback("isCommon", isCommon);
787
+ validateCallback("foundSubsequence", foundSubsequence);
788
+ const nCommonF = countCommonItemsF(0, aLength, 0, bLength, isCommon);
789
+ if (nCommonF !== 0) {
790
+ foundSubsequence(nCommonF, 0, 0);
791
+ }
792
+ if (aLength !== nCommonF || bLength !== nCommonF) {
793
+ const aStart = nCommonF;
794
+ const bStart = nCommonF;
795
+ const nCommonR = countCommonItemsR(
796
+ aStart,
797
+ aLength - 1,
798
+ bStart,
799
+ bLength - 1,
800
+ isCommon
801
+ );
802
+ const aEnd = aLength - nCommonR;
803
+ const bEnd = bLength - nCommonR;
804
+ const nCommonFR = nCommonF + nCommonR;
805
+ if (aLength !== nCommonFR && bLength !== nCommonFR) {
806
+ const nChange = 0;
807
+ const transposed = false;
808
+ const callbacks = [
809
+ {
810
+ foundSubsequence,
811
+ isCommon
812
+ }
813
+ ];
814
+ const aIndexesF = [NOT_YET_SET];
815
+ const aIndexesR = [NOT_YET_SET];
816
+ const division = {
817
+ aCommonFollowing: NOT_YET_SET,
818
+ aCommonPreceding: NOT_YET_SET,
819
+ aEndPreceding: NOT_YET_SET,
820
+ aStartFollowing: NOT_YET_SET,
821
+ bCommonFollowing: NOT_YET_SET,
822
+ bCommonPreceding: NOT_YET_SET,
823
+ bEndPreceding: NOT_YET_SET,
824
+ bStartFollowing: NOT_YET_SET,
825
+ nChangeFollowing: NOT_YET_SET,
826
+ nChangePreceding: NOT_YET_SET,
827
+ nCommonFollowing: NOT_YET_SET,
828
+ nCommonPreceding: NOT_YET_SET
829
+ };
830
+ findSubsequences(
831
+ nChange,
832
+ aStart,
833
+ aEnd,
834
+ bStart,
835
+ bEnd,
836
+ transposed,
837
+ callbacks,
838
+ aIndexesF,
839
+ aIndexesR,
840
+ division
841
+ );
842
+ }
843
+ if (nCommonR !== 0) {
844
+ foundSubsequence(nCommonR, aEnd, bEnd);
845
+ }
876
846
  }
877
847
  }
848
+ return build;
878
849
  }
850
+ var buildExports = requireBuild();
851
+ var diffSequences = /* @__PURE__ */ chunk_commonjsHelpers.g(buildExports);
879
852
  function formatTrailingSpaces(line, trailingSpaceFormatter) {
880
853
  return line.replace(/\s+$/, (match) => trailingSpaceFormatter(match));
881
854
  }
@@ -1253,7 +1226,7 @@ function diffLinesRaw(aLines, bLines, options) {
1253
1226
  diffs.push(new Diff(DIFF_EQUAL, bLines[bIndex]));
1254
1227
  }
1255
1228
  };
1256
- _default(aLength, bLength, isCommon, foundSubsequence);
1229
+ diffSequences(aLength, bLength, isCommon, foundSubsequence);
1257
1230
  for (; aIndex !== aLength; aIndex += 1) {
1258
1231
  diffs.push(new Diff(DIFF_DELETE, aLines[aIndex]));
1259
1232
  }
@@ -1262,6 +1235,41 @@ function diffLinesRaw(aLines, bLines, options) {
1262
1235
  }
1263
1236
  return [diffs, truncated];
1264
1237
  }
1238
+ function getType(value) {
1239
+ if (value === void 0) {
1240
+ return "undefined";
1241
+ } else if (value === null) {
1242
+ return "null";
1243
+ } else if (Array.isArray(value)) {
1244
+ return "array";
1245
+ } else if (typeof value === "boolean") {
1246
+ return "boolean";
1247
+ } else if (typeof value === "function") {
1248
+ return "function";
1249
+ } else if (typeof value === "number") {
1250
+ return "number";
1251
+ } else if (typeof value === "string") {
1252
+ return "string";
1253
+ } else if (typeof value === "bigint") {
1254
+ return "bigint";
1255
+ } else if (typeof value === "object") {
1256
+ if (value != null) {
1257
+ if (value.constructor === RegExp) {
1258
+ return "regexp";
1259
+ } else if (value.constructor === Map) {
1260
+ return "map";
1261
+ } else if (value.constructor === Set) {
1262
+ return "set";
1263
+ } else if (value.constructor === Date) {
1264
+ return "date";
1265
+ }
1266
+ }
1267
+ return "object";
1268
+ } else if (typeof value === "symbol") {
1269
+ return "symbol";
1270
+ }
1271
+ throw new Error(`value of unknown type: ${value}`);
1272
+ }
1265
1273
  function getNewLineSymbol(string) {
1266
1274
  return string.includes("\r\n") ? "\r\n" : "\n";
1267
1275
  }
@@ -1301,7 +1309,7 @@ function diffStrings(a, b, options) {
1301
1309
  bIndex = bCommon + nCommon;
1302
1310
  diffs.push(new Diff(DIFF_EQUAL, b.slice(bCommon, bIndex)));
1303
1311
  };
1304
- _default(aLength, bLength, isCommon, foundSubsequence);
1312
+ diffSequences(aLength, bLength, isCommon, foundSubsequence);
1305
1313
  if (aIndex !== aLength) {
1306
1314
  diffs.push(new Diff(DIFF_DELETE, a.slice(aIndex)));
1307
1315
  }
@@ -1705,10 +1713,10 @@ function replaceTrailingSpaces(text) {
1705
1713
  return text.replace(/\s+$/gm, (spaces) => SPACE_SYMBOL.repeat(spaces.length));
1706
1714
  }
1707
1715
  function printReceived(object) {
1708
- return browser.default.red(replaceTrailingSpaces(chunkDisplay.s(object)));
1716
+ return browser.default.red(replaceTrailingSpaces(chunk_commonjsHelpers.s(object)));
1709
1717
  }
1710
1718
  function printExpected(value) {
1711
- return browser.default.green(replaceTrailingSpaces(chunkDisplay.s(value)));
1719
+ return browser.default.green(replaceTrailingSpaces(chunk_commonjsHelpers.s(value)));
1712
1720
  }
1713
1721
  function getCommonAndChangedSubstrings(diffs, op, hasCommonDiff2) {
1714
1722
  return diffs.reduce(