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.
Type Parameters
Section titled “Type Parameters”TDomain
Section titled “TDomain”TDomain extends string = string
TName extends string = string
TRequest
Section titled “TRequest”TRequest extends ZodTypeAny = ZodTypeAny
TResponse
Section titled “TResponse”TResponse extends ZodTypeAny = ZodTypeAny
Properties
Section titled “Properties”_domain
Section titled “_domain”_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
Section titled “exchange”exchange:
string
Defined in: packages/hoppity/src/contracts/types.ts:95
The RPC exchange name: {domain}_rpc
publicationName
Section titled “publicationName”publicationName:
string
Defined in: packages/hoppity/src/contracts/types.ts:99
The rascal publication name: {domain}rpc{snake_name}
requestSchema
Section titled “requestSchema”requestSchema:
TRequest
Defined in: packages/hoppity/src/contracts/types.ts:92
responseSchema
Section titled “responseSchema”responseSchema:
TResponse
Defined in: packages/hoppity/src/contracts/types.ts:93
routingKey
Section titled “routingKey”routingKey:
string
Defined in: packages/hoppity/src/contracts/types.ts:97
The topic routing key: {domain}.rpc.{snake_name}
subscriptionName
Section titled “subscriptionName”subscriptionName:
string
Defined in: packages/hoppity/src/contracts/types.ts:101
The rascal subscription name: {domain}rpc{snake_name}