UNPKG

@logitao/react

Version:
30 lines (29 loc) 1.14 kB
export declare type Unregister = () => void; export interface SubscriberMap { [key: string]: HandleFunction<any, any>; } export declare type HandleFunction<SendArg, ReceiveArg> = (args?: SendArg) => Promise<ReceiveArg>; declare type EventBusState = 'IDLE' | 'HANDLING' | 'DISPATCHING' | 'REGISTERING' | 'UNREGISTERING'; export interface RegisterConfig { beforeRegister?: (event: string) => void; afterRegister?: (event: string) => void; beforeUnregister?: (event: string) => void; afterUnregister?: (event: string) => void; } declare class QuantumEventBus { private subscribers; private state; send<Send, Receive>(event: string, arg?: Send): Promise<Receive>; on<Send, Receive>(event: string, handle: HandleFunction<Send, Receive>, config?: RegisterConfig): Unregister; get currentState(): [EventBusState, any]; private unregister; private bindHandleToEvent; get listeners(): number; } export declare class NotFoundError extends Error { constructor(event: string); } export declare class AlreadyBoundError extends Error { constructor(event: string); } export default QuantumEventBus;