interface IPubSubBroker

extends

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

Type Parameters

TEvents extends Record<string, any>

publish<

T extends keyof TEvents

>(
event: T
data: TEvents[T]
) : 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