diff options
Diffstat (limited to 'redis/typing.py')
-rw-r--r-- | redis/typing.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/redis/typing.py b/redis/typing.py index 73ae411..6748612 100644 --- a/redis/typing.py +++ b/redis/typing.py @@ -1,13 +1,14 @@ # from __future__ import annotations from datetime import datetime, timedelta -from typing import TYPE_CHECKING, Iterable, TypeVar, Union +from typing import TYPE_CHECKING, Any, Awaitable, Iterable, TypeVar, Union from redis.compat import Protocol if TYPE_CHECKING: from redis.asyncio.connection import ConnectionPool as AsyncConnectionPool - from redis.connection import ConnectionPool + from redis.asyncio.connection import Encoder as AsyncEncoder + from redis.connection import ConnectionPool, Encoder EncodedT = Union[bytes, memoryview] @@ -43,3 +44,10 @@ class CommandsProtocol(Protocol): def execute_command(self, *args, **options): ... + + +class ClusterCommandsProtocol(CommandsProtocol): + encoder: Union["AsyncEncoder", "Encoder"] + + def execute_command(self, *args, **options) -> Union[Any, Awaitable]: + ... |