Skip to content

Commit 0458da6

Browse files
Fix mutating operators
1 parent 131bd44 commit 0458da6

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

src/Differ/Differ.php

+20-18
Original file line numberDiff line numberDiff line change
@@ -31,35 +31,37 @@ function sortingFirstFile(mixed $tree1, mixed $tree2): mixed
3131
return array_reduce(
3232
array_keys($tree1),
3333
function ($acc, $key) use ($tree1, $tree2) {
34-
$diff = [...$acc];
35-
3634
if (!array_key_exists($key, $tree2)) {
37-
$status[$key]['status'] = 'remove';
38-
$diff = array_merge($diff, $status);
35+
$status = [$key => ['status' => 'remove']];
36+
$acc = array_merge($acc, $status);
37+
3938
$innerContent = sortingFirstFile($tree1[$key], $tree1[$key]);
40-
$diff[$key]['value'] = $innerContent;
41-
return $diff;
39+
$acc[$key]['value'] = $innerContent;
40+
return $acc;
4241
}
4342

4443
if ($tree1[$key] === $tree2[$key]) {
45-
$status[$key]['status'] = 'unchanged';
46-
$diff = array_merge($diff, $status);
47-
$diff[$key]['value'] = sortingFirstFile($tree1[$key], $tree1[$key]);
48-
return $diff;
44+
$status = [$key => ['status' => 'unchanged']];
45+
$acc = array_merge($acc, $status);
46+
47+
$acc[$key]['value'] = sortingFirstFile($tree1[$key], $tree1[$key]);
48+
return $acc;
4949
}
5050

5151
if (is_array($tree1[$key]) && is_array($tree2[$key])) {
52-
$status[$key]['status'] = 'changed';
53-
$diff = array_merge($diff, $status);
54-
$diff[$key]['value'] = sortingFirstFile($tree1[$key], $tree2[$key]);
52+
$status = [$key => ['status' => 'changed']];
53+
$acc = array_merge($acc, $status);
54+
55+
$acc[$key]['value'] = sortingFirstFile($tree1[$key], $tree2[$key]);
5556
} else {
56-
$status[$key]['status'] = 'remove';
57-
$diff = array_merge($diff, $status);
58-
$diff[$key]['beforeValue'] = sortingFirstFile($tree1[$key], $tree1[$key]);
59-
$diff[$key]['afterValue'] = sortingFirstFile($tree2[$key], $tree2[$key]);
57+
$status = [$key => ['status' => 'remove']];
58+
$acc = array_merge($acc, $status);
59+
60+
$acc[$key]['beforeValue'] = sortingFirstFile($tree1[$key], $tree1[$key]);
61+
$acc[$key]['afterValue'] = sortingFirstFile($tree2[$key], $tree2[$key]);
6062
}
6163

62-
return $diff;
64+
return $acc;
6365
},
6466
[]
6567
);

0 commit comments

Comments
 (0)