UNPKG

@miyauci/get-event-listeners

Version:
41 lines (40 loc) 2.08 kB
import type { AddEventListener, ComparableEventListenerLike, DetailEventListener, EventListenerRegistry, EventListeners, RemoveEventListener } from "./types.js"; /** Register {@linkcode listener} if the {@linkcode registry} has not {@linkcode listener}. * If {@linkcode listener} `signal` is passed, add algorithm. * * @see https://dom.spec.whatwg.org/#add-an-event-listener */ export declare function addAnEventListener(target: Readonly<EventTarget>, listener: Readonly<DetailEventListener>, registry: EventListenerRegistry): void; /** Remove {@linkcode listener} from {@linkcode registry}. * @see https://dom.spec.whatwg.org/#remove-an-event-listener */ export declare function removeAnEventListener(target: Readonly<EventTarget>, listener: Readonly<ComparableEventListenerLike>, registry: EventListenerRegistry): void; export declare function getEventListenersWithContext(context: { target: EventTarget; registry: EventListenerRegistry; }): EventListeners; export declare function createAddEventListener(context: { addEventListener: AddEventListener; registry: EventListenerRegistry; }): AddEventListener; export declare function createRemoveEventListener(context: { removeEventListener: RemoveEventListener; registry: EventListenerRegistry; }): RemoveEventListener; export declare function createGetEventListener(registry: EventListenerRegistry): GetEventListeners; /** Setup event listener monitoring. * Performs a side effect and changes the prototype of `EventTarget`. */ export declare function updateEventListener(): GetEventListeners; export interface EventListenerContext { addEventListener: AddEventListener; removeEventListener: RemoveEventListener; getEventListeners: GetEventListeners; } export interface GetEventListeners { (target: EventTarget): EventListeners; } export interface ContextOptions extends Partial<Pick<EventListenerContext, "addEventListener" | "removeEventListener">> { registry?: EventListenerRegistry; } export declare function createContext(options?: ContextOptions): EventListenerContext;