diff options
Diffstat (limited to 'git/remote.py')
-rw-r--r-- | git/remote.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/git/remote.py b/git/remote.py index d73da7d4..0071b923 100644 --- a/git/remote.py +++ b/git/remote.py @@ -36,7 +36,7 @@ from .refs import ( # typing------------------------------------------------------- -from typing import Any, Callable, Optional, TYPE_CHECKING, Union +from typing import Any, Callable, Optional, TYPE_CHECKING, Union, overload from git.types import PathLike, Literal @@ -71,7 +71,23 @@ def add_progress(kwargs: Any, git: Git, progress: Optional[Callable[..., Any]]) #} END utilities -def to_progress_instance(progress: Callable[..., Any]) -> Union[RemoteProgress, CallableRemoteProgress]: +@overload +def to_progress_instance(progress: None) -> RemoteProgress: + ... + + +@overload +def to_progress_instance(progress: Callable[..., Any]) -> CallableRemoteProgress: + ... + + +@overload +def to_progress_instance(progress: RemoteProgress) -> RemoteProgress: + ... + + +def to_progress_instance(progress: Union[Callable[..., Any], RemoteProgress, None] + ) -> Union[RemoteProgress, CallableRemoteProgress]: """Given the 'progress' return a suitable object derived from RemoteProgress(). """ |