15 lines
450 B
Python
15 lines
450 B
Python
|
|
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)
|