Replacing Callable[[T], T] with callback protocol in click (#4045)

This commit is contained in:
Mark Mendoza
2020-06-26 07:48:40 -07:00
committed by GitHub
parent 9a16b02187
commit 1d16e6c49e

View File

@@ -1,13 +1,14 @@
from distutils.version import Version
from typing import Any, Callable, Dict, List, Optional, Tuple, Type, TypeVar, Union, Text, overload
from typing import Any, Callable, Dict, List, Optional, Tuple, Type, TypeVar, Union, Text, overload, Protocol
from click.core import Command, Group, Argument, Option, Parameter, Context, _ConvertibleType
_T = TypeVar('_T')
_F = TypeVar('_F', bound=Callable[..., Any])
# Until https://github.com/python/mypy/issues/3924 is fixed you can't do the following:
# _Decorator = Callable[[_F], _F]
class _IdentityFunction(Protocol):
def __call__(self, __x: _T) -> _T: ...
_Callback = Callable[
[Context, Union[Option, Parameter], Any],
@@ -24,7 +25,7 @@ def pass_obj(__f: _T) -> _T:
def make_pass_decorator(
object_type: type, ensure: bool = ...
) -> Callable[[_T], _T]:
) -> _IdentityFunction:
...
@@ -85,7 +86,7 @@ def argument(
is_eager: bool = ...,
envvar: Optional[Union[str, List[str]]] = ...,
autocompletion: Optional[Callable[[Any, List[str], str], List[Union[str, Tuple[str, str]]]]] = ...,
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...
@@ -117,7 +118,7 @@ def option(
envvar: Optional[Union[str, List[str]]] = ...,
# User-defined
**kwargs: Any,
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...
@@ -149,7 +150,7 @@ def option(
envvar: Optional[Union[str, List[str]]] = ...,
# User-defined
**kwargs: Any,
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...
@@ -181,7 +182,7 @@ def option(
envvar: Optional[Union[str, List[str]]] = ...,
# User-defined
**kwargs: Any,
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...
@@ -213,7 +214,7 @@ def option(
envvar: Optional[Union[str, List[str]]] = ...,
# User-defined
**kwargs: Any,
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...
@@ -241,7 +242,7 @@ def confirmation_option(
expose_value: bool = ...,
is_eager: bool = ...,
envvar: Optional[Union[str, List[str]]] = ...
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...
@@ -269,7 +270,7 @@ def password_option(
expose_value: bool = ...,
is_eager: bool = ...,
envvar: Optional[Union[str, List[str]]] = ...
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...
@@ -300,7 +301,7 @@ def version_option(
expose_value: bool = ...,
is_eager: bool = ...,
envvar: Optional[Union[str, List[str]]] = ...
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...
@@ -328,5 +329,5 @@ def help_option(
expose_value: bool = ...,
is_eager: bool = ...,
envvar: Optional[Union[str, List[str]]] = ...
) -> Callable[[_F], _F]:
) -> _IdentityFunction:
...