Skip to content

EventContract

Defined in: packages/hoppity/src/contracts/types.ts:23

A contract describing a domain event — something that happened.

TDomain: the domain name literal (e.g. “orders”) TName: the operation name literal (e.g. “orderCreated”) TSchema: the zod schema for the event payload

TDomain extends string = string

TName extends string = string

TSchema extends ZodTypeAny = ZodTypeAny

_domain: TDomain

Defined in: packages/hoppity/src/contracts/types.ts:29


_name: TName

Defined in: packages/hoppity/src/contracts/types.ts:30


_type: "event"

Defined in: packages/hoppity/src/contracts/types.ts:28


optional delay: DelayConfig

Defined in: packages/hoppity/src/contracts/types.ts:44

Delayed delivery configuration. Present only when the contract was declared with delay: true or delay: { default: N } in defineDomain.


exchange: string

Defined in: packages/hoppity/src/contracts/types.ts:33

The RabbitMQ exchange name for this domain’s events and commands


publicationName: string

Defined in: packages/hoppity/src/contracts/types.ts:37

The rascal publication name: {domain}event{snake_name}


routingKey: string

Defined in: packages/hoppity/src/contracts/types.ts:35

The topic routing key: {domain}.event.{snake_name}


schema: TSchema

Defined in: packages/hoppity/src/contracts/types.ts:31


subscriptionName: string

Defined in: packages/hoppity/src/contracts/types.ts:39

The rascal subscription name: {domain}event{snake_name}