Minimum requirements that the object needs to have so that it can bind to the events instead of function this is "addEventListener" and "removeEventListener" - see isListenerObject

interface TargetWithEvents {
    __ot_listeners?: { [name: string]: WeakMap<Func<void>, Func<void>> };
    addEventListener(
        event: string,
        listener: (...args: unknown[]) => void,
        opts?: { once: boolean },
    ): unknown;
    removeEventListener(
        event: string,
        listener: (...args: unknown[]) => void,
        opts?: { once: boolean },
    ): unknown;
}

Properties

__ot_listeners?: { [name: string]: WeakMap<Func<void>, Func<void>> }

Methods

  • Parameters

    • event: string
    • listener: (...args: unknown[]) => void
    • Optionalopts: { once: boolean }

    Returns unknown

  • Parameters

    • event: string
    • listener: (...args: unknown[]) => void
    • Optionalopts: { once: boolean }

    Returns unknown