@@ -17,59 +17,41 @@ public function __construct(string $typeName, string $fieldName, Type $type, arr
1717 $ descriptions = FiltersDef::getDescriptions ();
1818
1919 foreach ($ allowedFilters as $ filter ) {
20+ $ filterType = $ type ;
21+
2022 switch ($ filter ) {
2123 case FiltersDef::SORT :
22- $ fields [$ filter ] = [
23- 'name ' => $ filter ,
24- 'type ' => Type::string (),
25- 'description ' => $ descriptions [$ filter ],
26- ];
24+ $ filterType = Type::string ();
2725 break ;
28-
2926 case FiltersDef::ISNULL :
30- $ fields [$ filter ] = [
31- 'name ' => $ filter ,
32- 'type ' => Type::boolean (),
33- 'description ' => $ descriptions [$ filter ],
34- ];
27+ $ filterType = Type::boolean ();
3528 break ;
36-
3729 case FiltersDef::BETWEEN :
38- $ fields [$ filter ] = [
39- 'name ' => $ filter ,
40-
41- 'type ' => $ this ->buildBetweenInputObject (
42- $ typeName ,
43- $ fieldName ,
44- $ type ,
45- ),
46- 'description ' => $ descriptions [$ filter ],
47- ];
30+ $ filterType = $ this ->buildBetweenInputObject (
31+ $ typeName ,
32+ $ fieldName ,
33+ $ type ,
34+ );
4835 break ;
49-
5036 case FiltersDef::IN :
5137 case FiltersDef::NOTIN :
52- $ fields [$ filter ] = [
53- 'name ' => $ filter ,
54- 'type ' => Type::listOf ($ type ),
55- 'description ' => $ descriptions [$ filter ],
56- ];
38+ $ filterType = Type::listOf ($ type );
5739 break ;
58-
5940 case FiltersDef::STARTSWITH :
6041 case FiltersDef::ENDSWITH :
6142 case FiltersDef::CONTAINS :
6243 if ($ type !== Type::string () && $ type !== Type::id ()) {
63- break ;
44+ continue 2 ;
6445 }
65- // break intentionally omitted
66- default :
67- $ fields [$ filter ] = [
68- 'name ' => $ filter ,
69- 'type ' => $ type ,
70- 'description ' => $ descriptions [$ filter ],
71- ];
46+
47+ break ;
7248 }
49+
50+ $ fields [$ filter ] = [
51+ 'name ' => $ filter ,
52+ 'type ' => $ filterType ,
53+ 'description ' => $ descriptions [$ filter ],
54+ ];
7355 }
7456
7557 /** @psalm-suppress InvalidArgument */
0 commit comments