Skip to content

Commit 9442d34

Browse files
authored
Add type hints for set commands (#1918)
* add type hint for set commands * switch to List
1 parent ee078bf commit 9442d34

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

redis/commands/core.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2393,23 +2393,23 @@ class SetCommands:
23932393
see: https://redis.io/topics/data-types#sets
23942394
"""
23952395

2396-
def sadd(self, name, *values):
2396+
def sadd(self, name: str, *values: List) -> int:
23972397
"""
23982398
Add ``value(s)`` to set ``name``
23992399
24002400
For more information check https://redis.io/commands/sadd
24012401
"""
24022402
return self.execute_command("SADD", name, *values)
24032403

2404-
def scard(self, name):
2404+
def scard(self, name: str) -> int:
24052405
"""
24062406
Return the number of elements in set ``name``
24072407
24082408
For more information check https://redis.io/commands/scard
24092409
"""
24102410
return self.execute_command("SCARD", name)
24112411

2412-
def sdiff(self, keys, *args):
2412+
def sdiff(self, keys: List, *args: List) -> List:
24132413
"""
24142414
Return the difference of sets specified by ``keys``
24152415
@@ -2418,7 +2418,7 @@ def sdiff(self, keys, *args):
24182418
args = list_or_args(keys, args)
24192419
return self.execute_command("SDIFF", *args)
24202420

2421-
def sdiffstore(self, dest, keys, *args):
2421+
def sdiffstore(self, dest: str, keys: List, *args: List) -> int:
24222422
"""
24232423
Store the difference of sets specified by ``keys`` into a new
24242424
set named ``dest``. Returns the number of keys in the new set.
@@ -2428,7 +2428,7 @@ def sdiffstore(self, dest, keys, *args):
24282428
args = list_or_args(keys, args)
24292429
return self.execute_command("SDIFFSTORE", dest, *args)
24302430

2431-
def sinter(self, keys, *args):
2431+
def sinter(self, keys: List, *args: List) -> List:
24322432
"""
24332433
Return the intersection of sets specified by ``keys``
24342434
@@ -2450,7 +2450,7 @@ def sintercard(self, numkeys: int, keys: List[str], limit: int = 0) -> int:
24502450
args = [numkeys, *keys, "LIMIT", limit]
24512451
return self.execute_command("SINTERCARD", *args)
24522452

2453-
def sinterstore(self, dest, keys, *args):
2453+
def sinterstore(self, dest: str, keys: List, *args: List) -> int:
24542454
"""
24552455
Store the intersection of sets specified by ``keys`` into a new
24562456
set named ``dest``. Returns the number of keys in the new set.
@@ -2460,23 +2460,23 @@ def sinterstore(self, dest, keys, *args):
24602460
args = list_or_args(keys, args)
24612461
return self.execute_command("SINTERSTORE", dest, *args)
24622462

2463-
def sismember(self, name, value):
2463+
def sismember(self, name: str, value: str) -> bool:
24642464
"""
24652465
Return a boolean indicating if ``value`` is a member of set ``name``
24662466
24672467
For more information check https://redis.io/commands/sismember
24682468
"""
24692469
return self.execute_command("SISMEMBER", name, value)
24702470

2471-
def smembers(self, name):
2471+
def smembers(self, name: str) -> List:
24722472
"""
24732473
Return all members of the set ``name``
24742474
24752475
For more information check https://redis.io/commands/smembers
24762476
"""
24772477
return self.execute_command("SMEMBERS", name)
24782478

2479-
def smismember(self, name, values, *args):
2479+
def smismember(self, name: str, values: List, *args: List) -> List[bool]:
24802480
"""
24812481
Return whether each value in ``values`` is a member of the set ``name``
24822482
as a list of ``bool`` in the order of ``values``
@@ -2486,15 +2486,15 @@ def smismember(self, name, values, *args):
24862486
args = list_or_args(values, args)
24872487
return self.execute_command("SMISMEMBER", name, *args)
24882488

2489-
def smove(self, src, dst, value):
2489+
def smove(self, src: str, dst: str, value: str) -> bool:
24902490
"""
24912491
Move ``value`` from set ``src`` to set ``dst`` atomically
24922492
24932493
For more information check https://redis.io/commands/smove
24942494
"""
24952495
return self.execute_command("SMOVE", src, dst, value)
24962496

2497-
def spop(self, name, count=None):
2497+
def spop(self, name: str, count: Optional[int] = None) -> Union[str, List, None]:
24982498
"""
24992499
Remove and return a random member of set ``name``
25002500
@@ -2503,7 +2503,11 @@ def spop(self, name, count=None):
25032503
args = (count is not None) and [count] or []
25042504
return self.execute_command("SPOP", name, *args)
25052505

2506-
def srandmember(self, name, number=None):
2506+
def srandmember(
2507+
self,
2508+
name: str,
2509+
number: Optional[int] = None,
2510+
) -> Union[str, List, None]:
25072511
"""
25082512
If ``number`` is None, returns a random member of set ``name``.
25092513
@@ -2516,15 +2520,15 @@ def srandmember(self, name, number=None):
25162520
args = (number is not None) and [number] or []
25172521
return self.execute_command("SRANDMEMBER", name, *args)
25182522

2519-
def srem(self, name, *values):
2523+
def srem(self, name: str, *values: List) -> int:
25202524
"""
25212525
Remove ``values`` from set ``name``
25222526
25232527
For more information check https://redis.io/commands/srem
25242528
"""
25252529
return self.execute_command("SREM", name, *values)
25262530

2527-
def sunion(self, keys, *args):
2531+
def sunion(self, keys: List, *args: List) -> List:
25282532
"""
25292533
Return the union of sets specified by ``keys``
25302534
@@ -2533,7 +2537,7 @@ def sunion(self, keys, *args):
25332537
args = list_or_args(keys, args)
25342538
return self.execute_command("SUNION", *args)
25352539

2536-
def sunionstore(self, dest, keys, *args):
2540+
def sunionstore(self, dest: str, keys: List, *args: List) -> int:
25372541
"""
25382542
Store the union of sets specified by ``keys`` into a new
25392543
set named ``dest``. Returns the number of keys in the new set.

0 commit comments

Comments
 (0)