nats
Version:
Node.js client for NATS, a lightweight, high-performance cloud native messaging system
26 lines (25 loc) • 1.03 kB
TypeScript
import { ConnectionOptions, DnsResolveFn, Server, URLParseFn } from "./types";
export declare function setTransportFactory(config: TransportFactory): void;
export declare function defaultPort(): number;
export declare function getUrlParseFn(): URLParseFn | undefined;
export declare function newTransport(): Transport;
export declare function getResolveFn(): DnsResolveFn | undefined;
export interface TransportFactory {
factory?: () => Transport;
defaultPort?: number;
urlParseFn?: URLParseFn;
dnsResolveFn?: DnsResolveFn;
}
export interface Transport extends AsyncIterable<Uint8Array> {
readonly isClosed: boolean;
readonly lang: string;
readonly version: string;
readonly closeError?: Error;
connect(server: Server, opts: ConnectionOptions): Promise<void>;
[Symbol.asyncIterator](): AsyncIterableIterator<Uint8Array>;
isEncrypted(): boolean;
send(frame: Uint8Array): void;
close(err?: Error): Promise<void>;
disconnect(): void;
closed(): Promise<void | Error>;
}