We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2cc3e59 commit 2ad27adCopy full SHA for 2ad27ad
src/diff/apply.ts
@@ -18,7 +18,9 @@ export function applyPatch<T>(a: T[], patch: Apply<T>): T[] {
18
19
for (let i = 0; i < patch.length; ++i) {
20
const patchItem = patch[i];
21
- sameStart !== patchItem.oldPos && segments.push(a.slice(sameStart, patchItem.oldPos));
+ if (sameStart !== patchItem.oldPos) {
22
+ segments.push(a.slice(sameStart, patchItem.oldPos));
23
+ }
24
if (patchItem.type === 'add') {
25
segments.push(patchItem.items);
26
sameStart = patchItem.oldPos;
@@ -28,7 +30,9 @@ export function applyPatch<T>(a: T[], patch: Apply<T>): T[] {
28
30
sameStart = patchItem.oldPos + (<{ length: number }>patchItem).length;
29
31
}
32
- sameStart !== a.length && segments.push(a.slice(sameStart));
33
+ if (sameStart !== a.length) {
34
+ segments.push(a.slice(sameStart));
35
36
37
return ([] as T[]).concat(...segments);
38
src/diff/lcs.ts
@@ -69,11 +69,19 @@ function getSolution<T, U = T>(
69
const addFirst =
70
(startDirect & Direct.vertical ? 1 : 0) + (endDirect & Direct.horizontal ? 1 : 0);
71
if (removeFirst >= addFirst) {
72
- aStart !== aEnd && elementsChanged('remove', a, aStart, aEnd, b, bStart, bStart);
73
- bStart !== bEnd && elementsChanged('add', a, aEnd, aEnd, b, bStart, bEnd);
+ if (aStart !== aEnd) {
+ elementsChanged('remove', a, aStart, aEnd, b, bStart, bStart);
74
75
+ if (bStart !== bEnd) {
76
+ elementsChanged('add', a, aEnd, aEnd, b, bStart, bEnd);
77
78
} else {
- bStart !== bEnd && elementsChanged('add', a, aStart, aStart, b, bStart, bEnd);
- aStart !== aEnd && elementsChanged('remove', a, aStart, aEnd, b, bEnd, bEnd);
79
80
+ elementsChanged('add', a, aStart, aStart, b, bStart, bEnd);
81
82
83
+ elementsChanged('remove', a, aStart, aEnd, b, bEnd, bEnd);
84
85
86
return;
87
src/test/apply.spec.ts
@@ -37,7 +37,7 @@ describe('Apply Patch', () => {
apply_str('', '', [], 'empty');
39
apply_str('a', '', [remove(0, 0, 'a')], 'remove a');
40
- apply_str('', 'b', [add(0, 0, 'b')]), 'add b';
+ apply_str('', 'b', [add(0, 0, 'b')], 'add b');
41
apply_str('abcd', 'e', [remove(0, 0, 'abcd'), add(4, 0, 'e')], 'for abcd-e');
42
apply_str('abc', 'abc', [], 'same abc');
43
apply_str(
@@ -129,7 +129,7 @@ describe('Apply Patch', () => {
129
130
131
132
133
134
135
src/test/patch.spec.ts
@@ -36,7 +36,7 @@ describe('Get Patch', () => {
es_str('', '', [], 'empty');
es_str('a', '', [remove(0, 0, 'a')], 'remove a');
- es_str('', 'b', [add(0, 0, 'b')]), 'add b';
+ es_str('', 'b', [add(0, 0, 'b')], 'add b');
es_str('abcd', 'e', [remove(0, 0, 'abcd'), add(4, 0, 'e')], 'for abcd-e');
es_str('abc', 'abc', [], 'same abc');
es_str(
0 commit comments