2
2
3
3
namespace Differ \Formatters \Stylish ;
4
4
5
- const ADD_MARKER = '+ ' ;
6
- const REMOVE_MARKER = '- ' ;
7
- const UNCHANGED_MARKER = ' ' ;
5
+ enum Marker: string
6
+ {
7
+ case ADD = '+ ' ;
8
+ case REMOVE = '- ' ;
9
+ case UNCHANGED = ' ' ;
10
+ }
8
11
9
12
function stylish (array $ tree , string $ replacer = ' ' , int $ spacesCount = 4 ): string
10
13
{
@@ -22,9 +25,9 @@ function ($acc, $key) use ($tree, $replacer, $spacesCount, $depth) {
22
25
$ resultString = $ acc ;
23
26
24
27
$ status = match ($ statusName ) {
25
- 'add ' => ADD_MARKER ,
26
- 'remove ' => REMOVE_MARKER ,
27
- default => UNCHANGED_MARKER
28
+ 'add ' => Marker:: ADD -> value ,
29
+ 'remove ' => Marker:: REMOVE -> value ,
30
+ default => Marker:: UNCHANGED -> value
28
31
};
29
32
30
33
$ indentationCount = $ spacesCount * $ depth - 2 ;
@@ -33,7 +36,7 @@ function ($acc, $key) use ($tree, $replacer, $spacesCount, $depth) {
33
36
if (array_key_exists ('children ' , $ keyData )) {
34
37
$ value = $ keyData ['children ' ];
35
38
36
- if ($ status === ADD_MARKER ) {
39
+ if ($ status === Marker:: ADD -> value ) {
37
40
$ innerContent = getArrayContent ($ value , $ replacer , $ spacesCount , $ depth + 1 );
38
41
$ string = getStylishInnerContent ($ status , $ key , $ innerContent , $ indentation );
39
42
return "{$ resultString }{$ string }" ;
@@ -58,14 +61,14 @@ function ($acc, $key) use ($tree, $replacer, $spacesCount, $depth) {
58
61
];
59
62
60
63
$ stringBefore = getChangedString (
61
- REMOVE_MARKER ,
64
+ Marker:: REMOVE -> value ,
62
65
$ keyData ['beforeValue ' ],
63
66
$ key ,
64
67
$ data
65
68
);
66
69
67
70
$ stringAfter = getChangedString (
68
- ADD_MARKER ,
71
+ Marker:: ADD -> value ,
69
72
$ keyData ['afterValue ' ],
70
73
$ key ,
71
74
$ data
@@ -86,13 +89,13 @@ function getArrayContent(array $tree, string $replacer, int $spacesCount, int $d
86
89
87
90
if (array_key_exists ('value ' , $ tree [$ key ])) {
88
91
$ value = $ tree [$ key ]['value ' ];
89
- $ string = getStylishString (UNCHANGED_MARKER , $ key , $ value , $ indentation );
92
+ $ string = getStylishString (Marker:: UNCHANGED -> value , $ key , $ value , $ indentation );
90
93
return "{$ resultString }{$ string }" ;
91
94
}
92
95
93
96
$ value = $ tree [$ key ]['children ' ];
94
97
$ innerContent = getArrayContent ($ value , $ replacer , $ spacesCount , $ depth + 1 );
95
- return getStylishInnerContent (UNCHANGED_MARKER , $ key , $ innerContent , $ indentation );
98
+ return getStylishInnerContent (Marker:: UNCHANGED -> value , $ key , $ innerContent , $ indentation );
96
99
}, '' );
97
100
}
98
101
0 commit comments