diff --git a/typer/main.py b/typer/main.py index f7d634d8bc..298a58222a 100644 --- a/typer/main.py +++ b/typer/main.py @@ -705,9 +705,9 @@ def get_click_type( elif parameter_info.parser is not None: return click.types.FuncParamType(parameter_info.parser) - elif annotation == str: + elif isinstance(annotation, str): return click.STRING - elif annotation == int: + elif isinstance(annotation, int): if parameter_info.min is not None or parameter_info.max is not None: min_ = None max_ = None @@ -718,7 +718,7 @@ def get_click_type( return click.IntRange(min=min_, max=max_, clamp=parameter_info.clamp) else: return click.INT - elif annotation == float: + elif isinstance(annotation, float): if parameter_info.min is not None or parameter_info.max is not None: return click.FloatRange( min=parameter_info.min, @@ -727,7 +727,7 @@ def get_click_type( ) else: return click.FLOAT - elif annotation == bool: + elif isinstance(annotation, bool): return click.BOOL elif annotation == UUID: return click.UUID