UNPKG

nats

Version:

Node.js client for NATS, a lightweight, high-performance cloud native messaging system

56 lines (55 loc) 2.94 kB
import type { ConsumerOptsBuilder, Views } from "./types"; import { ConsumerAPI, ConsumerInfo, ConsumerInfoable, ConsumerOpts, Destroyable, JetStreamClient, JetStreamOptions, JetStreamPublishOptions, JetStreamPullSubscription, JetStreamSubscription, JetStreamSubscriptionOptions, JsMsg, Msg, NatsConnection, PubAck, PullOptions } from "./types"; import { BaseApiClient } from "./jsbaseclient_api"; import { TypedSubscription, TypedSubscriptionOptions } from "./typedsub"; import { IngestionFilterFn, QueuedIterator } from "./queued_iterator"; import { IdleHeartbeat } from "./idleheartbeat"; export interface JetStreamSubscriptionInfoable { info: JetStreamSubscriptionInfo | null; } export declare class JetStreamClientImpl extends BaseApiClient implements JetStreamClient { api: ConsumerAPI; constructor(nc: NatsConnection, opts?: JetStreamOptions); get apiPrefix(): string; get views(): Views; publish(subj: string, data?: Uint8Array, opts?: Partial<JetStreamPublishOptions>): Promise<PubAck>; pull(stream: string, durable: string, expires?: number): Promise<JsMsg>; fetch(stream: string, durable: string, opts?: Partial<PullOptions>): QueuedIterator<JsMsg>; pullSubscribe(subject: string, opts?: ConsumerOptsBuilder | Partial<ConsumerOpts>): Promise<JetStreamPullSubscription>; subscribe(subject: string, opts?: ConsumerOptsBuilder | Partial<ConsumerOpts>): Promise<JetStreamSubscription>; _processOptions(subject: string, opts?: ConsumerOptsBuilder | Partial<ConsumerOpts>): Promise<JetStreamSubscriptionInfo>; _buildTypedSubscriptionOpts(jsi: JetStreamSubscriptionInfo): TypedSubscriptionOptions<JsMsg>; _maybeCreateConsumer(jsi: JetStreamSubscriptionInfo): Promise<void>; static ingestionFn(ordered: boolean): IngestionFilterFn<JsMsg>; } export declare class JetStreamSubscriptionImpl extends TypedSubscription<JsMsg> implements JetStreamSubscriptionInfoable, Destroyable, ConsumerInfoable { js: BaseApiClient; monitor: IdleHeartbeat | null; constructor(js: BaseApiClient, subject: string, opts: JetStreamSubscriptionOptions); set info(info: JetStreamSubscriptionInfo | null); get info(): JetStreamSubscriptionInfo | null; _resetOrderedConsumer(sseq: number): void; _maybeSetupHbMonitoring(): void; _setupHbMonitoring(millis: number, cancelAfter?: number): void; _checkHbOrderConsumer(msg: Msg): boolean; _checkOrderedConsumer(jm: JsMsg): boolean; destroy(): Promise<void>; consumerInfo(): Promise<ConsumerInfo>; } interface JetStreamSubscriptionInfo extends ConsumerOpts { api: BaseApiClient; last: ConsumerInfo; attached: boolean; deliver: string; bind: boolean; "ordered_consumer_sequence": { "delivery_seq": number; "stream_seq": number; }; "flow_control": { "heartbeat_count": number; "fc_count": number; "consumer_restarts": number; }; } export {};