🐛 fix union validation error (#1001)

This commit is contained in:
Ju4tCode
2022-05-22 19:42:30 +08:00
committed by GitHub
parent fe43cc92a5
commit 6feed0610b
7 changed files with 144 additions and 24 deletions

View File

@ -62,12 +62,10 @@ def generic_check_issubclass(
except TypeError:
origin = get_origin(cls)
if is_union(origin):
for type_ in get_args(cls):
if not is_none_type(type_) and not generic_check_issubclass(
type_, class_or_tuple
):
return False
return True
return all(
is_none_type(type_) or generic_check_issubclass(type_, class_or_tuple)
for type_ in get_args(cls)
)
elif origin:
return issubclass(origin, class_or_tuple)
return False