@@ -352,13 +352,10 @@ def build_union_property(
352
352
) -> Tuple [Union [UnionProperty , PropertyError ], Schemas ]:
353
353
sub_properties : List [Property ] = []
354
354
355
- for i , sub_prop_data in enumerate (
356
- [
357
- data
358
- for sublists in filter (lambda x : isinstance (x , Iterable ), [[], data .anyOf , data .oneOf ])
359
- for data in sublists
360
- ]
361
- ):
355
+ sub_props_data_matrix : List [Union [oai .Schema , oai .Reference ]] = filter (
356
+ lambda x : isinstance (x , Iterable ), [[], data .anyOf , data .oneOf ]
357
+ )
358
+ for i , sub_prop_data in enumerate ([data for flattenedlist in sub_props_data_matrix for data in flattenedlist ]):
362
359
sub_prop , schemas = property_from_data (
363
360
name = f"{ name } _type{ i } " ,
364
361
required = required ,
@@ -445,12 +442,12 @@ def _property_from_data(
445
442
if isinstance (data , oai .Reference ):
446
443
return _property_from_ref (name = name , required = required , parent = None , data = data , schemas = schemas )
447
444
445
+ sub_props_data_matrix : List [Union [oai .Schema , oai .Reference ]] = filter (
446
+ lambda x : isinstance (x , Iterable ), [[], data .anyOf , data .oneOf ]
447
+ )
448
+ sub_data = [data for flattenedlist in sub_props_data_matrix for data in flattenedlist ]
449
+
448
450
# A union of a single reference should just be passed through to that reference (don't create copy class)
449
- sub_data = [
450
- data
451
- for sublists in filter (lambda x : isinstance (x , Iterable ), [[], data .allOf , data .anyOf , data .oneOf ])
452
- for data in sublists
453
- ]
454
451
if len (sub_data ) == 1 and isinstance (sub_data [0 ], oai .Reference ):
455
452
return _property_from_ref (name = name , required = required , parent = data , data = sub_data [0 ], schemas = schemas )
456
453
0 commit comments