@@ -23,16 +23,13 @@ final class FilterFactory
23
23
/**
24
24
* Returns a normalize filter for labels, names ...
25
25
*
26
- * @param callable ...$callables Attached to the end of the filter chain
26
+ * @param callable ...$callables Attached to the end of the filter chain
27
27
* @return callable
28
28
*/
29
29
public static function normalizeFilter (callable ...$ callables ): callable
30
30
{
31
31
$ filter = new Filter \FilterChain ();
32
32
$ filter ->attach (new NormalizeLabel ());
33
- $ filter ->attach (new Filter \Word \SeparatorToSeparator (' ' , '- ' ));
34
- $ filter ->attach (new Filter \Word \UnderscoreToCamelCase ());
35
- $ filter ->attach (new Filter \Word \DashToCamelCase ());
36
33
37
34
foreach ($ callables as $ callable ) {
38
35
$ filter ->attach ($ callable );
@@ -66,7 +63,15 @@ public static function pascalCaseFilter(): callable
66
63
*/
67
64
public static function classNameFilter (): callable
68
65
{
69
- return new UpperCaseFirst (self ::normalizeFilter ());
66
+ return new UpperCaseFirst (
67
+ self ::normalizeFilter (
68
+ new Filter \Word \CamelCaseToUnderscore (),
69
+ new Filter \StringToLower (),
70
+ new Filter \Word \UnderscoreToCamelCase (),
71
+ new Filter \Word \SeparatorToSeparator (' ' , '- ' ),
72
+ new Filter \Word \DashToCamelCase ()
73
+ )
74
+ );
70
75
}
71
76
72
77
/**
@@ -77,6 +82,8 @@ public static function classNameFilter(): callable
77
82
public static function constantNameFilter (): callable
78
83
{
79
84
return self ::normalizeFilter (
85
+ new Filter \Word \SeparatorToSeparator (' ' , '- ' ),
86
+ new Filter \Word \DashToCamelCase (),
80
87
new Filter \Word \CamelCaseToUnderscore (),
81
88
new Filter \StringToUpper ()
82
89
);
@@ -90,6 +97,8 @@ public static function constantNameFilter(): callable
90
97
public static function constantValueFilter (): callable
91
98
{
92
99
return self ::normalizeFilter (
100
+ new Filter \Word \SeparatorToSeparator (' ' , '- ' ),
101
+ new Filter \Word \DashToCamelCase (),
93
102
new Filter \Word \CamelCaseToUnderscore (),
94
103
new Filter \StringToLower ()
95
104
);
@@ -102,7 +111,15 @@ public static function constantValueFilter(): callable
102
111
*/
103
112
public static function propertyNameFilter (): callable
104
113
{
105
- return new LowerCaseFirst (self ::normalizeFilter ());
114
+ return new LowerCaseFirst (
115
+ self ::normalizeFilter (
116
+ new Filter \Word \CamelCaseToUnderscore (),
117
+ new Filter \StringToLower (),
118
+ new Filter \Word \UnderscoreToCamelCase (),
119
+ new Filter \Word \SeparatorToSeparator (' ' , '- ' ),
120
+ new Filter \Word \DashToCamelCase ()
121
+ )
122
+ );
106
123
}
107
124
108
125
/**
@@ -112,7 +129,16 @@ public static function propertyNameFilter(): callable
112
129
*/
113
130
public static function methodNameFilter (): callable
114
131
{
115
- return new LowerCaseFirst (self ::normalizeFilter (new UpperToLower ()));
132
+ return new LowerCaseFirst (
133
+ self ::normalizeFilter (
134
+ new Filter \Word \CamelCaseToUnderscore (),
135
+ new Filter \StringToLower (),
136
+ new Filter \Word \UnderscoreToCamelCase (),
137
+ new Filter \Word \SeparatorToSeparator (' ' , '- ' ),
138
+ new Filter \Word \DashToCamelCase (),
139
+ new UpperToLower ()
140
+ )
141
+ );
116
142
}
117
143
118
144
/**
0 commit comments