Skip to content

RpcContract

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

A contract describing a domain RPC operation — a synchronous request/response.

RPC operations get their own exchange ({domain}_rpc) to keep request/reply mechanics separate from pub/sub event routing.

TDomain extends string = string

TName extends string = string

TRequest extends ZodTypeAny = ZodTypeAny

TResponse extends ZodTypeAny = ZodTypeAny

_domain: TDomain

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


_name: TName

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


_type: "rpc"

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


exchange: string

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

The RPC exchange name: {domain}_rpc


publicationName: string

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

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


requestSchema: TRequest

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


responseSchema: TResponse

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


routingKey: string

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

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


subscriptionName: string

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

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