UNPKG

typed-event-target

Version:

EventTarget in the browser but with strong event typing.

15 lines (14 loc) 477 B
/** * Extract all event type string types from a union of events. * * @category Internal */ export type ExtractEventTypes<EventsUnion extends Readonly<Event>> = EventsUnion['type']; /** * Extract an event type from a union based on the event type string. * * @category Internal */ export type ExtractEventByType<EventsUnion extends Readonly<Event>, EventType extends ExtractEventTypes<EventsUnion>> = EventsUnion extends { type: EventType; } ? EventsUnion : never;