UNPKG

cozyevent

Version:

World's fastest, Lightweight Async/Sync Event Emitter, also for React

35 lines (27 loc) 1.2 kB
import * as react from 'react'; import { FC } from 'react'; type Callback<T = unknown> = (args: T) => void; declare class CozyEvent { private _events; on<T>(event: string, callback: Callback<T>): void; once<T>(event: string, callback: Callback<T>): void; off<T>(event: string, callback: Callback<T>): void; emit<T>(event: string, params?: T): void; emitAsync<T>(event: string, params?: T): void; removeAllListeners(event?: string): void; } interface CozyEventProviderProps { instance?: CozyEvent; children: React.ReactNode; id?: string; } interface UseCozyEventOptions { namespace?: string; id?: string; } declare const CozyEventProvider: FC<CozyEventProviderProps>; declare const useCozyEvent: <T = any>(eventName: string, callback: (data: any) => void, options?: UseCozyEventOptions) => CozyEvent; declare const CozyEventContext: react.Context<CozyEvent>; declare const registerCozyEventInstance: (id: string, instance: CozyEvent) => void; declare const getCozyEventInstanceById: (id: string) => CozyEvent | undefined; export { CozyEvent, CozyEventContext, CozyEventProvider, getCozyEventInstanceById, registerCozyEventInstance, useCozyEvent };