UNPKG

@orca-fe/hooks

Version:

React Hooks Collections

14 lines (13 loc) 765 B
type Callback = (...args: any[]) => void; type KeyFunctions = Record<string, Callback>; export interface IEventEmitter<T extends KeyFunctions> { emit<EventName extends keyof T>(eventName: EventName, ...args: Parameters<T[EventName]>): void; useSubscription<EventName extends keyof T>(eventName: EventName, callback: T[EventName]): void; } export declare class EventEmitterWithHook<T extends KeyFunctions> implements IEventEmitter<T> { private readonly eventEmitter; emit: <EventName extends keyof T>(eventName: EventName, ...args: any[]) => void; useSubscription: <EventName extends keyof T>(eventName: EventName, callback: T[EventName]) => void; } export default function useEventEmitter<T extends KeyFunctions>(): IEventEmitter<T>; export {};