Referencia de @styx/bus generada de su TSDoc.
packages/bus/package.jsonPágina generada desde
el TSDoc de @styx/bus. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere.
Quien pide por el bus (el adapter de un servicio depende de esto, no de NATS).
close():
Promise<void>
Drena y cierra la conexión NATS.
Promise<void>
emit<
C>(contract,msg):BusResult<void>
evt por NATS core (observaciones latest-wins; sin persistencia ni ack).
C extends IContract<"evt", TSchema, TSchema | undefined>
C
RequestOf<C>
BusResult<void>
emitAcked<
C>(contract,msg):Promise<BusResult<number>>
evt a un stream JetStream con confirmación (el servicio es dueño del
stream); devuelve el seq. Un payload fuera de contrato no sale:
BUS_INVALID_REQUEST.
C extends IContract<"evt", TSchema, TSchema | undefined>
C
RequestOf<C>
Promise<BusResult<number>>
isConnected():
boolean
Conexión establecida (falso durante una reconexión o tras cerrar): readiness.
boolean
request<
C>(contract,msg,opts?):Promise<BusResult<ReplyOf<C>>>
cmd/qry con respuesta verificada; los fallos del bus son BUS_*.
C extends IContract<"cmd" | "qry", TSchema, TSchema | undefined>
C
RequestOf<C>
IBusRequestOptions
Promise<BusResult<ReplyOf<C>>>
serve(
handlers):void
Registra y sirve los handlers del servicio (una vez; después el router
queda congelado). Aparte de connect porque un handler puede depender
de adapters que usan este mismo bus.
readonly IHandler<IContract<ContractKind, TSchema, TSchema | undefined>>[]
void