@casual-simulation/expect 2.0.18

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 (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/index.d.ts +6 -0
  4. package/index.js +5 -0
  5. package/index.js.map +1 -0
  6. package/package.json +35 -0
  7. package/src/asymmetricMatchers.d.ts +67 -0
  8. package/src/asymmetricMatchers.js +188 -0
  9. package/src/asymmetricMatchers.js.map +1 -0
  10. package/src/diff/cleanupSemantic.d.ts +58 -0
  11. package/src/diff/cleanupSemantic.js +526 -0
  12. package/src/diff/cleanupSemantic.js.map +1 -0
  13. package/src/diff/constants.d.ts +9 -0
  14. package/src/diff/constants.js +10 -0
  15. package/src/diff/constants.js.map +1 -0
  16. package/src/diff/diffLines.d.ts +13 -0
  17. package/src/diff/diffLines.js +138 -0
  18. package/src/diff/diffLines.js.map +1 -0
  19. package/src/diff/diffStrings.d.ts +10 -0
  20. package/src/diff/diffStrings.js +36 -0
  21. package/src/diff/diffStrings.js.map +1 -0
  22. package/src/diff/getAlignedDiffs.d.ts +11 -0
  23. package/src/diff/getAlignedDiffs.js +187 -0
  24. package/src/diff/getAlignedDiffs.js.map +1 -0
  25. package/src/diff/index.d.ts +16 -0
  26. package/src/diff/index.js +139 -0
  27. package/src/diff/index.js.map +1 -0
  28. package/src/diff/joinAlignedDiffs.d.ts +11 -0
  29. package/src/diff/joinAlignedDiffs.js +191 -0
  30. package/src/diff/joinAlignedDiffs.js.map +1 -0
  31. package/src/diff/normalizeDiffOptions.d.ts +10 -0
  32. package/src/diff/normalizeDiffOptions.js +40 -0
  33. package/src/diff/normalizeDiffOptions.js.map +1 -0
  34. package/src/diff/printDiffs.d.ts +11 -0
  35. package/src/diff/printDiffs.js +46 -0
  36. package/src/diff/printDiffs.js.map +1 -0
  37. package/src/diff/types.d.ts +49 -0
  38. package/src/diff/types.js +2 -0
  39. package/src/diff/types.js.map +1 -0
  40. package/src/diff-sequences/index.d.ts +19 -0
  41. package/src/diff-sequences/index.js +506 -0
  42. package/src/diff-sequences/index.js.map +1 -0
  43. package/src/extractExpectedAssertionsErrors.d.ts +11 -0
  44. package/src/extractExpectedAssertionsErrors.js +58 -0
  45. package/src/extractExpectedAssertionsErrors.js.map +1 -0
  46. package/src/get-type/index.d.ts +11 -0
  47. package/src/get-type/index.js +57 -0
  48. package/src/get-type/index.js.map +1 -0
  49. package/src/index.d.ts +16 -0
  50. package/src/index.js +247 -0
  51. package/src/index.js.map +1 -0
  52. package/src/jasmineUtils.d.ts +9 -0
  53. package/src/jasmineUtils.js +218 -0
  54. package/src/jasmineUtils.js.map +1 -0
  55. package/src/jestMatchersObject.d.ts +14 -0
  56. package/src/jestMatchersObject.js +78 -0
  57. package/src/jestMatchersObject.js.map +1 -0
  58. package/src/matcher-utils/Replaceable.d.ts +18 -0
  59. package/src/matcher-utils/Replaceable.js +57 -0
  60. package/src/matcher-utils/Replaceable.js.map +1 -0
  61. package/src/matcher-utils/deepCyclicCopyReplaceable.d.ts +8 -0
  62. package/src/matcher-utils/deepCyclicCopyReplaceable.js +96 -0
  63. package/src/matcher-utils/deepCyclicCopyReplaceable.js.map +1 -0
  64. package/src/matcher-utils/index.d.ts +53 -0
  65. package/src/matcher-utils/index.js +341 -0
  66. package/src/matcher-utils/index.js.map +1 -0
  67. package/src/matchers.d.ts +11 -0
  68. package/src/matchers.js +575 -0
  69. package/src/matchers.js.map +1 -0
  70. package/src/message-util/index.d.ts +11 -0
  71. package/src/message-util/index.js +34 -0
  72. package/src/message-util/index.js.map +1 -0
  73. package/src/pretty-format/collections.d.ts +33 -0
  74. package/src/pretty-format/collections.js +130 -0
  75. package/src/pretty-format/collections.js.map +1 -0
  76. package/src/pretty-format/index.d.ts +25 -0
  77. package/src/pretty-format/index.js +390 -0
  78. package/src/pretty-format/index.js.map +1 -0
  79. package/src/pretty-format/plugins/AsymmetricMatcher.d.ts +12 -0
  80. package/src/pretty-format/plugins/AsymmetricMatcher.js +53 -0
  81. package/src/pretty-format/plugins/AsymmetricMatcher.js.map +1 -0
  82. package/src/pretty-format/plugins/ConvertAnsi.d.ts +12 -0
  83. package/src/pretty-format/plugins/ConvertAnsi.js +58 -0
  84. package/src/pretty-format/plugins/ConvertAnsi.js.map +1 -0
  85. package/src/pretty-format/plugins/DOMCollection.d.ts +12 -0
  86. package/src/pretty-format/plugins/DOMCollection.js +39 -0
  87. package/src/pretty-format/plugins/DOMCollection.js.map +1 -0
  88. package/src/pretty-format/plugins/DOMElement.d.ts +12 -0
  89. package/src/pretty-format/plugins/DOMElement.js +68 -0
  90. package/src/pretty-format/plugins/DOMElement.js.map +1 -0
  91. package/src/pretty-format/plugins/Immutable.d.ts +12 -0
  92. package/src/pretty-format/plugins/Immutable.js +113 -0
  93. package/src/pretty-format/plugins/Immutable.js.map +1 -0
  94. package/src/pretty-format/plugins/ReactTestComponent.d.ts +19 -0
  95. package/src/pretty-format/plugins/ReactTestComponent.js +29 -0
  96. package/src/pretty-format/plugins/ReactTestComponent.js.map +1 -0
  97. package/src/pretty-format/plugins/lib/escapeHTML.d.ts +8 -0
  98. package/src/pretty-format/plugins/lib/escapeHTML.js +10 -0
  99. package/src/pretty-format/plugins/lib/escapeHTML.js.map +1 -0
  100. package/src/pretty-format/plugins/lib/markup.d.ts +14 -0
  101. package/src/pretty-format/plugins/lib/markup.js +98 -0
  102. package/src/pretty-format/plugins/lib/markup.js.map +1 -0
  103. package/src/pretty-format/types.d.ts +109 -0
  104. package/src/pretty-format/types.js +8 -0
  105. package/src/pretty-format/types.js.map +1 -0
  106. package/src/print.d.ts +16 -0
  107. package/src/print.js +71 -0
  108. package/src/print.js.map +1 -0
  109. package/src/spyMatchers.d.ts +10 -0
  110. package/src/spyMatchers.js +766 -0
  111. package/src/spyMatchers.js.map +1 -0
  112. package/src/test-utils/ConditionalTest.d.ts +10 -0
  113. package/src/test-utils/ConditionalTest.js +25 -0
  114. package/src/test-utils/ConditionalTest.js.map +1 -0
  115. package/src/test-utils/alignedAnsiStyleSerializer.d.ts +9 -0
  116. package/src/test-utils/alignedAnsiStyleSerializer.js +46 -0
  117. package/src/test-utils/alignedAnsiStyleSerializer.js.map +1 -0
  118. package/src/test-utils/config.d.ts +10 -0
  119. package/src/test-utils/config.js +143 -0
  120. package/src/test-utils/config.js.map +1 -0
  121. package/src/test-utils/index.d.ts +10 -0
  122. package/src/test-utils/index.js +10 -0
  123. package/src/test-utils/index.js.map +1 -0
  124. package/src/toThrowMatchers.d.ts +12 -0
  125. package/src/toThrowMatchers.js +258 -0
  126. package/src/toThrowMatchers.js.map +1 -0
  127. package/src/types.d.ts +327 -0
  128. package/src/types.js +9 -0
  129. package/src/types.js.map +1 -0
  130. package/src/utils.d.ts +26 -0
  131. package/src/utils.js +303 -0
  132. package/src/utils.js.map +1 -0
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT } from './cleanupSemantic';
8
+ const formatTrailingSpaces = (line, trailingSpaceFormatter) => line.replace(/\s+$/, (match) => trailingSpaceFormatter(match));
9
+ const printDiffLine = (line, isFirstOrLast, color, indicator, trailingSpaceFormatter, emptyFirstOrLastLinePlaceholder) => line.length !== 0
10
+ ? color(indicator +
11
+ ' ' +
12
+ formatTrailingSpaces(line, trailingSpaceFormatter))
13
+ : indicator !== ' '
14
+ ? color(indicator)
15
+ : isFirstOrLast && emptyFirstOrLastLinePlaceholder.length !== 0
16
+ ? color(indicator + ' ' + emptyFirstOrLastLinePlaceholder)
17
+ : '';
18
+ const printDeleteLine = (line, isFirstOrLast, { aColor, aIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder, }) => printDiffLine(line, isFirstOrLast, aColor, aIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
19
+ const printInsertLine = (line, isFirstOrLast, { bColor, bIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder, }) => printDiffLine(line, isFirstOrLast, bColor, bIndicator, changeLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
20
+ const printCommonLine = (line, isFirstOrLast, { commonColor, commonIndicator, commonLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder, }) => printDiffLine(line, isFirstOrLast, commonColor, commonIndicator, commonLineTrailingSpaceColor, emptyFirstOrLastLinePlaceholder);
21
+ // In GNU diff format, indexes are one-based instead of zero-based.
22
+ const createPatchMark = (aStart, aEnd, bStart, bEnd, { patchColor }) => patchColor(`@@ -${aStart + 1},${aEnd - aStart} +${bStart + 1},${bEnd - bStart} @@`);
23
+ // jest --no-expand
24
+ //
25
+ // Given array of aligned strings with inverse highlight formatting,
26
+ // return joined lines with diff formatting (and patch marks, if needed).
27
+ export const joinAlignedDiffsNoExpand = (diffs, options) => {
28
+ const iLength = diffs.length;
29
+ const nContextLines = options.contextLines;
30
+ const nContextLines2 = nContextLines + nContextLines;
31
+ // First pass: count output lines and see if it has patches.
32
+ let jLength = iLength;
33
+ let hasExcessAtStartOrEnd = false;
34
+ let nExcessesBetweenChanges = 0;
35
+ let i = 0;
36
+ while (i !== iLength) {
37
+ const iStart = i;
38
+ while (i !== iLength && diffs[i][0] === DIFF_EQUAL) {
39
+ i += 1;
40
+ }
41
+ if (iStart !== i) {
42
+ if (iStart === 0) {
43
+ // at start
44
+ if (i > nContextLines) {
45
+ jLength -= i - nContextLines; // subtract excess common lines
46
+ hasExcessAtStartOrEnd = true;
47
+ }
48
+ }
49
+ else if (i === iLength) {
50
+ // at end
51
+ const n = i - iStart;
52
+ if (n > nContextLines) {
53
+ jLength -= n - nContextLines; // subtract excess common lines
54
+ hasExcessAtStartOrEnd = true;
55
+ }
56
+ }
57
+ else {
58
+ // between changes
59
+ const n = i - iStart;
60
+ if (n > nContextLines2) {
61
+ jLength -= n - nContextLines2; // subtract excess common lines
62
+ nExcessesBetweenChanges += 1;
63
+ }
64
+ }
65
+ }
66
+ while (i !== iLength && diffs[i][0] !== DIFF_EQUAL) {
67
+ i += 1;
68
+ }
69
+ }
70
+ const hasPatch = nExcessesBetweenChanges !== 0 || hasExcessAtStartOrEnd;
71
+ if (nExcessesBetweenChanges !== 0) {
72
+ jLength += nExcessesBetweenChanges + 1; // add patch lines
73
+ }
74
+ else if (hasExcessAtStartOrEnd) {
75
+ jLength += 1; // add patch line
76
+ }
77
+ const jLast = jLength - 1;
78
+ const lines = [];
79
+ let jPatchMark = 0; // index of placeholder line for current patch mark
80
+ if (hasPatch) {
81
+ lines.push(''); // placeholder line for first patch mark
82
+ }
83
+ // Indexes of expected or received lines in current patch:
84
+ let aStart = 0;
85
+ let bStart = 0;
86
+ let aEnd = 0;
87
+ let bEnd = 0;
88
+ const pushCommonLine = (line) => {
89
+ const j = lines.length;
90
+ lines.push(printCommonLine(line, j === 0 || j === jLast, options));
91
+ aEnd += 1;
92
+ bEnd += 1;
93
+ };
94
+ const pushDeleteLine = (line) => {
95
+ const j = lines.length;
96
+ lines.push(printDeleteLine(line, j === 0 || j === jLast, options));
97
+ aEnd += 1;
98
+ };
99
+ const pushInsertLine = (line) => {
100
+ const j = lines.length;
101
+ lines.push(printInsertLine(line, j === 0 || j === jLast, options));
102
+ bEnd += 1;
103
+ };
104
+ // Second pass: push lines with diff formatting (and patch marks, if needed).
105
+ i = 0;
106
+ while (i !== iLength) {
107
+ let iStart = i;
108
+ while (i !== iLength && diffs[i][0] === DIFF_EQUAL) {
109
+ i += 1;
110
+ }
111
+ if (iStart !== i) {
112
+ if (iStart === 0) {
113
+ // at beginning
114
+ if (i > nContextLines) {
115
+ iStart = i - nContextLines;
116
+ aStart = iStart;
117
+ bStart = iStart;
118
+ aEnd = aStart;
119
+ bEnd = bStart;
120
+ }
121
+ for (let iCommon = iStart; iCommon !== i; iCommon += 1) {
122
+ pushCommonLine(diffs[iCommon][1]);
123
+ }
124
+ }
125
+ else if (i === iLength) {
126
+ // at end
127
+ const iEnd = i - iStart > nContextLines ? iStart + nContextLines : i;
128
+ for (let iCommon = iStart; iCommon !== iEnd; iCommon += 1) {
129
+ pushCommonLine(diffs[iCommon][1]);
130
+ }
131
+ }
132
+ else {
133
+ // between changes
134
+ const nCommon = i - iStart;
135
+ if (nCommon > nContextLines2) {
136
+ const iEnd = iStart + nContextLines;
137
+ for (let iCommon = iStart; iCommon !== iEnd; iCommon += 1) {
138
+ pushCommonLine(diffs[iCommon][1]);
139
+ }
140
+ lines[jPatchMark] = createPatchMark(aStart, aEnd, bStart, bEnd, options);
141
+ jPatchMark = lines.length;
142
+ lines.push(''); // placeholder line for next patch mark
143
+ const nOmit = nCommon - nContextLines2;
144
+ aStart = aEnd + nOmit;
145
+ bStart = bEnd + nOmit;
146
+ aEnd = aStart;
147
+ bEnd = bStart;
148
+ for (let iCommon = i - nContextLines; iCommon !== i; iCommon += 1) {
149
+ pushCommonLine(diffs[iCommon][1]);
150
+ }
151
+ }
152
+ else {
153
+ for (let iCommon = iStart; iCommon !== i; iCommon += 1) {
154
+ pushCommonLine(diffs[iCommon][1]);
155
+ }
156
+ }
157
+ }
158
+ }
159
+ while (i !== iLength && diffs[i][0] === DIFF_DELETE) {
160
+ pushDeleteLine(diffs[i][1]);
161
+ i += 1;
162
+ }
163
+ while (i !== iLength && diffs[i][0] === DIFF_INSERT) {
164
+ pushInsertLine(diffs[i][1]);
165
+ i += 1;
166
+ }
167
+ }
168
+ if (hasPatch) {
169
+ lines[jPatchMark] = createPatchMark(aStart, aEnd, bStart, bEnd, options);
170
+ }
171
+ return lines.join('\n');
172
+ };
173
+ // jest --expand
174
+ //
175
+ // Given array of aligned strings with inverse highlight formatting,
176
+ // return joined lines with diff formatting.
177
+ export const joinAlignedDiffsExpand = (diffs, options) => diffs
178
+ .map((diff, i, diffs) => {
179
+ const line = diff[1];
180
+ const isFirstOrLast = i === 0 || i === diffs.length - 1;
181
+ switch (diff[0]) {
182
+ case DIFF_DELETE:
183
+ return printDeleteLine(line, isFirstOrLast, options);
184
+ case DIFF_INSERT:
185
+ return printInsertLine(line, isFirstOrLast, options);
186
+ default:
187
+ return printCommonLine(line, isFirstOrLast, options);
188
+ }
189
+ })
190
+ .join('\n');
191
+ //# sourceMappingURL=joinAlignedDiffs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joinAlignedDiffs.js","sourceRoot":"","sources":["joinAlignedDiffs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { DiffOptions, DiffOptionsNormalized } from './types';
8
+ export declare const noColor: (string: string) => string;
9
+ export declare const normalizeDiffOptions: (options?: DiffOptions) => DiffOptionsNormalized;
10
+ //# sourceMappingURL=normalizeDiffOptions.d.ts.map
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import chalk from '@casual-simulation/chalk';
8
+ export const noColor = (string) => string;
9
+ const DIFF_CONTEXT_DEFAULT = 5;
10
+ const OPTIONS_DEFAULT = {
11
+ aAnnotation: 'Expected',
12
+ aColor: chalk.green,
13
+ aIndicator: '-',
14
+ bAnnotation: 'Received',
15
+ bColor: chalk.red,
16
+ bIndicator: '+',
17
+ changeColor: chalk.inverse,
18
+ changeLineTrailingSpaceColor: noColor,
19
+ commonColor: chalk.dim,
20
+ commonIndicator: ' ',
21
+ commonLineTrailingSpaceColor: noColor,
22
+ compareKeys: undefined,
23
+ contextLines: DIFF_CONTEXT_DEFAULT,
24
+ emptyFirstOrLastLinePlaceholder: '',
25
+ expand: true,
26
+ includeChangeCounts: false,
27
+ omitAnnotationLines: false,
28
+ patchColor: chalk.yellow,
29
+ };
30
+ const getCompareKeys = (compareKeys) => compareKeys && typeof compareKeys === 'function'
31
+ ? compareKeys
32
+ : OPTIONS_DEFAULT.compareKeys;
33
+ const getContextLines = (contextLines) => typeof contextLines === 'number' &&
34
+ Number.isSafeInteger(contextLines) &&
35
+ contextLines >= 0
36
+ ? contextLines
37
+ : DIFF_CONTEXT_DEFAULT;
38
+ // Pure function returns options with all properties.
39
+ export const normalizeDiffOptions = (options = {}) => (Object.assign(Object.assign(Object.assign({}, OPTIONS_DEFAULT), options), { compareKeys: getCompareKeys(options.compareKeys), contextLines: getContextLines(options.contextLines) }));
40
+ //# sourceMappingURL=normalizeDiffOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeDiffOptions.js","sourceRoot":"","sources":["normalizeDiffOptions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,0BAA0B,CAAC;AAI7C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,CAAC;AAE1D,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,MAAM,eAAe,GAA0B;IAC3C,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,KAAK,CAAC,KAAK;IACnB,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,KAAK,CAAC,OAAO;IAC1B,4BAA4B,EAAE,OAAO;IACrC,WAAW,EAAE,KAAK,CAAC,GAAG;IACtB,eAAe,EAAE,GAAG;IACpB,4BAA4B,EAAE,OAAO;IACrC,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,oBAAoB;IAClC,+BAA+B,EAAE,EAAE;IACnC,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,KAAK;IAC1B,UAAU,EAAE,KAAK,CAAC,MAAM;CAC3B,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,WAAyB,EAAe,EAAE,CAC9D,WAAW,IAAI,OAAO,WAAW,KAAK,UAAU;IAC5C,CAAC,CAAC,WAAW;IACb,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC;AAEtC,MAAM,eAAe,GAAG,CAAC,YAAqB,EAAU,EAAE,CACtD,OAAO,YAAY,KAAK,QAAQ;IAChC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;IAClC,YAAY,IAAI,CAAC;IACb,CAAC,CAAC,YAAY;IACd,CAAC,CAAC,oBAAoB,CAAC;AAE/B,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,UAAuB,EAAE,EACJ,EAAE,CAAC,+CACrB,eAAe,GACf,OAAO,KACV,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,EAChD,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,IACrD,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Diff } from './cleanupSemantic';
8
+ import type { DiffOptions } from './types';
9
+ export declare const diffStringsUnified: (a: string, b: string, options?: DiffOptions) => string;
10
+ export declare const diffStringsRaw: (a: string, b: string, cleanup: boolean) => Array<Diff>;
11
+ //# sourceMappingURL=printDiffs.d.ts.map
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { DIFF_EQUAL, cleanupSemantic } from './cleanupSemantic';
8
+ import { diffLinesUnified, printDiffLines } from './diffLines';
9
+ import diffStrings from './diffStrings';
10
+ import getAlignedDiffs from './getAlignedDiffs';
11
+ import { normalizeDiffOptions } from './normalizeDiffOptions';
12
+ const hasCommonDiff = (diffs, isMultiline) => {
13
+ if (isMultiline) {
14
+ // Important: Ignore common newline that was appended to multiline strings!
15
+ const iLast = diffs.length - 1;
16
+ return diffs.some((diff, i) => diff[0] === DIFF_EQUAL && (i !== iLast || diff[1] !== '\n'));
17
+ }
18
+ return diffs.some((diff) => diff[0] === DIFF_EQUAL);
19
+ };
20
+ // Compare two strings character-by-character.
21
+ // Format as comparison lines in which changed substrings have inverse colors.
22
+ export const diffStringsUnified = (a, b, options) => {
23
+ if (a !== b && a.length !== 0 && b.length !== 0) {
24
+ const isMultiline = a.includes('\n') || b.includes('\n');
25
+ // getAlignedDiffs assumes that a newline was appended to the strings.
26
+ const diffs = diffStringsRaw(isMultiline ? a + '\n' : a, isMultiline ? b + '\n' : b, true // cleanupSemantic
27
+ );
28
+ if (hasCommonDiff(diffs, isMultiline)) {
29
+ const optionsNormalized = normalizeDiffOptions(options);
30
+ const lines = getAlignedDiffs(diffs, optionsNormalized.changeColor);
31
+ return printDiffLines(lines, optionsNormalized);
32
+ }
33
+ }
34
+ // Fall back to line-by-line diff.
35
+ return diffLinesUnified(a.split('\n'), b.split('\n'), options);
36
+ };
37
+ // Compare two strings character-by-character.
38
+ // Optionally clean up small common substrings, also known as chaff.
39
+ export const diffStringsRaw = (a, b, cleanup) => {
40
+ const diffs = diffStrings(a, b);
41
+ if (cleanup) {
42
+ cleanupSemantic(diffs); // impure function
43
+ }
44
+ return diffs;
45
+ };
46
+ //# sourceMappingURL=printDiffs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printDiffs.js","sourceRoot":"","sources":["printDiffs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,MAAM,aAAa,GAAG,CAAC,KAAkB,EAAE,WAAoB,EAAW,EAAE;IACxE,IAAI,WAAW,EAAE;QACb,2EAA2E;QAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,IAAI,CACb,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACR,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAClE,CAAC;KACL;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,8CAA8C;AAC9C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,CAAS,EACT,CAAS,EACT,OAAqB,EACf,EAAE;IACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7C,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzD,sEAAsE;QACtE,MAAM,KAAK,GAAG,cAAc,CACxB,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAC1B,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAC1B,IAAI,CAAC,kBAAkB;SAC1B,CAAC;QAEF,IAAI,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;YACnC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACpE,OAAO,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;SACnD;KACJ;IAED,kCAAkC;IAClC,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,8CAA8C;AAC9C,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAC1B,CAAS,EACT,CAAS,EACT,OAAgB,EACL,EAAE;IACb,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhC,IAAI,OAAO,EAAE;QACT,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;KAC7C;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { CompareKeys } from '../pretty-format';
8
+ export declare type DiffOptionsColor = (arg: string) => string;
9
+ export declare type DiffOptions = {
10
+ aAnnotation?: string;
11
+ aColor?: DiffOptionsColor;
12
+ aIndicator?: string;
13
+ bAnnotation?: string;
14
+ bColor?: DiffOptionsColor;
15
+ bIndicator?: string;
16
+ changeColor?: DiffOptionsColor;
17
+ changeLineTrailingSpaceColor?: DiffOptionsColor;
18
+ commonColor?: DiffOptionsColor;
19
+ commonIndicator?: string;
20
+ commonLineTrailingSpaceColor?: DiffOptionsColor;
21
+ contextLines?: number;
22
+ emptyFirstOrLastLinePlaceholder?: string;
23
+ expand?: boolean;
24
+ includeChangeCounts?: boolean;
25
+ omitAnnotationLines?: boolean;
26
+ patchColor?: DiffOptionsColor;
27
+ compareKeys?: CompareKeys;
28
+ };
29
+ export declare type DiffOptionsNormalized = {
30
+ aAnnotation: string;
31
+ aColor: DiffOptionsColor;
32
+ aIndicator: string;
33
+ bAnnotation: string;
34
+ bColor: DiffOptionsColor;
35
+ bIndicator: string;
36
+ changeColor: DiffOptionsColor;
37
+ changeLineTrailingSpaceColor: DiffOptionsColor;
38
+ commonColor: DiffOptionsColor;
39
+ commonIndicator: string;
40
+ commonLineTrailingSpaceColor: DiffOptionsColor;
41
+ compareKeys: CompareKeys;
42
+ contextLines: number;
43
+ emptyFirstOrLastLinePlaceholder: string;
44
+ expand: boolean;
45
+ includeChangeCounts: boolean;
46
+ omitAnnotationLines: boolean;
47
+ patchColor: DiffOptionsColor;
48
+ };
49
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ declare type IsCommon = (aIndex: number, // caller can assume: 0 <= aIndex && aIndex < aLength
9
+ bIndex: number) => boolean;
10
+ declare type FoundSubsequence = (nCommon: number, // caller can assume: 0 < nCommon
11
+ aCommon: number, // caller can assume: 0 <= aCommon && aCommon < aLength
12
+ bCommon: number) => void;
13
+ export declare type Callbacks = {
14
+ foundSubsequence: FoundSubsequence;
15
+ isCommon: IsCommon;
16
+ };
17
+ declare const _default: (aLength: number, bLength: number, isCommon: IsCommon, foundSubsequence: FoundSubsequence) => void;
18
+ export default _default;
19
+ //# sourceMappingURL=index.d.ts.map