interface IRPCBroker

extends

IBaseBroker<TEvents>AsyncEventEmitter<ToEventMap<TEvents, TResponses>>
export interface IRPCBroker<TEvents extends Record<string, any>, TResponses extends Record<keyof TEvents, any>> extends IBaseBroker<TEvents>, AsyncEventEmitter<ToEventMap<TEvents, TResponses>>

Type Parameters

TEvents extends Record<string, any>

TResponses extends Record<keyof TEvents, any>

call<

Event extends keyof TEvents

>(
event: Event
data: TEvents[Event]
timeoutDuration?: number
) : Promise<TResponses[Event]>

Makes an RPC call

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