nats
Version:
Node.js client for NATS, a lightweight, high-performance cloud native messaging system
36 lines (35 loc) • 1.32 kB
TypeScript
import { DispatchedFn, IngestionFilterFn, ProtocolFilterFn, QueuedIteratorImpl } from "./queued_iterator";
import type { Base, Msg, Subscription, SubscriptionOptions } from "./types";
import { Deferred, Timeout } from "./util";
import { NatsError } from "./error";
import type { ProtocolHandler } from "./protocol";
export declare class SubscriptionImpl extends QueuedIteratorImpl<Msg> implements Base, Subscription {
sid: number;
queue?: string;
draining: boolean;
max?: number;
subject: string;
drained?: Promise<void>;
protocol: ProtocolHandler;
timer?: Timeout<void>;
info?: unknown;
cleanupFn?: (sub: Subscription, info?: unknown) => void;
closed: Deferred<void>;
requestSubject?: string;
constructor(protocol: ProtocolHandler, subject: string, opts?: SubscriptionOptions);
setPrePostHandlers(opts: {
ingestionFilterFn?: IngestionFilterFn<Msg>;
protocolFilterFn?: ProtocolFilterFn<Msg>;
dispatchedFn?: DispatchedFn<Msg>;
}): void;
callback(err: NatsError | null, msg: Msg): void;
close(): void;
unsubscribe(max?: number): void;
cancelTimeout(): void;
drain(): Promise<void>;
isDraining(): boolean;
isClosed(): boolean;
getSubject(): string;
getMax(): number | undefined;
getID(): number;
}