interface IPubSubBroker

extends

IBaseBroker<TEvents>AsyncEventEmitter<ToEventMap<TEvents>>
export interface IPubSubBroker<TEvents extends Record<string, any>> extends IBaseBroker<TEvents>, AsyncEventEmitter<ToEventMap<TEvents>>

Type Parameters

TEvents extends Record<string, any>

publish<

Event extends keyof TEvents

>(
event: Event
data: TEvents[Event]
) : Promise<void>

Publishes an event

subscribe(
group: string
events: (keyof TEvents)[]
) : Promise<void>

Subscribes to the given events, grouping them by the given group name

Inherited from: IBaseBroker

unsubscribe(
group: string
events: (keyof TEvents)[]
) : Promise<void>

Unsubscribes from the given events - it's required to pass the same group name as when subscribing for proper cleanup

Inherited from: IBaseBroker