PURISTA API / @purista/core / EventBridge
Interface: EventBridge
Defined in: core/EventBridge/types/EventBridge.ts:21
Event bridge interface The event bridge must implement this interface.
Properties
defaultCommandTimeout
readonlydefaultCommandTimeout:number
Defined in: core/EventBridge/types/EventBridge.ts:28
The default time until when a command invocation automatically returns a time out error
instanceId
readonlyinstanceId:string
Defined in: core/EventBridge/types/EventBridge.ts:24
name
readonlyname:string
Defined in: core/EventBridge/types/EventBridge.ts:22
Methods
destroy()
destroy():
Promise<void>
Defined in: core/EventBridge/types/EventBridge.ts:123
Shut down event bridge as gracefully as possible
Returns
Promise<void>
emitMessage()
emitMessage(
message):Promise<Readonly<EBMessage>>
Defined in: core/EventBridge/types/EventBridge.ts:39
Emit a message to the eventbridge without awaiting a result
Parameters
message
Omit<EBMessage, "id" | "timestamp" | "correlationId">
the message
Returns
Promise<Readonly<EBMessage>>
invoke()
invoke<
T>(input,ttl?):Promise<T>
Defined in: core/EventBridge/types/EventBridge.ts:46
Call a command of a service and return the result of this command
Type Parameters
T
T
Parameters
input
Omit<Command, "id" | "messageType" | "timestamp" | "correlationId">
a partial command message
ttl?
number
the time to live (timeout) of the invocation
Returns
Promise<T>
isHealthy()
isHealthy():
Promise<boolean>
Defined in: core/EventBridge/types/EventBridge.ts:118
Indicates if the eventbridge is running and works correctly
Returns
Promise<boolean>
isReady()
isReady():
Promise<boolean>
Defined in: core/EventBridge/types/EventBridge.ts:113
Indicates if the eventbridge has been started and is connected to underlaying message broker
Returns
Promise<boolean>
openStream()
openStream<
Chunk,Final>(input,ttl?):Promise<StreamHandle<Chunk,Final>>
Defined in: core/EventBridge/types/EventBridge.ts:52
Open a stream invocation. The returned handle can be consumed via async iteration and can be cancelled by caller.
Type Parameters
Chunk
Chunk = unknown
Final
Final = unknown
Parameters
input
Omit<StreamOpenRequest, "id" | "messageType" | "timestamp" | "correlationId">
ttl?
number
Returns
Promise<StreamHandle<Chunk, Final>>
registerCommand()
registerCommand(
address,cb,metadata,eventBridgeConfig):Promise<string>
Defined in: core/EventBridge/types/EventBridge.ts:62
Parameters
address
the address of the service command (service name, version and command name)
cb
(message) => Promise<Readonly<Omit<{ contentEncoding: "utf-8"; contentType: "application/json"; correlationId: string; eventName?: string; id: string; isHandledError: boolean; messageType: CommandErrorResponse; otp?: string; payload: { data?: unknown; message: string; status: StatusCode; }; principalId?: string; receiver: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; sender: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; tenantId?: string; timestamp: number; traceId?: string; }, "instanceId">> | Readonly<Omit<{ contentEncoding: string; contentType: string; correlationId: string; eventName?: string; id: string; messageType: CommandSuccessResponse; otp?: string; payload: unknown; principalId?: string; receiver: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; sender: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; tenantId?: string; timestamp: number; traceId?: string; }, "instanceId">>>
the function to be called if a matching command arrives
metadata
eventBridgeConfig
Returns
Promise<string>
registerStream()
registerStream(
address,cb,metadata,eventBridgeConfig):Promise<string>
Defined in: core/EventBridge/types/EventBridge.ts:76
Register a service stream.
Parameters
address
cb
(message) => Promise<void>
metadata
eventBridgeConfig
Returns
Promise<string>
registerSubscription()
registerSubscription(
subscription,cb):Promise<string>
Defined in: core/EventBridge/types/EventBridge.ts:99
Register a new subscription
Parameters
subscription
the subscription definition
cb
(message) => Promise<Omit<{ contentEncoding: string; contentType: string; correlationId?: string; eventName: string; id: string; messageType: CustomMessage; otp?: string; payload?: unknown; principalId?: string; receiver?: EBMessageAddress; sender: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; tenantId?: string; timestamp: number; traceId?: string; }, "id" | "timestamp"> | undefined>
the function to be called if a matching message arrives
Returns
Promise<string>
start()
start():
Promise<void>
Defined in: core/EventBridge/types/EventBridge.ts:33
Start the eventbridge and connect to the underlaying message broker
Returns
Promise<void>
unregisterCommand()
unregisterCommand(
address):Promise<void>
Defined in: core/EventBridge/types/EventBridge.ts:87
Unregister a service command
Parameters
address
The address (service name, version and command name) of the command to be de-registered
Returns
Promise<void>
unregisterStream()
unregisterStream(
address):Promise<void>
Defined in: core/EventBridge/types/EventBridge.ts:92
Unregister a service stream
Parameters
address
Returns
Promise<void>
unregisterSubscription()
unregisterSubscription(
address):Promise<void>
Defined in: core/EventBridge/types/EventBridge.ts:108
Parameters
address
Returns
Promise<void>
