Skip to content

Commit 97269a7

Browse files
committed
Update event_emitter.py
1 parent 6ea5452 commit 97269a7

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

livekit-rtc/livekit/rtc/event_emitter.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33

44
from .log import logger
55

6-
T = TypeVar("T")
6+
T_contra = TypeVar("T_contra", contravariant=True)
77

88

9-
class EventEmitter(Generic[T]):
9+
class EventEmitter(Generic[T_contra]):
1010
def __init__(self) -> None:
1111
"""
1212
Initialize a new instance of EventEmitter.
1313
"""
14-
self._events: Dict[T, Set[Callable]] = dict()
14+
self._events: Dict[T_contra, Set[Callable]] = dict()
1515

16-
def emit(self, event: T, *args) -> None:
16+
def emit(self, event: T_contra, *args) -> None:
1717
"""
1818
Trigger all callbacks associated with the given event.
1919
@@ -60,7 +60,7 @@ def greet(name):
6060
except Exception:
6161
logger.exception(f"failed to emit event {event}")
6262

63-
def once(self, event: T, callback: Optional[Callable] = None) -> Callable:
63+
def once(self, event: T_contra, callback: Optional[Callable] = None) -> Callable:
6464
"""
6565
Register a callback to be called only once when the event is emitted.
6666
@@ -116,7 +116,7 @@ def decorator(callback: Callable) -> Callable:
116116

117117
return decorator
118118

119-
def on(self, event: T, callback: Optional[Callable] = None) -> Callable:
119+
def on(self, event: T_contra, callback: Optional[Callable] = None) -> Callable:
120120
"""
121121
Register a callback to be called whenever the event is emitted.
122122
@@ -168,7 +168,7 @@ def decorator(callback: Callable) -> Callable:
168168

169169
return decorator
170170

171-
def off(self, event: T, callback: Callable) -> None:
171+
def off(self, event: T_contra, callback: Callable) -> None:
172172
"""
173173
Unregister a callback from an event.
174174

0 commit comments

Comments
 (0)