Skip to content

Commit ecbf7bd

Browse files
committed
Type _GroupOrGroups, rename _SpriteOrIterable
1 parent fa42eb9 commit ecbf7bd

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

buildconfig/stubs/pygame/sprite.pyi

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ class _SupportsSprite(_HasImageAndRect, Protocol):
6464
def add_internal(self, group: _Group) -> None: ...
6565
def remove_internal(self, group: _Group) -> None: ...
6666
def update(self, *args: Any, **kwargs: Any) -> None: ...
67-
def add(self, *groups: _Group) -> None: ...
68-
def remove(self, *groups: _Group) -> None: ...
67+
def add(self, *groups: _GroupOrGroups[Any]) -> None: ...
68+
def remove(self, *groups: _GroupOrGroups[Any]) -> None: ...
6969
def kill(self) -> None: ...
7070
def alive(self) -> bool: ...
7171
def groups(self) -> list[_Group]: ...
@@ -94,12 +94,12 @@ class Sprite(_SupportsSprite):
9494
def layer(self) -> int: ...
9595
@layer.setter
9696
def layer(self, value: int) -> None: ...
97-
def __init__(self, *groups: _Group) -> None: ...
97+
def __init__(self, *groups: _GroupOrGroups[Any]) -> None: ...
9898
def add_internal(self, group: _Group) -> None: ...
9999
def remove_internal(self, group: _Group) -> None: ...
100100
def update(self, *args: Any, **kwargs: Any) -> None: ...
101-
def add(self, *groups: _Group) -> None: ...
102-
def remove(self, *groups: _Group) -> None: ...
101+
def add(self, *groups: _GroupOrGroups[Any]) -> None: ...
102+
def remove(self, *groups: _GroupOrGroups[Any]) -> None: ...
103103
def kill(self) -> None: ...
104104
def alive(self) -> bool: ...
105105
def groups(self) -> list[AbstractGroup[_SupportsSprite]]: ...
@@ -120,8 +120,8 @@ _TSprite = TypeVar("_TSprite", bound=_SupportsSprite)
120120
_TSprite2 = TypeVar("_TSprite2", bound=_SupportsSprite)
121121
_TDirtySprite = TypeVar("_TDirtySprite", bound=_SupportsDirtySprite)
122122

123-
# typevar for sprite or iterable of sprites, used in Group init, add and remove
124-
_SpriteOrIterable = Union[_TSprite, Iterable[_SpriteOrIterable[_TSprite]]]
123+
_GroupOrGroups = Union[AbstractGroup[_TSprite], Iterable[_GroupOrGroups[_TSprite]]]
124+
_SpriteOrSprites = Union[_TSprite, Iterable[_SpriteOrSprites[_TSprite]]]
125125

126126
class AbstractGroup(Generic[_TSprite]):
127127
spritedict: dict[_TSprite, Optional[Union[FRect, Rect]]]
@@ -137,9 +137,9 @@ class AbstractGroup(Generic[_TSprite]):
137137
def has_internal(self, sprite: _TSprite) -> bool: ...
138138
def copy(self) -> Self: ...
139139
def sprites(self) -> list[_TSprite]: ...
140-
def add(self, *sprites: _SpriteOrIterable[_TSprite]) -> None: ...
141-
def remove(self, *sprites: _SpriteOrIterable[_TSprite]) -> None: ...
142-
def has(self, *sprites: _SpriteOrIterable[_TSprite]) -> bool: ...
140+
def add(self, *sprites: _SpriteOrSprites[_TSprite]) -> None: ...
141+
def remove(self, *sprites: _SpriteOrSprites[_TSprite]) -> None: ...
142+
def has(self, *sprites: _SpriteOrSprites[_TSprite]) -> bool: ...
143143
def update(self, *args: Any, **kwargs: Any) -> None: ...
144144
def draw(
145145
self, surface: Surface, bgd: Optional[Surface] = None, special_flags: int = 0
@@ -152,7 +152,7 @@ class AbstractGroup(Generic[_TSprite]):
152152
def empty(self) -> None: ...
153153

154154
class Group(AbstractGroup[_TSprite]):
155-
def __init__(self, *sprites: _SpriteOrIterable[_TSprite]) -> None: ...
155+
def __init__(self, *sprites: _SpriteOrSprites[_TSprite]) -> None: ...
156156

157157
# these are aliased in the code too
158158
@deprecated("Use `pygame.sprite.Group` instead")
@@ -167,10 +167,8 @@ class RenderUpdates(Group[_TSprite]): ...
167167
class OrderedUpdates(RenderUpdates[_TSprite]): ...
168168

169169
class LayeredUpdates(AbstractGroup[_TSprite]):
170-
def __init__(
171-
self, *sprites: _SpriteOrIterable[_TSprite], **kwargs: Any
172-
) -> None: ...
173-
def add(self, *sprites: _SpriteOrIterable[_TSprite], **kwargs: Any) -> None: ...
170+
def __init__(self, *sprites: _SpriteOrSprites[_TSprite], **kwargs: Any) -> None: ...
171+
def add(self, *sprites: _SpriteOrSprites[_TSprite], **kwargs: Any) -> None: ...
174172
def get_sprites_at(self, pos: Point) -> list[_TSprite]: ...
175173
def get_sprite(self, idx: int) -> _TSprite: ...
176174
def remove_sprites_of_layer(self, layer_nr: int) -> list[_TSprite]: ...

0 commit comments

Comments
 (0)