Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Passed
Pull Request — main (#5478)
by Cristian
25:33 queued 14:59
created
src/app/Library/CrudPanel/Traits/FieldsProtectedMethods.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
             return ['name' => Str::replace(' ', '', $field)];
116 116
         }
117 117
 
118
-        if (is_array($field) && ! isset($field['name'])) {
118
+        if (is_array($field) && !isset($field['name'])) {
119 119
             abort(500, 'All fields must have their name defined');
120 120
         }
121 121
 
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
         }
190 190
         // if there's a model defined, but no attribute
191 191
         // guess an attribute using the identifiableAttribute functionality in CrudTrait
192
-        if (isset($field['model']) && ! isset($field['attribute']) && method_exists($field['model'], 'identifiableAttribute')) {
192
+        if (isset($field['model']) && !isset($field['attribute']) && method_exists($field['model'], 'identifiableAttribute')) {
193 193
             $field['attribute'] = (new $field['model']())->identifiableAttribute();
194 194
         }
195 195
 
@@ -205,7 +205,7 @@  discard block
 block discarded – undo
205 205
      */
206 206
     protected function makeSureFieldHasLabel($field)
207 207
     {
208
-        if (! isset($field['label'])) {
208
+        if (!isset($field['label'])) {
209 209
             $name = str_replace(',', ' ', $field['name']);
210 210
             $name = str_replace('_id', '', $name);
211 211
             $field['label'] = mb_ucfirst(str_replace('_', ' ', $name));
@@ -223,7 +223,7 @@  discard block
 block discarded – undo
223 223
      */
224 224
     protected function makeSureFieldHasType($field)
225 225
     {
226
-        if (! isset($field['type'])) {
226
+        if (!isset($field['type'])) {
227 227
             $field['type'] = isset($field['relation_type']) ? $this->inferFieldTypeFromRelationType($field['relation_type']) : $this->inferFieldTypeFromDbColumnType($field['name']);
228 228
         }
229 229
 
@@ -256,16 +256,16 @@  discard block
 block discarded – undo
256 256
      */
257 257
     protected function makeSureSubfieldsHaveNecessaryAttributes($field)
258 258
     {
259
-        if (! isset($field['subfields']) || ! is_array($field['subfields'])) {
259
+        if (!isset($field['subfields']) || !is_array($field['subfields'])) {
260 260
             return $field;
261 261
         }
262 262
 
263
-        if (! is_multidimensional_array($field['subfields'], true)) {
263
+        if (!is_multidimensional_array($field['subfields'], true)) {
264 264
             abort(500, 'Subfields of «'.$field['name'].'» are malformed. Make sure you provide an array of subfields.');
265 265
         }
266 266
 
267 267
         foreach ($field['subfields'] as $key => $subfield) {
268
-            if (empty($subfield) || ! isset($subfield['name'])) {
268
+            if (empty($subfield) || !isset($subfield['name'])) {
269 269
                 abort(500, 'A subfield of «'.$field['name'].'» is malformed. Subfield attribute name can\'t be empty.');
270 270
             }
271 271
 
@@ -280,7 +280,7 @@  discard block
 block discarded – undo
280 280
             $subfield['baseFieldName'] = is_array($subfield['name']) ? implode(',', $subfield['name']) : $subfield['name'];
281 281
             $subfield['baseFieldName'] = Str::afterLast($subfield['baseFieldName'], '.');
282 282
 
283
-            if (! isset($field['model'])) {
283
+            if (!isset($field['model'])) {
284 284
                 // we're inside a simple 'repeatable' with no model/relationship, so
285 285
                 // we assume all subfields are supposed to be text fields
286 286
                 $subfield['type'] = $subfield['type'] ?? 'text';
@@ -305,11 +305,11 @@  discard block
 block discarded – undo
305 305
                 case 'BelongsToMany':
306 306
                     $pivotSelectorField = static::getPivotFieldStructure($field);
307 307
 
308
-                    $pivot = Arr::where($field['subfields'], function ($item) use ($pivotSelectorField) {
308
+                    $pivot = Arr::where($field['subfields'], function($item) use ($pivotSelectorField) {
309 309
                         return $item['name'] === $pivotSelectorField['name'];
310 310
                     });
311 311
 
312
-                    if (! empty($pivot)) {
312
+                    if (!empty($pivot)) {
313 313
                         break;
314 314
                     }
315 315
 
@@ -322,11 +322,11 @@  discard block
 block discarded – undo
322 322
                     $entity = isset($field['baseEntity']) ? $field['baseEntity'].'.'.$field['entity'] : $field['entity'];
323 323
                     $relationInstance = $this->getRelationInstance(['entity' => $entity]);
324 324
 
325
-                    $localKeyField = Arr::where($field['subfields'], function ($item) use ($relationInstance) {
325
+                    $localKeyField = Arr::where($field['subfields'], function($item) use ($relationInstance) {
326 326
                         return $item['name'] === $relationInstance->getRelated()->getKeyName();
327 327
                     });
328 328
 
329
-                    if (! empty($localKeyField)) {
329
+                    if (!empty($localKeyField)) {
330 330
                         break;
331 331
                     }
332 332
 
@@ -351,7 +351,7 @@  discard block
 block discarded – undo
351 351
     {
352 352
         // if a tab was mentioned, we should enable it
353 353
         if (isset($field['tab'])) {
354
-            if (! $this->tabsEnabled()) {
354
+            if (!$this->tabsEnabled()) {
355 355
                 $this->enableTabs();
356 356
             }
357 357
         }
Please login to merge, or discard this patch.
src/app/Library/Validation/Rules/ValidUploadMultiple.php 1 patch
Spacing   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -23,8 +23,7 @@
 block discarded – undo
23 23
         }
24 24
 
25 25
         $previousValues = str_contains($attribute, '.') ?
26
-                            (Arr::get($entry?->{Str::before($attribute, '.')} ?? [], Str::after($attribute, '.')) ?? []) :
27
-                            ($entry?->{$attribute} ?? []);
26
+                            (Arr::get($entry?->{Str::before($attribute, '.')} ?? [], Str::after($attribute, '.')) ?? []) : ($entry?->{$attribute} ?? []);
28 27
 
29 28
         if (is_string($previousValues)) {
30 29
             $previousValues = json_decode($previousValues, true) ?? [];
Please login to merge, or discard this patch.
src/app/Library/Validation/Rules/BackpackCustomRule.php 1 patch
Spacing   +14 added lines, -15 removed lines patch added patch discarded remove patch
@@ -28,13 +28,13 @@  discard block
 block discarded – undo
28 28
 
29 29
     public bool $implicit = true;
30 30
 
31
-    public static function field(string|array|ValidationRule|Rule $rules = []): self
31
+    public static function field(string | array | ValidationRule | Rule $rules = []): self
32 32
     {
33 33
         $instance = new static();
34 34
         $instance->fieldRules = self::getRulesAsArray($rules);
35 35
 
36 36
         if ($instance->validatesArrays()) {
37
-            if (! in_array('array', $instance->getFieldRules())) {
37
+            if (!in_array('array', $instance->getFieldRules())) {
38 38
                 $instance->fieldRules[] = 'array';
39 39
             }
40 40
         }
@@ -94,7 +94,7 @@  discard block
 block discarded – undo
94 94
 
95 95
     public function getFieldRules(): array
96 96
     {
97
-        return tap($this->fieldRules, function ($rule) {
97
+        return tap($this->fieldRules, function($rule) {
98 98
             if (is_a($rule, BackpackCustomRule::class, true)) {
99 99
                 $rule = $rule->getFieldRules();
100 100
             }
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
             $rules = explode('|', $rules);
110 110
         }
111 111
 
112
-        if (! is_array($rules)) {
112
+        if (!is_array($rules)) {
113 113
             $rules = [$rules];
114 114
         }
115 115
 
@@ -118,10 +118,10 @@  discard block
 block discarded – undo
118 118
 
119 119
     protected function ensureValueIsValid($value)
120 120
     {
121
-        if ($this->validatesArrays() && ! is_array($value)) {
121
+        if ($this->validatesArrays() && !is_array($value)) {
122 122
             try {
123 123
                 $value = json_decode($value, true) ?? [];
124
-            } catch(\Exception $e) {
124
+            } catch (\Exception $e) {
125 125
                 return false;
126 126
             }
127 127
         }
@@ -140,14 +140,13 @@  discard block
 block discarded – undo
140 140
             $attribute => $rules,
141 141
         ], $this->validator->customMessages, $this->validator->customAttributes);
142 142
 
143
-        return $validator->errors()->messages()[$attribute] ?? (! empty($validator->errors()->messages()) ? current($validator->errors()->messages()) : []);
143
+        return $validator->errors()->messages()[$attribute] ?? (!empty($validator->errors()->messages()) ? current($validator->errors()->messages()) : []);
144 144
     }
145 145
 
146 146
     protected function getValidationAttributeString(string $attribute)
147 147
     {
148 148
         return Str::substrCount($attribute, '.') > 1 ?
149
-                Str::before($attribute, '.').'.*.'.Str::afterLast($attribute, '.') :
150
-                $attribute;
149
+                Str::before($attribute, '.').'.*.'.Str::afterLast($attribute, '.') : $attribute;
151 150
     }
152 151
 
153 152
     protected function validateOnSubmit(string $attribute, mixed $value): array
@@ -155,7 +154,7 @@  discard block
 block discarded – undo
155 154
         return $this->validateRules($attribute, $value);
156 155
     }
157 156
 
158
-    protected function validateFieldAndFile(string $attribute, null|array $data = null, array|null $customRules = null): array
157
+    protected function validateFieldAndFile(string $attribute, null | array $data = null, array | null $customRules = null): array
159 158
     {
160 159
         $fieldErrors = $this->validateFieldRules($attribute, $data, $customRules);
161 160
 
@@ -167,7 +166,7 @@  discard block
 block discarded – undo
167 166
     /**
168 167
      * Implementation.
169 168
      */
170
-    public function validateFieldRules(string $attribute, null|array|string|UploadedFile $data = null, array|null $customRules = null): array
169
+    public function validateFieldRules(string $attribute, null | array | string | UploadedFile $data = null, array | null $customRules = null): array
171 170
     {
172 171
         $data = $data ?? $this->data;
173 172
         $validationRuleAttribute = $this->getValidationAttributeString($attribute);
@@ -176,16 +175,16 @@  discard block
 block discarded – undo
176 175
         return $this->validateAndGetErrors($validationRuleAttribute, $data, $customRules ?? $this->getFieldRules());
177 176
     }
178 177
 
179
-    protected function prepareValidatorData(array|string|UploadedFile $data, string $attribute): array
178
+    protected function prepareValidatorData(array | string | UploadedFile $data, string $attribute): array
180 179
     {
181
-        if ($this->validatesArrays() && is_array($data) && ! Str::contains($attribute, '.')) {
180
+        if ($this->validatesArrays() && is_array($data) && !Str::contains($attribute, '.')) {
182 181
             return Arr::has($data, $attribute) ? $data : [$attribute => Arr::get($data, $attribute)];
183 182
         }
184 183
 
185 184
         if (Str::contains($attribute, '.')) {
186 185
             $validData = [];
187 186
 
188
-            Arr::set($validData, $attribute, ! is_array($data) ? $data : Arr::get($data, $attribute));
187
+            Arr::set($validData, $attribute, !is_array($data) ? $data : Arr::get($data, $attribute));
189 188
 
190 189
             return $validData;
191 190
         }
@@ -199,7 +198,7 @@  discard block
 block discarded – undo
199 198
         $items = is_array($items) ? $items : [$items];
200 199
         $validationRuleAttribute = $this->getValidationAttributeString($attribute);
201 200
         $filesToValidate = $this->validatesArrays() ? Arr::get($items, $attribute) : [Arr::get($items, $attribute)];
202
-        $filesToValidate = array_filter($filesToValidate ?? [], function ($item) {
201
+        $filesToValidate = array_filter($filesToValidate ?? [], function($item) {
203 202
             return $item instanceof UploadedFile;
204 203
         });
205 204
 
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Support/UploadersRepository.php 1 patch
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
      */
35 35
     public function markAsHandled(string $objectName): void
36 36
     {
37
-        if (! in_array($objectName, $this->handledUploaders)) {
37
+        if (!in_array($objectName, $this->handledUploaders)) {
38 38
             $this->handledUploaders[] = $objectName;
39 39
         }
40 40
     }
@@ -84,7 +84,7 @@  discard block
 block discarded – undo
84 84
      */
85 85
     public function registerRepeatableUploader(string $uploadName, UploaderInterface $uploader): void
86 86
     {
87
-        if (! array_key_exists($uploadName, $this->repeatableUploaders) || ! in_array($uploader, $this->repeatableUploaders[$uploadName])) {
87
+        if (!array_key_exists($uploadName, $this->repeatableUploaders) || !in_array($uploader, $this->repeatableUploaders[$uploadName])) {
88 88
             $this->repeatableUploaders[$uploadName][] = $uploader;
89 89
         }
90 90
     }
@@ -118,7 +118,7 @@  discard block
 block discarded – undo
118 118
      */
119 119
     public function getRegisteredUploadNames(string $uploadName): array
120 120
     {
121
-        return array_map(function ($uploader) {
121
+        return array_map(function($uploader) {
122 122
             return $uploader->getName();
123 123
         }, $this->getRepeatableUploadersFor($uploadName));
124 124
     }
@@ -149,11 +149,11 @@  discard block
 block discarded – undo
149 149
 
150 150
             $uploaders = $this->getRepeatableUploadersFor($repeatableContainerName);
151 151
 
152
-            $uploader = Arr::first($uploaders, function ($uploader) use ($requestInputName) {
152
+            $uploader = Arr::first($uploaders, function($uploader) use ($requestInputName) {
153 153
                 return $uploader->getName() === $requestInputName;
154 154
             });
155 155
             
156
-            if (! $uploader) {
156
+            if (!$uploader) {
157 157
                 abort(500, 'Could not find the field in the repeatable uploaders.');
158 158
             }
159 159
 
@@ -164,16 +164,16 @@  discard block
 block discarded – undo
164 164
             abort(500, 'Could not find the field in the CRUD fields.');
165 165
         }
166 166
 
167
-        if (! $uploaderMacro = $this->getUploadCrudObjectMacroType($crudObject)) {
167
+        if (!$uploaderMacro = $this->getUploadCrudObjectMacroType($crudObject)) {
168 168
             abort(500, 'There is no uploader defined for the given field type.');
169 169
         }
170 170
 
171
-        if (! $this->isValidUploadField($crudObject, $uploaderMacro)) {
171
+        if (!$this->isValidUploadField($crudObject, $uploaderMacro)) {
172 172
             abort(500, 'Invalid field for upload.');
173 173
         }
174 174
 
175 175
         $uploaderConfiguration = $crudObject[$uploaderMacro] ?? [];
176
-        $uploaderConfiguration = ! is_array($uploaderConfiguration) ? [] : $uploaderConfiguration;
176
+        $uploaderConfiguration = !is_array($uploaderConfiguration) ? [] : $uploaderConfiguration;
177 177
         $uploaderClass = $this->getUploadFor($crudObject['type'], $uploaderMacro);
178 178
 
179 179
         return new $uploaderClass(['name' => $requestInputName], $uploaderConfiguration);
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
     /**
183 183
      * Get the upload field macro type for the given object.
184 184
      */
185
-    private function getUploadCrudObjectMacroType(array $crudObject): string|null
185
+    private function getUploadCrudObjectMacroType(array $crudObject): string | null
186 186
     {
187 187
         return isset($crudObject['withFiles']) ? 'withFiles' : (isset($crudObject['withMedia']) ? 'withMedia' : null);
188 188
     }
@@ -191,11 +191,11 @@  discard block
 block discarded – undo
191 191
     {
192 192
         if (Str::contains($crudObject['name'], '#')) {
193 193
             $container = Str::before($crudObject['name'], '#');
194
-            $field = array_filter(CRUD::fields()[$container]['subfields'] ?? [], function ($item) use ($crudObject, $uploaderMacro) {
194
+            $field = array_filter(CRUD::fields()[$container]['subfields'] ?? [], function($item) use ($crudObject, $uploaderMacro) {
195 195
                 return $item['name'] === $crudObject['name'] && in_array($item['type'], $this->getAjaxUploadTypes($uploaderMacro));
196 196
             });
197 197
 
198
-            return ! empty($field);
198
+            return !empty($field);
199 199
         }
200 200
 
201 201
         return in_array($crudObject['type'], $this->getAjaxUploadTypes($uploaderMacro));
Please login to merge, or discard this patch.
src/app/Library/Uploaders/Support/Traits/HandleRepeatableUploads.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -14,7 +14,7 @@  discard block
 block discarded – undo
14 14
 {
15 15
     public bool $handleRepeatableFiles = false;
16 16
 
17
-    public null|string $repeatableContainerName = null;
17
+    public null | string $repeatableContainerName = null;
18 18
 
19 19
     /*******************************
20 20
      * Setters - fluently configure the uploader
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
     /*******************************
32 32
      * Getters
33 33
      *******************************/
34
-    public function getRepeatableContainerName(): null|string
34
+    public function getRepeatableContainerName(): null | string
35 35
     {
36 36
         return $this->repeatableContainerName;
37 37
     }
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
         foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $uploader) {
133 133
             $uploadedValues = $uploader->uploadRepeatableFiles($values->pluck($uploader->getAttributeName())->toArray(), $this->getPreviousRepeatableValues($entry, $uploader));
134 134
 
135
-            $values = $values->map(function ($item, $key) use ($uploadedValues, $uploader) {
135
+            $values = $values->map(function($item, $key) use ($uploadedValues, $uploader) {
136 136
                 $item[$uploader->getAttributeName()] = $uploadedValues[$key] ?? null;
137 137
 
138 138
                 return $item;
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
 
153 153
         $values = $entry->{$this->getRepeatableContainerName()};
154 154
         $values = is_string($values) ? json_decode($values, true) : $values;
155
-        $values = array_map(function ($item) use ($repeatableUploaders) {
155
+        $values = array_map(function($item) use ($repeatableUploaders) {
156 156
             foreach ($repeatableUploaders as $upload) {
157 157
                 $item[$upload->getAttributeName()] = $this->getValuesWithPathStripped($item, $upload);
158 158
             }
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
 
168 168
     private function retrieveRepeatableRelationFiles(Model $entry)
169 169
     {
170
-        switch($this->getRepeatableRelationType()) {
170
+        switch ($this->getRepeatableRelationType()) {
171 171
             case 'BelongsToMany':
172 172
             case 'MorphToMany':
173 173
                 $pivotClass = app('crud')->getModel()->{$this->getUploaderSubfield()['baseEntity']}()->getPivotClass();
@@ -213,12 +213,12 @@  discard block
 block discarded – undo
213 213
 
214 214
         $repeatableValues = collect($entry->{$this->getName()});
215 215
         foreach (app('UploadersRepository')->getRepeatableUploadersFor($this->getRepeatableContainerName()) as $upload) {
216
-            if (! $upload->shouldDeleteFiles()) {
216
+            if (!$upload->shouldDeleteFiles()) {
217 217
                 continue;
218 218
             }
219 219
             $values = $repeatableValues->pluck($upload->getName())->toArray();
220 220
             foreach ($values as $value) {
221
-                if (! $value) {
221
+                if (!$value) {
222 222
                     continue;
223 223
                 }
224 224
 
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
     /**
242 242
      * Given two multidimensional arrays/collections, merge them recursively.
243 243
      */
244
-    protected function mergeValuesRecursive(array|Collection $array1, array|Collection $array2): array|Collection
244
+    protected function mergeValuesRecursive(array | Collection $array1, array | Collection $array2): array | Collection
245 245
     {
246 246
         $merged = $array1;
247 247
         foreach ($array2 as $key => &$value) {
@@ -263,7 +263,7 @@  discard block
 block discarded – undo
263 263
     {
264 264
         $items = CRUD::getRequest()->input('_order_'.$this->getRepeatableContainerName()) ?? [];
265 265
 
266
-        array_walk($items, function (&$key, $value) {
266
+        array_walk($items, function(&$key, $value) {
267 267
             $requestValue = $key[$this->getName()] ?? null;
268 268
             $key = $this->handleMultipleFiles ? (is_string($requestValue) ? explode(',', $requestValue) : $requestValue) : $requestValue;
269 269
         });
@@ -275,18 +275,18 @@  discard block
 block discarded – undo
275 275
     {
276 276
         $previousValues = json_decode($entry->getOriginal($uploader->getRepeatableContainerName()), true);
277 277
 
278
-        if (! empty($previousValues)) {
278
+        if (!empty($previousValues)) {
279 279
             $previousValues = array_column($previousValues, $uploader->getName());
280 280
         }
281 281
 
282 282
         return $previousValues ?? [];
283 283
     }
284 284
 
285
-    private function getValuesWithPathStripped(array|string|null $item, UploaderInterface $uploader)
285
+    private function getValuesWithPathStripped(array | string | null $item, UploaderInterface $uploader)
286 286
     {
287 287
         $uploadedValues = $item[$uploader->getName()] ?? null;
288 288
         if (is_array($uploadedValues)) {
289
-            return array_map(function ($value) use ($uploader) {
289
+            return array_map(function($value) use ($uploader) {
290 290
                 return $uploader->getValueWithoutPath($value);
291 291
             }, $uploadedValues);
292 292
         }
@@ -305,19 +305,19 @@  discard block
 block discarded – undo
305 305
     {
306 306
         if (in_array($this->getRepeatableRelationType(), ['BelongsToMany', 'MorphToMany'])) {
307 307
             $pivotAttributes = $entry->getAttributes();
308
-            $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function ($item) use ($pivotAttributes) {
308
+            $connectedPivot = $entry->pivotParent->{$this->getRepeatableContainerName()}->where(function($item) use ($pivotAttributes) {
309 309
                 $itemPivotAttributes = $item->pivot->only(array_keys($pivotAttributes));
310 310
 
311 311
                 return $itemPivotAttributes === $pivotAttributes;
312 312
             })->first();
313 313
 
314
-            if (! $connectedPivot) {
314
+            if (!$connectedPivot) {
315 315
                 return;
316 316
             }
317 317
 
318 318
             $files = $connectedPivot->getOriginal()['pivot_'.$this->getAttributeName()];
319 319
 
320
-            if (! $files) {
320
+            if (!$files) {
321 321
                 return;
322 322
             }
323 323
 
Please login to merge, or discard this patch.
src/app/Library/Validation/Rules/ValidUpload.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
     {
18 18
         $entry = CrudPanelFacade::getCurrentEntry();
19 19
 
20
-        if (! Arr::has($this->data, $attribute)) {
20
+        if (!Arr::has($this->data, $attribute)) {
21 21
             $attributeValueForDataArray = null;
22 22
             $requestAttributeValue = Arr::get($this->data, '_order_'.$attribute);
23 23
             if ($entry && Str::contains($attribute, '.')) {
@@ -28,14 +28,14 @@  discard block
 block discarded – undo
28 28
 
29 29
         $fieldErrors = $this->validateFieldRules($attribute, $value);
30 30
         
31
-        if (! empty($value) && ! empty($this->getFileRules())) {
31
+        if (!empty($value) && !empty($this->getFileRules())) {
32 32
             $fileErrors = $this->validateFileRules($attribute, $value);
33 33
         }
34 34
 
35 35
         return array_merge($fieldErrors, $fileErrors ?? []);
36 36
     }
37 37
 
38
-    public static function field(string|array|ValidationRule|Rule $rules = []): self
38
+    public static function field(string | array | ValidationRule | Rule $rules = []): self
39 39
     {
40 40
         return parent::field($rules);
41 41
     }
Please login to merge, or discard this patch.