UNPKG

@ribeirolabs/events

Version:

Type safe listener for custom/native events and dispatcher for custom events

10 lines 725 B
declare global { interface CustomEvents { } } export declare type EventName = keyof CustomEvents | keyof WindowEventMap; export declare type EventHandler<E extends string> = (event: E extends keyof CustomEvents ? CustomEvent<CustomEvents[E]> : E extends keyof WindowEventMap ? WindowEventMap[E] : Event) => void; export declare function listenEvent<E extends string>(event: EventName | E, handler: EventHandler<E>): () => void; export declare function unlistenEvent<E extends string>(event: EventName | E, handler: EventHandler<E>): void; export declare function dispatchCustomEvent<E extends keyof CustomEvents>(event: E, detail: CustomEventInit<CustomEvents[E]>["detail"]): void; //# sourceMappingURL=index.d.ts.map