UNPKG

@reatom/web

Version:
9 lines 1 kB
import { Ctx, Fn, Unsubscribe } from '@reatom/core'; export type EventOfTarget<Target extends EventTarget, Type extends string> = Target extends Record<`on${Type}`, infer Cb> ? Parameters<Cb>[0] : Target extends Record<'onEvent', (type: Type, cb: infer Cb) => any> ? Parameters<Cb>[0] : never; export declare const onEvent: { <Target extends EventTarget, Type extends Target extends Record<`on${infer Type}`, Fn> ? Type : string>(ctx: Ctx, target: Target, type: Type): Promise<EventOfTarget<Target, Type>>; <Event>(ctx: Ctx, target: EventTarget, type: string): Promise<Event>; <Target extends EventTarget, Type extends Target extends Record<`on${infer Type}`, Fn> ? Type : string>(ctx: Ctx, target: Target, type: Type, cb: (value: EventOfTarget<Target, Type>) => any, options?: AddEventListenerOptions): Unsubscribe; <Event>(ctx: Ctx, target: EventTarget, type: string, cb: (value: Event) => any, options?: AddEventListenerOptions): Unsubscribe; }; //# sourceMappingURL=event.d.ts.map