@lightningjs/threadx
Version:
A web browser-based JavaScript library that helps manage the communcation of data between one or more web worker threads.
9 lines (8 loc) • 429 B
TypeScript
export interface IEventEmitter<T extends object = {
[s: string]: (target: any, data: any) => void;
}> {
on<K extends keyof T>(event: Extract<K, string>, listener: T[K]): void;
once<K extends keyof T>(event: Extract<K, string>, listener: T[K]): void;
off<K extends keyof T>(event: Extract<K, string>, listener: T[K]): void;
emit<K extends keyof T>(event: Extract<K, string>, data: Parameters<any>[1]): void;
}