mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 03:31:50 +02:00
fix: allow sets in generated form types
This commit is contained in:
@ -64,12 +64,12 @@ class FormItemSpec(BaseModel):
|
|||||||
if isinstance(v, (type, UnionType)):
|
if isinstance(v, (type, UnionType)):
|
||||||
return v
|
return v
|
||||||
if isinstance(v, GenericAlias):
|
if isinstance(v, GenericAlias):
|
||||||
if v.__origin__ in [list, dict] and all(
|
if v.__origin__ in [list, dict, set] and all(
|
||||||
arg in allowed_primitives for arg in v.__args__
|
arg in allowed_primitives for arg in v.__args__
|
||||||
):
|
):
|
||||||
return v
|
return v
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"Generics of type {v} are not supported - only lists and dicts of primitive types {allowed_primitives}"
|
f"Generics of type {v} are not supported - only lists, dicts and sets of primitive types {allowed_primitives}"
|
||||||
)
|
)
|
||||||
if type(v) is type(Literal[""]): # _LiteralGenericAlias is not exported from typing
|
if type(v) is type(Literal[""]): # _LiteralGenericAlias is not exported from typing
|
||||||
arg_types = set(type(arg) for arg in v.__args__)
|
arg_types = set(type(arg) for arg in v.__args__)
|
||||||
|
Reference in New Issue
Block a user