3
3
namespace Differ \Differ ;
4
4
5
5
use function Differ \Formatters \selectFormatter ;
6
- use function Functional \flatten ;
7
6
use function Functional \sort ;
8
7
use function Differ \Translator \getJson ;
9
8
@@ -35,22 +34,27 @@ function ($acc, $key) use ($tree1, $tree2) {
35
34
$ diff = [...$ acc ];
36
35
37
36
if (!array_key_exists ($ key , $ tree2 )) {
38
- $ result = addDataToArray ($ diff , $ key , 'status ' , 'remove ' );
37
+ $ status [$ key ]['status ' ] = 'remove ' ;
38
+ $ diff = array_merge ($ diff , $ status );
39
39
$ innerContent = sortingFirstFile ($ tree1 [$ key ], $ tree1 [$ key ]);
40
- return addDataToArray ($ result , $ key , 'value ' , $ innerContent );
40
+ $ diff [$ key ]['value ' ] = $ innerContent ;
41
+ return $ diff ;
41
42
}
42
43
43
44
if ($ tree1 [$ key ] === $ tree2 [$ key ]) {
44
- $ diff = addDataToArray ($ diff , $ key , 'status ' , 'unchanged ' );
45
+ $ status [$ key ]['status ' ] = 'unchanged ' ;
46
+ $ diff = array_merge ($ diff , $ status );
45
47
$ diff [$ key ]['value ' ] = sortingFirstFile ($ tree1 [$ key ], $ tree1 [$ key ]);
46
48
return $ diff ;
47
49
}
48
50
49
51
if (is_array ($ tree1 [$ key ]) && is_array ($ tree2 [$ key ])) {
50
- $ diff = addDataToArray ($ diff , $ key , 'status ' , 'changed ' );
52
+ $ status [$ key ]['status ' ] = 'changed ' ;
53
+ $ diff = array_merge ($ diff , $ status );
51
54
$ diff [$ key ]['value ' ] = sortingFirstFile ($ tree1 [$ key ], $ tree2 [$ key ]);
52
55
} else {
53
- $ diff = addDataToArray ($ diff , $ key , 'status ' , 'remove ' );
56
+ $ status [$ key ]['status ' ] = 'remove ' ;
57
+ $ diff = array_merge ($ diff , $ status );
54
58
$ diff [$ key ]['beforeValue ' ] = sortingFirstFile ($ tree1 [$ key ], $ tree1 [$ key ]);
55
59
$ diff [$ key ]['afterValue ' ] = sortingFirstFile ($ tree2 [$ key ], $ tree2 [$ key ]);
56
60
}
@@ -71,7 +75,6 @@ function sortingSecondFile(mixed $tree2, mixed $tree1): mixed
71
75
array_keys ($ tree2 ),
72
76
function ($ acc , $ key ) use ($ tree1 , $ tree2 ) {
73
77
$ diff = [...$ acc ];
74
- $ value = [];
75
78
76
79
if (!array_key_exists ($ key , $ tree1 )) {
77
80
$ value [$ key ]['value ' ] = getArrayContent ($ tree2 [$ key ]);
@@ -97,8 +100,8 @@ function getArrayContent(mixed $tree): mixed
97
100
98
101
return array_reduce (array_keys ($ tree ), function ($ acc , $ key ) use ($ tree ) {
99
102
$ diff = [...$ acc ];
100
- $ value = getArrayContent ($ tree [$ key ]);
101
- return addDataToArray ($ diff, $ key , ' value ' , $ value );
103
+ $ value[ $ key ][ ' value ' ] = getArrayContent ($ tree [$ key ]);
104
+ return array_merge ($ diff , $ value );
102
105
}, []);
103
106
}
104
107
@@ -114,8 +117,6 @@ function ($left, $right) {
114
117
115
118
return array_reduce ($ keysSorted , function ($ acc , $ key ) use ($ tree ) {
116
119
$ diff = [...$ acc ];
117
- $ diffValue = [];
118
- $ diffContent = [];
119
120
120
121
if (!is_array ($ tree [$ key ])) {
121
122
$ diffValue [$ key ] = $ tree [$ key ];
@@ -127,11 +128,3 @@ function ($left, $right) {
127
128
return array_merge ($ diff , $ diffContent );
128
129
}, []);
129
130
}
130
-
131
- function addDataToArray (array $ tree , string $ key , string $ treeKey , string |array $ value ): array
132
- {
133
- $ diff = $ tree ;
134
- $ newValue [$ key ][$ treeKey ] = $ value ;
135
-
136
- return array_merge ($ diff , $ newValue );
137
- }
0 commit comments