feat(events): Add EventEmitter and instrument ai_client.py
This commit is contained in:
14
events.py
Normal file
14
events.py
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
class EventEmitter:
|
||||
def __init__(self):
|
||||
self._listeners = {}
|
||||
|
||||
def on(self, event_name, callback):
|
||||
if event_name not in self._listeners:
|
||||
self._listeners[event_name] = []
|
||||
self._listeners[event_name].append(callback)
|
||||
|
||||
def emit(self, event_name, *args, **kwargs):
|
||||
if event_name in self._listeners:
|
||||
for callback in self._listeners[event_name]:
|
||||
callback(*args, **kwargs)
|
||||
Reference in New Issue
Block a user