/** * Internal implementation details for the `Event` module. */ import type Event from '../Event' import type EventTarget from '../EventTarget' export const COMPOSED_PATH_KEY: unique symbol = Symbol('composedPath') export const CURRENT_TARGET_KEY: unique symbol = Symbol('currentTarget') export const EVENT_PHASE_KEY: unique symbol = Symbol('eventPhase') export const IN_PASSIVE_LISTENER_FLAG_KEY: unique symbol = Symbol('inPassiveListenerFlag') export const IS_TRUSTED_KEY: unique symbol = Symbol('isTrusted') export const STOP_IMMEDIATE_PROPAGATION_FLAG_KEY: unique symbol = Symbol('stopPropagationFlag') export const STOP_PROPAGATION_FLAG_KEY: unique symbol = Symbol('stopPropagationFlag') export const TARGET_KEY: unique symbol = Symbol('target') export function getCurrentTarget(event: Event): EventTarget | null { // @ts-expect-error index on symbol return event[CURRENT_TARGET_KEY] } export function setCurrentTarget(event: Event, currentTarget: EventTarget | null): void { // @ts-expect-error index on symbol event[CURRENT_TARGET_KEY] = currentTarget } export function getComposedPath(event: Event): ReadonlyArray { // @ts-expect-error index on symbol return event[COMPOSED_PATH_KEY] } export function setComposedPath(event: Event, composedPath: ReadonlyArray): void { // @ts-expect-error index on symbol event[COMPOSED_PATH_KEY] = composedPath } export function getEventPhase(event: Event): import('../Event').EventPhase { // @ts-expect-error index on symbol return event[EVENT_PHASE_KEY] } export function setEventPhase(event: Event, eventPhase: import('../Event').EventPhase): void { // @ts-expect-error index on symbol event[EVENT_PHASE_KEY] = eventPhase } export function getInPassiveListenerFlag(event: Event): boolean { // @ts-expect-error index on symbol return event[IN_PASSIVE_LISTENER_FLAG_KEY] } export function setInPassiveListenerFlag(event: Event, value: boolean): void { // @ts-expect-error index on symbol event[IN_PASSIVE_LISTENER_FLAG_KEY] = value } export function getIsTrusted(event: Event): boolean { // @ts-expect-error index on symbol return event[IS_TRUSTED_KEY] } export function setIsTrusted(event: Event, isTrusted: boolean): void { // @ts-expect-error index on symbol event[IS_TRUSTED_KEY] = isTrusted } export function getStopImmediatePropagationFlag(event: Event): boolean { // @ts-expect-error index on symbol return event[STOP_IMMEDIATE_PROPAGATION_FLAG_KEY] } export function setStopImmediatePropagationFlag(event: Event, value: boolean): void { // @ts-expect-error index on symbol event[STOP_IMMEDIATE_PROPAGATION_FLAG_KEY] = value } export function getStopPropagationFlag(event: Event): boolean { // @ts-expect-error index on symbol return event[STOP_PROPAGATION_FLAG_KEY] } export function setStopPropagationFlag(event: Event, value: boolean): void { // @ts-expect-error index on symbol event[STOP_PROPAGATION_FLAG_KEY] = value } export function getTarget(event: Event): EventTarget | null { // @ts-expect-error index on symbol return event[TARGET_KEY] } export function setTarget(event: Event, target: EventTarget | null): void { // @ts-expect-error index on symbol event[TARGET_KEY] = target }