@initbit/nestjs-jetstream
Version:
NestJS custom NATS JetStream transport
24 lines (23 loc) • 1.24 kB
TypeScript
import { ClientProxy, ReadPacket, WritePacket } from '@nestjs/microservices';
import { LoggerService } from '@nestjs/common';
import { Codec, ConnectionOptions, JetStreamClient, NatsConnection } from 'nats';
import { noop } from 'rxjs';
import { NatsClientOptions } from './interfaces/nats-client-options.interface';
export declare class NatsClient extends ClientProxy {
protected readonly options: NatsClientOptions;
protected readonly codec: Codec<unknown>;
protected readonly logger: LoggerService;
protected connection?: NatsConnection;
protected jetstreamClient?: JetStreamClient;
constructor(options?: NatsClientOptions);
connect(): Promise<NatsConnection>;
close(): Promise<void>;
createJetStreamClient(connection: NatsConnection): JetStreamClient;
createNatsConnection(options?: ConnectionOptions): Promise<NatsConnection>;
getConnection(): NatsConnection | undefined;
getJetStreamClient(): JetStreamClient | undefined;
handleStatusUpdates(connection: NatsConnection): Promise<void>;
protected dispatchEvent(packet: ReadPacket): Promise<any>;
protected publish(packet: ReadPacket, callback: (packet: WritePacket) => void): typeof noop;
unwrap<T>(value?: T): T;
}