import Emitter from 'events'; export interface listener { (data: T): void; } export const off = (emitter: Emitter, eventName: string, listener: listener) => { emitter.off(eventName, listener); }; export const emit = (emitter: Emitter, eventName: string, data: T) => { return emitter.emit(eventName, data); }; export const setMaxListeners = (emitter: Emitter, n: number) => { emitter.setMaxListeners(n); }; export const on = (emitter: Emitter, eventName: string, listener: listener) => { emitter.on(eventName, listener); return () => { emitter.off(eventName, listener); }; };