Preparing search index...

    A type-safe event emitter that supports adding, removing, and triggering listeners. Provides functionality for one-time listeners, error handling, and event enabling/disabling.

    // Event without data
    const onComplete = new Event<void>();
    onComplete.add(() => console.log('Complete!'));
    onComplete.trigger();
    // Event with data
    const onMessage = new Event<string>();
    onMessage.add((msg) => console.log('Message:', msg));
    onMessage.trigger('Hello World');
    // One-time listener with unsubscribe
    const onClick = new Event<{x: number, y: number}>();
    const unsubscribe = onClick.addOnce((pos) => console.log('Clicked at', pos));
    // unsubscribe(); // Can manually unsubscribe before first trigger

    Type Parameters

    • T = void

      The type of data passed to event listeners. Defaults to void for events without data.

    Index

    Constructors

    • Creates a new Event instance.

      Type Parameters

      • T = void

      Parameters

      • OptionalonError: (error: unknown) => void

        Optional error handler for exceptions thrown by listeners. If not provided, errors are logged to the console.

      Returns Event<T>

    Properties

    enabled: any
    listeners: any
    logError: any
    onceListeners: any
    onError: any
    safeInvoke: any

    Methods

    • Adds a listener function to the list of listeners for this event.

      Parameters

      • listener: EventListener<T>

        The listener function that processes the event.

      Returns Unsubscribe

      A function that removes the listener when called.

    • Adds a listener function that will be removed after its first invocation.

      Parameters

      Returns Unsubscribe

      A function that removes the listener when called (useful for canceling before first trigger).

    • Removes all listeners and once listeners for this event.

      Returns void

    • Disables triggering of the event.

      Returns void

    • Enables triggering of the event.

      Returns void

    • Returns true if there are any listeners attached.

      Returns boolean

      true if at least one listener is attached, false otherwise.

    • Returns true if the event is enabled.

      Returns boolean

      true if the event can be triggered, false if disabled.

    • Returns the number of attached listeners.

      Returns number

      The total count of regular and one-time listeners.

    • Removes a specific listener from the list of listeners for this event.

      Parameters

      Returns void

    • Triggers the event, calling all registered listeners in the order they were added. Errors in listeners do not prevent subsequent listeners from being called.

      Parameters

      • ...args: T extends void ? [] : [data: T]

      Returns void

      // For Event<void>
      event.trigger();
      // For Event<string>
      event.trigger("Hello");