nats-micro
Version:
NATS micro compatible extra-lightweight microservice library
30 lines (29 loc) • 1.3 kB
TypeScript
import * as nats from 'nats';
import { Broker } from './broker.js';
import { RequestOptions, SendOptions, BrokerResponse, Subject, RequestManyOptions, MessageHandler } from './types/broker.js';
export type { ConnectionOptions } from 'nats';
export declare class NatsBroker implements Broker {
readonly options: nats.ConnectionOptions;
clientId: number | undefined;
private readonly ee;
private connection;
private connectionClosedWaiter;
private readonly codec;
private subscriptions;
constructor(options: nats.ConnectionOptions);
get name(): string;
connect(): Promise<this>;
disconnect(): Promise<void>;
createInbox(): string;
private decode;
private handleMessageFromSubscription;
private encodeHeaders;
private decodeHeaders;
private subscribe;
private unsubscribe;
on<T>(subject: Subject, listener: MessageHandler<T>, queue?: string | undefined): void;
off<T>(subject: Subject, listener: MessageHandler<T>): void;
send<T>(subject: Subject, data: T, options?: SendOptions): Promise<void>;
requestMany<T, R>(subject: Subject, data: T, options?: RequestManyOptions): AsyncIterableIterator<BrokerResponse<R>>;
request<T, R>(subject: Subject, data: T, options?: RequestOptions): Promise<BrokerResponse<R>>;
}