From 90fefb0a8cc5dc793d40608e2d6a2398acecef12 Mon Sep 17 00:00:00 2001 From: yobmod Date: Mon, 3 May 2021 17:49:36 +0100 Subject: add overloads to to_progress_instance() --- git/remote.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'git') 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(). """ -- cgit v1.2.1