File tree Expand file tree Collapse file tree 2 files changed +26
-0
lines changed Expand file tree Collapse file tree 2 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,19 @@ public function getTypeName(array $parameter, array $method = []): string
29
29
case self ::TYPE_NUMBER :
30
30
return 'number ' ;
31
31
case self ::TYPE_ARRAY :
32
+ if (!empty ($ parameter ['array ' ]['x-anyOf ' ] ?? [])) {
33
+ $ unionTypes = [];
34
+ foreach ($ parameter ['array ' ]['x-anyOf ' ] as $ refType ) {
35
+ if (isset ($ refType ['$ref ' ])) {
36
+ $ refParts = explode ('/ ' , $ refType ['$ref ' ]);
37
+ $ modelName = end ($ refParts );
38
+ $ unionTypes [] = 'Models. ' . $ this ->toPascalCase ($ modelName );
39
+ }
40
+ }
41
+ if (!empty ($ unionTypes )) {
42
+ return '( ' . implode (' | ' , $ unionTypes ) . ')[] ' ;
43
+ }
44
+ }
32
45
if (!empty (($ parameter ['array ' ] ?? [])['type ' ]) && !\is_array ($ parameter ['array ' ]['type ' ])) {
33
46
return $ this ->getTypeName ($ parameter ['array ' ]) . '[] ' ;
34
47
}
Original file line number Diff line number Diff line change @@ -194,6 +194,19 @@ public function getTypeName(array $parameter, array $method = []): string
194
194
case self ::TYPE_NUMBER :
195
195
return 'number ' ;
196
196
case self ::TYPE_ARRAY :
197
+ if (!empty ($ parameter ['array ' ]['x-anyOf ' ] ?? [])) {
198
+ $ unionTypes = [];
199
+ foreach ($ parameter ['array ' ]['x-anyOf ' ] as $ refType ) {
200
+ if (isset ($ refType ['$ref ' ])) {
201
+ $ refParts = explode ('/ ' , $ refType ['$ref ' ]);
202
+ $ modelName = end ($ refParts );
203
+ $ unionTypes [] = 'Models. ' . $ this ->toPascalCase ($ modelName );
204
+ }
205
+ }
206
+ if (!empty ($ unionTypes )) {
207
+ return '( ' . implode (' | ' , $ unionTypes ) . ')[] ' ;
208
+ }
209
+ }
197
210
if (!empty (($ parameter ['array ' ] ?? [])['type ' ]) && !\is_array ($ parameter ['array ' ]['type ' ])) {
198
211
return $ this ->getTypeName ($ parameter ['array ' ]) . '[] ' ;
199
212
}
You can’t perform that action at this time.
0 commit comments