Fix Literal inside Optional not showing choices #98

Merged
Chiggy-Playz merged 2 commits from Optional-Literal into 2.0 2021-10-27 13:00:21 +00:00

View File

@ -1242,9 +1242,10 @@ class Command(_BaseCommand, Generic[CogT, P, T]):
annotation = str
origin = None
if not required and origin is not None and len(annotation.__args__) == 2:
if not required and origin is Union and annotation.__args__[-1] is type(None):
# Unpack Optional[T] (Union[T, None]) into just T
annotation, origin = annotation.__args__[0], None
annotation = annotation.__args__[0]
origin = getattr(annotation, "__origin__", None)
option: Dict[str, Any] = {
"type": 3,