@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.
- package/LICENSE +21 -0
- package/README.md +4 -0
- package/index.d.ts +6 -0
- package/index.js +5 -0
- package/index.js.map +1 -0
- package/package.json +35 -0
- package/src/asymmetricMatchers.d.ts +67 -0
- package/src/asymmetricMatchers.js +188 -0
- package/src/asymmetricMatchers.js.map +1 -0
- package/src/diff/cleanupSemantic.d.ts +58 -0
- package/src/diff/cleanupSemantic.js +526 -0
- package/src/diff/cleanupSemantic.js.map +1 -0
- package/src/diff/constants.d.ts +9 -0
- package/src/diff/constants.js +10 -0
- package/src/diff/constants.js.map +1 -0
- package/src/diff/diffLines.d.ts +13 -0
- package/src/diff/diffLines.js +138 -0
- package/src/diff/diffLines.js.map +1 -0
- package/src/diff/diffStrings.d.ts +10 -0
- package/src/diff/diffStrings.js +36 -0
- package/src/diff/diffStrings.js.map +1 -0
- package/src/diff/getAlignedDiffs.d.ts +11 -0
- package/src/diff/getAlignedDiffs.js +187 -0
- package/src/diff/getAlignedDiffs.js.map +1 -0
- package/src/diff/index.d.ts +16 -0
- package/src/diff/index.js +139 -0
- package/src/diff/index.js.map +1 -0
- package/src/diff/joinAlignedDiffs.d.ts +11 -0
- package/src/diff/joinAlignedDiffs.js +191 -0
- package/src/diff/joinAlignedDiffs.js.map +1 -0
- package/src/diff/normalizeDiffOptions.d.ts +10 -0
- package/src/diff/normalizeDiffOptions.js +40 -0
- package/src/diff/normalizeDiffOptions.js.map +1 -0
- package/src/diff/printDiffs.d.ts +11 -0
- package/src/diff/printDiffs.js +46 -0
- package/src/diff/printDiffs.js.map +1 -0
- package/src/diff/types.d.ts +49 -0
- package/src/diff/types.js +2 -0
- package/src/diff/types.js.map +1 -0
- package/src/diff-sequences/index.d.ts +19 -0
- package/src/diff-sequences/index.js +506 -0
- package/src/diff-sequences/index.js.map +1 -0
- package/src/extractExpectedAssertionsErrors.d.ts +11 -0
- package/src/extractExpectedAssertionsErrors.js +58 -0
- package/src/extractExpectedAssertionsErrors.js.map +1 -0
- package/src/get-type/index.d.ts +11 -0
- package/src/get-type/index.js +57 -0
- package/src/get-type/index.js.map +1 -0
- package/src/index.d.ts +16 -0
- package/src/index.js +247 -0
- package/src/index.js.map +1 -0
- package/src/jasmineUtils.d.ts +9 -0
- package/src/jasmineUtils.js +218 -0
- package/src/jasmineUtils.js.map +1 -0
- package/src/jestMatchersObject.d.ts +14 -0
- package/src/jestMatchersObject.js +78 -0
- package/src/jestMatchersObject.js.map +1 -0
- package/src/matcher-utils/Replaceable.d.ts +18 -0
- package/src/matcher-utils/Replaceable.js +57 -0
- package/src/matcher-utils/Replaceable.js.map +1 -0
- package/src/matcher-utils/deepCyclicCopyReplaceable.d.ts +8 -0
- package/src/matcher-utils/deepCyclicCopyReplaceable.js +96 -0
- package/src/matcher-utils/deepCyclicCopyReplaceable.js.map +1 -0
- package/src/matcher-utils/index.d.ts +53 -0
- package/src/matcher-utils/index.js +341 -0
- package/src/matcher-utils/index.js.map +1 -0
- package/src/matchers.d.ts +11 -0
- package/src/matchers.js +575 -0
- package/src/matchers.js.map +1 -0
- package/src/message-util/index.d.ts +11 -0
- package/src/message-util/index.js +34 -0
- package/src/message-util/index.js.map +1 -0
- package/src/pretty-format/collections.d.ts +33 -0
- package/src/pretty-format/collections.js +130 -0
- package/src/pretty-format/collections.js.map +1 -0
- package/src/pretty-format/index.d.ts +25 -0
- package/src/pretty-format/index.js +390 -0
- package/src/pretty-format/index.js.map +1 -0
- package/src/pretty-format/plugins/AsymmetricMatcher.d.ts +12 -0
- package/src/pretty-format/plugins/AsymmetricMatcher.js +53 -0
- package/src/pretty-format/plugins/AsymmetricMatcher.js.map +1 -0
- package/src/pretty-format/plugins/ConvertAnsi.d.ts +12 -0
- package/src/pretty-format/plugins/ConvertAnsi.js +58 -0
- package/src/pretty-format/plugins/ConvertAnsi.js.map +1 -0
- package/src/pretty-format/plugins/DOMCollection.d.ts +12 -0
- package/src/pretty-format/plugins/DOMCollection.js +39 -0
- package/src/pretty-format/plugins/DOMCollection.js.map +1 -0
- package/src/pretty-format/plugins/DOMElement.d.ts +12 -0
- package/src/pretty-format/plugins/DOMElement.js +68 -0
- package/src/pretty-format/plugins/DOMElement.js.map +1 -0
- package/src/pretty-format/plugins/Immutable.d.ts +12 -0
- package/src/pretty-format/plugins/Immutable.js +113 -0
- package/src/pretty-format/plugins/Immutable.js.map +1 -0
- package/src/pretty-format/plugins/ReactTestComponent.d.ts +19 -0
- package/src/pretty-format/plugins/ReactTestComponent.js +29 -0
- package/src/pretty-format/plugins/ReactTestComponent.js.map +1 -0
- package/src/pretty-format/plugins/lib/escapeHTML.d.ts +8 -0
- package/src/pretty-format/plugins/lib/escapeHTML.js +10 -0
- package/src/pretty-format/plugins/lib/escapeHTML.js.map +1 -0
- package/src/pretty-format/plugins/lib/markup.d.ts +14 -0
- package/src/pretty-format/plugins/lib/markup.js +98 -0
- package/src/pretty-format/plugins/lib/markup.js.map +1 -0
- package/src/pretty-format/types.d.ts +109 -0
- package/src/pretty-format/types.js +8 -0
- package/src/pretty-format/types.js.map +1 -0
- package/src/print.d.ts +16 -0
- package/src/print.js +71 -0
- package/src/print.js.map +1 -0
- package/src/spyMatchers.d.ts +10 -0
- package/src/spyMatchers.js +766 -0
- package/src/spyMatchers.js.map +1 -0
- package/src/test-utils/ConditionalTest.d.ts +10 -0
- package/src/test-utils/ConditionalTest.js +25 -0
- package/src/test-utils/ConditionalTest.js.map +1 -0
- package/src/test-utils/alignedAnsiStyleSerializer.d.ts +9 -0
- package/src/test-utils/alignedAnsiStyleSerializer.js +46 -0
- package/src/test-utils/alignedAnsiStyleSerializer.js.map +1 -0
- package/src/test-utils/config.d.ts +10 -0
- package/src/test-utils/config.js +143 -0
- package/src/test-utils/config.js.map +1 -0
- package/src/test-utils/index.d.ts +10 -0
- package/src/test-utils/index.js +10 -0
- package/src/test-utils/index.js.map +1 -0
- package/src/toThrowMatchers.d.ts +12 -0
- package/src/toThrowMatchers.js +258 -0
- package/src/toThrowMatchers.js.map +1 -0
- package/src/types.d.ts +327 -0
- package/src/types.js +9 -0
- package/src/types.js.map +1 -0
- package/src/utils.d.ts +26 -0
- package/src/utils.js +303 -0
- 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 @@
|
|
|
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
|