UNPKG

@deephaven/golden-layout

Version:

A multi-screen javascript Layout manager

30 lines 1.85 kB
import EventEmitter from './EventEmitter'; type AsArray<P> = P extends unknown[] ? P : [P]; export type EventHandlerFunction<P = []> = (...parameters: AsArray<P>) => void; export type EventListenerRemover = () => void; export type EventListenFunction<TParameters = []> = (eventEmitter: EventEmitter, handler: EventHandlerFunction<TParameters>) => EventListenerRemover; export type EventEmitFunction<TParameters = []> = (eventEmitter: EventEmitter, ...parameters: AsArray<TParameters>) => void; export type EventListenerHook<TParameters = []> = (eventEmitter: EventEmitter | null | undefined, handler: EventHandlerFunction<TParameters>) => void; /** * Listen for an event * @param eventEmitter The event emitter to listen to * @param event The event to listen for * @param handler The handler to call when the event is emitted * @returns A function to stop listening for the event */ export declare function listenForEvent<TParameters = []>(eventEmitter: EventEmitter, event: string, handler: EventHandlerFunction<TParameters>): EventListenerRemover; export declare function makeListenFunction<TParameters = []>(event: string): EventListenFunction<TParameters>; export declare function makeEmitFunction<TParameters = []>(event: string): EventEmitFunction<TParameters>; export declare function makeUseListenerFunction<TParameters = []>(event: string): EventListenerHook<TParameters>; /** * Create listener, emitter, and hook functions for an event * @param event Name of the event to create functions for * @returns Listener, Emitter, and Hook functions for the event */ export declare function makeEventFunctions<TParameters = []>(event: string): { listen: EventListenFunction<TParameters>; emit: EventEmitFunction<TParameters>; useListener: EventListenerHook<TParameters>; }; export {}; //# sourceMappingURL=EventUtils.d.ts.map