eligius
    Preparing search index...

    Class Eventbus

    Central event bus for pub/sub communication and synchronous request/response queries.

    The eventbus supports:

    • Pub/Sub: on(), once(), off(), broadcast(), broadcastForTopic()
    • Request/Response: onRequest(), request(), requestForTopic() for synchronous queries
    • Interceptors: Transform event arguments before handlers receive them
    • Listeners: Global event observers for logging/debugging
    const remover = eventbus.on('timeline-play', () => console.log('Playing'));
    eventbus.broadcast('timeline-play', []);
    remover(); // Unsubscribe
    eventbus.onRequest('request-instance', (name) => new MyClass(name));
    const instance = eventbus.request<MyClass>('request-instance', 'test');

    Implements

    Index

    Constructors

    Methods

    • Parameters

      • eventName: string
      • eventTopic: string | undefined
      • args: any = []

      Returns void

    • Register a responder for synchronous request/response queries. Only the first registered responder for an event will be called.

      Type Parameters

      • T

      Parameters

      • eventName: string

        The request event name

      • responder: TRequestResponder<T>

        Function that returns the response value

      • OptionaleventTopic: string

        Optional topic for topic-specific responders

      Returns TEventbusRemover

      Function to unregister the responder

    • Send a synchronous request and get an immediate response. Returns undefined if no responder is registered.

      Type Parameters

      • T

      Parameters

      • eventName: string

        The request event name

      • ...args: unknown[]

        Arguments to pass to the responder

      Returns T | undefined

      The response value, or undefined if no responder

    • Send a synchronous request for a specific topic. Returns undefined if no responder is registered for that topic.

      Type Parameters

      • T

      Parameters

      • eventName: string

        The request event name

      • eventTopic: string

        The topic to target

      • ...args: unknown[]

        Arguments to pass to the responder

      Returns T | undefined

      The response value, or undefined if no responder