class NatsTransport
implements Transport
import { NatsTransport } from "https://deno.land/x/jok_transport@v0.4.1/mod.ts";
Features:
- on should be done after starting the transport
- on can have the route pattern
- no need to
init
&destroy
, juststart
andstop
- support reading raw messages
- retry on 503 (No Responder) error, after timeout/2
Constructors
new
NatsTransport(options: TransportOptions & { connect: (opts?: nats.ConnectionOptions) => Promise<nats.NatsConnection>; StringCodec: () => nats.Codec<string>; connectionName?: string; natsServerUrls?: string[] | string; maxPingOut?: number; noEcho?: boolean; queueGroup?: string; authentication?: Authenticatior; }, utils?: TransportUtils)Properties
private
_state: TransportStatereadonly
state: TransportStateMethods
private
mergeMetadata(context: { metadataReducers: MetadataReducer<MessageMetadata>[]; ctx?: TransportContext<MessageMetadata>; route: string; message: TransportMessage; }): MessageMetadatadispose()
execute<TResult>(props: ExecuteProps<MessageMetadata>)
init(data?: { userId: string; sessionId: string; }): Promise<void>
off(route: string): void
on(): () => void
route: string,
action: RouteHandler<MessageMetadata>,
options?: { queueGroup?: string; readRawMessage?: boolean; },
publish(props: PublishProps<MessageMetadata>): Promise<void>
start(props?: { authentication?: Authenticatior; onConnectionStatusChange?: (status: TransportState) => void; metadataReducers?: MetadataReducer<MessageMetadata>[]; natsServerUrls?: string[] | string; })
stop()