strongbus - v2.11.1
    Preparing search index...

    Class Bus<TEventMap>

    Type Parameters

    Implements

    Index

    Constructors

    Accessors

    • set defaultAllowUnhandledEvents(allow: boolean): void

      Set the default for Bus.options.allowUnhandledEvents for all instances.

      Parameters

      • allow: boolean

      Returns void

    • set verbose(verbose: boolean): void

      Set the default Bus.options.verbose for all instances.

      Parameters

      • verbose: boolean

      Returns void

    • set defaultLogger(logger: Logger): void

      Set the default logger for all instances to an object that implements the Logger interface.

      Parameters

      Returns void

    • get active(): boolean

      The active state of the bus, i.e. does it have any subscribers. Subscribers include delegates and scanners.

      Returns boolean

    • get name(): string

      The bus's name, combining the configured options.name with the constructor name.

      Returns string

    • get hasListeners(): boolean

      Whether the bus has any listeners, including those contributed by delegates.

      Returns boolean

    • get hasOwnListeners(): boolean

      Whether the bus has any listeners registered directly on it (excluding delegates).

      Returns boolean

    • get hasDelegateListeners(): boolean

      Whether any listeners are contributed by delegate buses.

      Returns boolean

    Methods

    • Declare how the bus should handle events emitted that have no listeners. Will be invoked when an instance's options.allowUnhandledEvents = false (default is true). The default implementation is to throw an error.

      Type Parameters

      • T extends string | number | symbol

      Parameters

      Returns void

    • Type Parameters

      • T extends string | number | symbol

      Parameters

      Returns boolean

    • Utility for resolving/rejecting a promise based on the reception of an event. Promise will resolve with event payload, if a single event, or undefined if listening to multiple events.

      Type Parameters

      • T extends string | number | symbol | (keyof TEventMap)[]

      Parameters

      • resolutionTrigger: T

        what event/events should resolve the promise

      • OptionalrejectionTrigger: T extends "*"
            ? never
            : T extends (keyof TEventMap)[]
                ?
                    | Exclude<keyof TEventMap, T[number]>
                    | Exclude<keyof TEventMap, T[number]>[]
                : T extends keyof TEventMap
                    ? Exclude<keyof TEventMap, T>
                    | Exclude<keyof TEventMap, T>[]
                    : never

        what event/events should reject the promise. Must be mutually disjoint with resolvingEvent

      Returns CancelablePromise<T extends keyof TEventMap ? TEventMap[T] : void>

    • Utility for resolving/rejecting a promise based on an evaluation done when an event is triggered. If params.eager=true (default), evaluates condition immedately. If evaluator resolves or rejects in the eager evaluation, the scanner does not subscribe to any events

      Type Parameters

      Parameters

      • params: {
            evaluator: TEvaluator;
            trigger: Listenable<keyof TEventMap>;
            eager?: boolean;
            pool?: boolean;
            timeout?: number;
        }
        • evaluator: TEvaluator

          an evaluation function that should check for a certain state and may resolve or reject the scan based on the state.

        • trigger: Listenable<keyof TEventMap>

          event or events that should trigger evaluator

        • Optionaleager?: boolean

          should params.evaluator be called immediately; default is true. This eliminates the following anti-pattern:

          if(!someCondition) {
          await this.scan({evaluator: evaluateSomeCondition, trigger: ...});
          }
        • Optionalpool?: boolean

          attempt to pool scanners that can be resolved by the same evaluator and trigger; default is true

        • Optionaltimeout?: number

          cancel the scan after params.timeout milliseconds. Values <= 0 are ignored. Currently pooling timeouts is not supported. If params.timeout is configured, it will disable pooling regardless if params.pool=true

      Returns CancelablePromise<TEvaluator extends Evaluator<U, TEventMap> ? U : any>

    • Subscribe to meta changes to the Bus with Lifecycle events

      Type Parameters

      • L extends
            | "error"
            | "active"
            | "idle"
            | "willActivate"
            | "willIdle"
            | "willAddListener"
            | "didAddListener"
            | "willRemoveListener"
            | "didRemoveListener"
            | "willDestroy"

      Parameters

      Returns Subscription

    • Subscribe to meta states of the Bus, idle and active. Bus becomes idle when it goes from 1 to 0 subscribers, and active when it goes from 0 to 1. The handler receives a boolean indicating if the bus is active (true) or idle (false)

      Parameters

      • handler: (activeState: boolean) => void

      Returns Subscription

    • Remove all event subscribers, lifecycle subscribers, and delegates. Triggers lifecycle meta events for all subscribed events before removing lifecycle subscribers, emitting Lifecycle.willDestroy during teardown.

      Returns void