@yepmind/nats-rx-client
Version:
32 lines (31 loc) • 1.51 kB
TypeScript
import { StreamInfo } from 'nats';
import { Observable } from 'rxjs';
import { NatsClientConfig } from './nats-client-config.js';
import { NatsMessageRequest } from './nats-message-request.js';
import { NatsEventMessage } from './nats-event-message.js';
import { NatsMessageData } from './nats-message-data.js';
export declare class NatsClientService {
private options;
private logger;
private connection$;
private jsManager$;
private jsClient$;
private streamInfoMap;
private jsonCodec;
private readonly DEFAULT_TIMEOUT_MS;
constructor(options: NatsClientConfig, logger?: Console);
init(): Promise<void>;
enqueueData(streamName: string, event: string, data: unknown): void;
dequeueData<T>(streamName: string, event?: string, consumerName?: string, clientId?: string): Observable<T>;
requestMessage(subject: string, data: NatsMessageData, timeoutMs?: number): Observable<unknown>;
eventMessage(subject: string, data: NatsMessageData): void;
subscribeToRequestMessage(subject: string, group: string): Observable<NatsMessageRequest>;
subscribeToEventMessage(subject: string, group: string): Observable<NatsEventMessage>;
consumerInfo(streamName: string): Observable<import("nats").ConsumerInfo>;
purgeStream(streamName: string): Observable<import("nats").PurgeResponse>;
streamInfo(streamName: string): Observable<StreamInfo>;
private monitorClient;
private initConnection;
private initJetstream;
private initStreams;
}