Passed
Pull Request — master (#1057)
by Maxim
12:01
created
src/Console/src/Configurator/Attribute/Parser.php 2 patches
Spacing   +40 added lines, -40 removed lines patch added patch discarded remove patch
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 {
25 25
     public function __construct(
26 26
         private readonly ReaderInterface $reader = new AttributeReader()
27
-    ) {
27
+    ){
28 28
     }
29 29
 
30 30
     public function hasCommandAttribute(\ReflectionClass $reflection): bool
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
     {
38 38
         $attribute = $this->reader->firstClassMetadata($reflection, AsCommand::class);
39 39
 
40
-        if ($attribute === null) {
40
+        if ($attribute === null){
41 41
             $attribute = $reflection->getAttributes(SymfonyAsCommand::class)[0]->newInstance();
42 42
         }
43 43
 
@@ -54,13 +54,13 @@  discard block
 block discarded – undo
54 54
     {
55 55
         $reflection = new \ReflectionClass($command);
56 56
 
57
-        foreach ($reflection->getProperties() as $property) {
57
+        foreach ($reflection->getProperties() as $property){
58 58
             $attribute = $this->reader->firstPropertyMetadata($property, Argument::class);
59
-            if ($attribute === null) {
59
+            if ($attribute === null){
60 60
                 continue;
61 61
             }
62 62
 
63
-            if ($input->hasArgument($attribute->name ?? $property->getName())) {
63
+            if ($input->hasArgument($attribute->name ?? $property->getName())){
64 64
                 $property->setValue(
65 65
                     $command,
66 66
                     $this->typecast($input->getArgument($attribute->name ?? $property->getName()), $property)
@@ -68,16 +68,16 @@  discard block
 block discarded – undo
68 68
             }
69 69
         }
70 70
 
71
-        foreach ($reflection->getProperties() as $property) {
71
+        foreach ($reflection->getProperties() as $property){
72 72
             $attribute = $this->reader->firstPropertyMetadata($property, Option::class);
73
-            if ($attribute === null) {
73
+            if ($attribute === null){
74 74
                 continue;
75 75
             }
76 76
 
77
-            if ($input->hasOption($attribute->name ?? $property->getName())) {
77
+            if ($input->hasOption($attribute->name ?? $property->getName())){
78 78
                 $value = $this->typecast($input->getOption($attribute->name ?? $property->getName()), $property);
79 79
 
80
-                if ($value !== null || $this->getPropertyType($property)->allowsNull()) {
80
+                if ($value !== null || $this->getPropertyType($property)->allowsNull()){
81 81
                     $property->setValue($command, $value);
82 82
                 }
83 83
             }
@@ -88,9 +88,9 @@  discard block
 block discarded – undo
88 88
     {
89 89
         $result = [];
90 90
         $arrayArgument = null;
91
-        foreach ($reflection->getProperties() as $property) {
91
+        foreach ($reflection->getProperties() as $property){
92 92
             $attribute = $this->reader->firstPropertyMetadata($property, Argument::class);
93
-            if ($attribute === null) {
93
+            if ($attribute === null){
94 94
                 continue;
95 95
             }
96 96
 
@@ -108,24 +108,24 @@  discard block
 block discarded – undo
108 108
             $argument = new InputArgument(
109 109
                 name: $attribute->name ?? $property->getName(),
110 110
                 mode: $mode,
111
-                description: (string) $attribute->description,
111
+                description: (string)$attribute->description,
112 112
                 default: $property->hasDefaultValue() ? $property->getDefaultValue() : null,
113
-                suggestedValues: $attribute->suggestedValues
113
+                suggestedValues : $attribute->suggestedValues
114 114
             );
115 115
 
116
-            if ($arrayArgument !== null && $isArray) {
116
+            if ($arrayArgument !== null && $isArray){
117 117
                 throw new ConfiguratorException('There must be only one array argument!');
118 118
             }
119 119
 
120 120
             // It must be used at the end of the argument list.
121
-            if ($isArray) {
121
+            if ($isArray){
122 122
                 $arrayArgument = $argument;
123 123
                 continue;
124 124
             }
125 125
             $result[] = $argument;
126 126
         }
127 127
 
128
-        if ($arrayArgument !== null) {
128
+        if ($arrayArgument !== null){
129 129
             $result[] = $arrayArgument;
130 130
         }
131 131
 
@@ -135,21 +135,21 @@  discard block
 block discarded – undo
135 135
     private function parseOptions(\ReflectionClass $reflection): array
136 136
     {
137 137
         $result = [];
138
-        foreach ($reflection->getProperties() as $property) {
138
+        foreach ($reflection->getProperties() as $property){
139 139
             $attribute = $this->reader->firstPropertyMetadata($property, Option::class);
140
-            if ($attribute === null) {
140
+            if ($attribute === null){
141 141
                 continue;
142 142
             }
143 143
 
144 144
             $type = $this->getPropertyType($property);
145 145
             $mode = $attribute->mode;
146 146
 
147
-            if ($mode === null) {
147
+            if ($mode === null){
148 148
                 $mode = $this->guessOptionMode($type, $property);
149 149
             }
150 150
 
151
-            if ($mode === InputOption::VALUE_NONE || $mode === InputOption::VALUE_NEGATABLE) {
152
-                if ($type->getName() !== 'bool') {
151
+            if ($mode === InputOption::VALUE_NONE || $mode === InputOption::VALUE_NEGATABLE){
152
+                if ($type->getName() !== 'bool'){
153 153
                     throw new ConfiguratorException(
154 154
                         'Options properties with mode `VALUE_NONE` or `VALUE_NEGATABLE` must be bool!'
155 155
                     );
@@ -162,9 +162,9 @@  discard block
 block discarded – undo
162 162
                 name: $attribute->name ?? $property->getName(),
163 163
                 shortcut: $attribute->shortcut,
164 164
                 mode: $mode,
165
-                description: (string) $attribute->description,
165
+                description: (string)$attribute->description,
166 166
                 default: $hasDefaultValue ? $property->getDefaultValue() : null,
167
-                suggestedValues: $attribute->suggestedValues
167
+                suggestedValues : $attribute->suggestedValues
168 168
             );
169 169
         }
170 170
 
@@ -175,37 +175,37 @@  discard block
 block discarded – undo
175 175
     {
176 176
         $type = $property->hasType() ? $property->getType() : null;
177 177
 
178
-        if (!$type instanceof \ReflectionNamedType || $value === null) {
178
+        if (!$type instanceof \ReflectionNamedType || $value === null){
179 179
             return $value;
180 180
         }
181 181
 
182
-        if (!$type->isBuiltin() && \enum_exists($type->getName())) {
183
-            try {
182
+        if (!$type->isBuiltin() && \enum_exists($type->getName())){
183
+            try{
184 184
                 /** @var class-string<\BackedEnum> $enum */
185 185
                 $enum = $type->getName();
186 186
 
187 187
                 return $enum::from($value);
188
-            } catch (\Throwable) {
188
+            }catch (\Throwable){
189 189
                 throw new ConfiguratorException(\sprintf('Wrong option value. Allowed options: `%s`.', \implode(
190 190
                     '`, `',
191
-                    \array_map(static fn (\BackedEnum $item): string => (string) $item->value, $enum::cases())
191
+                    \array_map(static fn (\BackedEnum $item): string => (string)$item->value, $enum::cases())
192 192
                 )));
193 193
             }
194 194
         }
195 195
 
196 196
         return match ($type->getName()) {
197
-            'int' => (int) $value,
198
-            'string' => (string) $value,
199
-            'bool' => (bool) $value,
200
-            'float' => (float) $value,
201
-            'array' => (array) $value,
197
+            'int' => (int)$value,
198
+            'string' => (string)$value,
199
+            'bool' => (bool)$value,
200
+            'float' => (float)$value,
201
+            'array' => (array)$value,
202 202
             default => $value
203 203
         };
204 204
     }
205 205
 
206 206
     private function getPropertyType(\ReflectionProperty $property): \ReflectionNamedType
207 207
     {
208
-        if (!$property->hasType()) {
208
+        if (!$property->hasType()){
209 209
             throw new ConfiguratorException(
210 210
                 \sprintf('Please, specify the type for the `%s` property!', $property->getName())
211 211
             );
@@ -213,23 +213,23 @@  discard block
 block discarded – undo
213 213
 
214 214
         $type = $property->getType();
215 215
 
216
-        if ($type instanceof \ReflectionIntersectionType) {
216
+        if ($type instanceof \ReflectionIntersectionType){
217 217
             throw new ConfiguratorException(\sprintf('Invalid type for the `%s` property.', $property->getName()));
218 218
         }
219 219
 
220
-        if ($type instanceof \ReflectionUnionType) {
221
-            foreach ($type->getTypes() as $type) {
222
-                if ($type instanceof \ReflectionNamedType && $type->isBuiltin()) {
220
+        if ($type instanceof \ReflectionUnionType){
221
+            foreach ($type->getTypes() as $type){
222
+                if ($type instanceof \ReflectionNamedType && $type->isBuiltin()){
223 223
                     return $type;
224 224
                 }
225 225
             }
226 226
         }
227 227
 
228
-        if ($type instanceof \ReflectionNamedType && !$type->isBuiltin() && \enum_exists($type->getName())) {
228
+        if ($type instanceof \ReflectionNamedType && !$type->isBuiltin() && \enum_exists($type->getName())){
229 229
             return $type;
230 230
         }
231 231
 
232
-        if ($type instanceof \ReflectionNamedType && $type->isBuiltin() && $type->getName() !== 'object') {
232
+        if ($type instanceof \ReflectionNamedType && $type->isBuiltin() && $type->getName() !== 'object'){
233 233
             return $type;
234 234
         }
235 235
 
Please login to merge, or discard this patch.
Braces   +59 added lines, -29 removed lines patch added patch discarded remove patch
@@ -37,7 +37,8 @@  discard block
 block discarded – undo
37 37
     {
38 38
         $attribute = $this->reader->firstClassMetadata($reflection, AsCommand::class);
39 39
 
40
-        if ($attribute === null) {
40
+        if ($attribute === null)
41
+        {
41 42
             $attribute = $reflection->getAttributes(SymfonyAsCommand::class)[0]->newInstance();
42 43
         }
43 44
 
@@ -54,13 +55,16 @@  discard block
 block discarded – undo
54 55
     {
55 56
         $reflection = new \ReflectionClass($command);
56 57
 
57
-        foreach ($reflection->getProperties() as $property) {
58
+        foreach ($reflection->getProperties() as $property)
59
+        {
58 60
             $attribute = $this->reader->firstPropertyMetadata($property, Argument::class);
59
-            if ($attribute === null) {
61
+            if ($attribute === null)
62
+            {
60 63
                 continue;
61 64
             }
62 65
 
63
-            if ($input->hasArgument($attribute->name ?? $property->getName())) {
66
+            if ($input->hasArgument($attribute->name ?? $property->getName()))
67
+            {
64 68
                 $property->setValue(
65 69
                     $command,
66 70
                     $this->typecast($input->getArgument($attribute->name ?? $property->getName()), $property)
@@ -68,16 +72,20 @@  discard block
 block discarded – undo
68 72
             }
69 73
         }
70 74
 
71
-        foreach ($reflection->getProperties() as $property) {
75
+        foreach ($reflection->getProperties() as $property)
76
+        {
72 77
             $attribute = $this->reader->firstPropertyMetadata($property, Option::class);
73
-            if ($attribute === null) {
78
+            if ($attribute === null)
79
+            {
74 80
                 continue;
75 81
             }
76 82
 
77
-            if ($input->hasOption($attribute->name ?? $property->getName())) {
83
+            if ($input->hasOption($attribute->name ?? $property->getName()))
84
+            {
78 85
                 $value = $this->typecast($input->getOption($attribute->name ?? $property->getName()), $property);
79 86
 
80
-                if ($value !== null || $this->getPropertyType($property)->allowsNull()) {
87
+                if ($value !== null || $this->getPropertyType($property)->allowsNull())
88
+                {
81 89
                     $property->setValue($command, $value);
82 90
                 }
83 91
             }
@@ -88,9 +96,11 @@  discard block
 block discarded – undo
88 96
     {
89 97
         $result = [];
90 98
         $arrayArgument = null;
91
-        foreach ($reflection->getProperties() as $property) {
99
+        foreach ($reflection->getProperties() as $property)
100
+        {
92 101
             $attribute = $this->reader->firstPropertyMetadata($property, Argument::class);
93
-            if ($attribute === null) {
102
+            if ($attribute === null)
103
+            {
94 104
                 continue;
95 105
             }
96 106
 
@@ -113,19 +123,22 @@  discard block
 block discarded – undo
113 123
                 suggestedValues: $attribute->suggestedValues
114 124
             );
115 125
 
116
-            if ($arrayArgument !== null && $isArray) {
126
+            if ($arrayArgument !== null && $isArray)
127
+            {
117 128
                 throw new ConfiguratorException('There must be only one array argument!');
118 129
             }
119 130
 
120 131
             // It must be used at the end of the argument list.
121
-            if ($isArray) {
132
+            if ($isArray)
133
+            {
122 134
                 $arrayArgument = $argument;
123 135
                 continue;
124 136
             }
125 137
             $result[] = $argument;
126 138
         }
127 139
 
128
-        if ($arrayArgument !== null) {
140
+        if ($arrayArgument !== null)
141
+        {
129 142
             $result[] = $arrayArgument;
130 143
         }
131 144
 
@@ -135,21 +148,26 @@  discard block
 block discarded – undo
135 148
     private function parseOptions(\ReflectionClass $reflection): array
136 149
     {
137 150
         $result = [];
138
-        foreach ($reflection->getProperties() as $property) {
151
+        foreach ($reflection->getProperties() as $property)
152
+        {
139 153
             $attribute = $this->reader->firstPropertyMetadata($property, Option::class);
140
-            if ($attribute === null) {
154
+            if ($attribute === null)
155
+            {
141 156
                 continue;
142 157
             }
143 158
 
144 159
             $type = $this->getPropertyType($property);
145 160
             $mode = $attribute->mode;
146 161
 
147
-            if ($mode === null) {
162
+            if ($mode === null)
163
+            {
148 164
                 $mode = $this->guessOptionMode($type, $property);
149 165
             }
150 166
 
151
-            if ($mode === InputOption::VALUE_NONE || $mode === InputOption::VALUE_NEGATABLE) {
152
-                if ($type->getName() !== 'bool') {
167
+            if ($mode === InputOption::VALUE_NONE || $mode === InputOption::VALUE_NEGATABLE)
168
+            {
169
+                if ($type->getName() !== 'bool')
170
+                {
153 171
                     throw new ConfiguratorException(
154 172
                         'Options properties with mode `VALUE_NONE` or `VALUE_NEGATABLE` must be bool!'
155 173
                     );
@@ -175,17 +193,22 @@  discard block
 block discarded – undo
175 193
     {
176 194
         $type = $property->hasType() ? $property->getType() : null;
177 195
 
178
-        if (!$type instanceof \ReflectionNamedType || $value === null) {
196
+        if (!$type instanceof \ReflectionNamedType || $value === null)
197
+        {
179 198
             return $value;
180 199
         }
181 200
 
182
-        if (!$type->isBuiltin() && \enum_exists($type->getName())) {
183
-            try {
201
+        if (!$type->isBuiltin() && \enum_exists($type->getName()))
202
+        {
203
+            try
204
+            {
184 205
                 /** @var class-string<\BackedEnum> $enum */
185 206
                 $enum = $type->getName();
186 207
 
187 208
                 return $enum::from($value);
188
-            } catch (\Throwable) {
209
+            }
210
+            catch (\Throwable)
211
+            {
189 212
                 throw new ConfiguratorException(\sprintf('Wrong option value. Allowed options: `%s`.', \implode(
190 213
                     '`, `',
191 214
                     \array_map(static fn (\BackedEnum $item): string => (string) $item->value, $enum::cases())
@@ -205,7 +228,8 @@  discard block
 block discarded – undo
205 228
 
206 229
     private function getPropertyType(\ReflectionProperty $property): \ReflectionNamedType
207 230
     {
208
-        if (!$property->hasType()) {
231
+        if (!$property->hasType())
232
+        {
209 233
             throw new ConfiguratorException(
210 234
                 \sprintf('Please, specify the type for the `%s` property!', $property->getName())
211 235
             );
@@ -213,23 +237,29 @@  discard block
 block discarded – undo
213 237
 
214 238
         $type = $property->getType();
215 239
 
216
-        if ($type instanceof \ReflectionIntersectionType) {
240
+        if ($type instanceof \ReflectionIntersectionType)
241
+        {
217 242
             throw new ConfiguratorException(\sprintf('Invalid type for the `%s` property.', $property->getName()));
218 243
         }
219 244
 
220
-        if ($type instanceof \ReflectionUnionType) {
221
-            foreach ($type->getTypes() as $type) {
222
-                if ($type instanceof \ReflectionNamedType && $type->isBuiltin()) {
245
+        if ($type instanceof \ReflectionUnionType)
246
+        {
247
+            foreach ($type->getTypes() as $type)
248
+            {
249
+                if ($type instanceof \ReflectionNamedType && $type->isBuiltin())
250
+                {
223 251
                     return $type;
224 252
                 }
225 253
             }
226 254
         }
227 255
 
228
-        if ($type instanceof \ReflectionNamedType && !$type->isBuiltin() && \enum_exists($type->getName())) {
256
+        if ($type instanceof \ReflectionNamedType && !$type->isBuiltin() && \enum_exists($type->getName()))
257
+        {
229 258
             return $type;
230 259
         }
231 260
 
232
-        if ($type instanceof \ReflectionNamedType && $type->isBuiltin() && $type->getName() !== 'object') {
261
+        if ($type instanceof \ReflectionNamedType && $type->isBuiltin() && $type->getName() !== 'object')
262
+        {
233 263
             return $type;
234 264
         }
235 265
 
Please login to merge, or discard this patch.