Skip to content

Commit dc13949

Browse files
Fix mutating operators
1 parent bee6ab2 commit dc13949

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

src/Differ/Differ.php

+14-12
Original file line numberDiff line numberDiff line change
@@ -31,37 +31,39 @@ 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+
3436
if (!array_key_exists($key, $tree2)) {
3537
$status = [$key => ['status' => 'remove']];
36-
$acc = array_merge($acc, $status);
38+
$diff = array_merge($acc, $status);
3739

3840
$innerContent = sortingFirstFile($tree1[$key], $tree1[$key]);
39-
$acc[$key]['value'] = $innerContent;
40-
return $acc;
41+
$diff[$key]['value'] = $innerContent;
42+
return $diff;
4143
}
4244

4345
if ($tree1[$key] === $tree2[$key]) {
4446
$status = [$key => ['status' => 'unchanged']];
45-
$acc = array_merge($acc, $status);
47+
$diff = array_merge($diff, $status);
4648

47-
$acc[$key]['value'] = sortingFirstFile($tree1[$key], $tree1[$key]);
48-
return $acc;
49+
$diff[$key]['value'] = sortingFirstFile($tree1[$key], $tree1[$key]);
50+
return $diff;
4951
}
5052

5153
if (is_array($tree1[$key]) && is_array($tree2[$key])) {
5254
$status = [$key => ['status' => 'changed']];
53-
$acc = array_merge($acc, $status);
55+
$diff = array_merge($diff, $status);
5456

55-
$acc[$key]['value'] = sortingFirstFile($tree1[$key], $tree2[$key]);
57+
$diff[$key]['value'] = sortingFirstFile($tree1[$key], $tree2[$key]);
5658
} else {
5759
$status = [$key => ['status' => 'remove']];
58-
$acc = array_merge($acc, $status);
60+
$diff = array_merge($diff, $status);
5961

60-
$acc[$key]['beforeValue'] = sortingFirstFile($tree1[$key], $tree1[$key]);
61-
$acc[$key]['afterValue'] = sortingFirstFile($tree2[$key], $tree2[$key]);
62+
$diff[$key]['beforeValue'] = sortingFirstFile($tree1[$key], $tree1[$key]);
63+
$diff[$key]['afterValue'] = sortingFirstFile($tree2[$key], $tree2[$key]);
6264
}
6365

64-
return $acc;
66+
return $diff;
6567
},
6668
[]
6769
);

0 commit comments

Comments
 (0)