@ribeirolabs/events
Version:
Type safe listener for custom/native events and dispatcher for custom events
10 lines • 725 B
TypeScript
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