nats
Version:
Node.js client for NATS, a lightweight, high-performance cloud native messaging system
42 lines (41 loc) • 1.6 kB
TypeScript
import { NatsConnection, RequestManyOptions } from "./types";
import { QueuedIterator } from "./queued_iterator";
import { ServiceInfo, ServiceStats, ServiceVerb } from "./mod";
import { ServiceIdentity, ServiceSchema } from "./service";
export interface ServiceClient {
/**
* Pings services
* @param name - optional
* @param id - optional
*/
ping(name?: string, id?: string): Promise<QueuedIterator<ServiceIdentity>>;
/**
* Requests all the stats from services
* @param name
* @param id
*/
stats(name?: string, id?: string): Promise<QueuedIterator<ServiceStats>>;
/**
* Requests schema information from services
* @param name
* @param id
*/
schema(name?: string, id?: string): Promise<QueuedIterator<ServiceSchema>>;
/**
* Requests info from services
* @param name
* @param id
*/
info(name?: string, id?: string): Promise<QueuedIterator<ServiceInfo>>;
}
export declare class ServiceClientImpl implements ServiceClient {
nc: NatsConnection;
prefix: string | undefined;
opts: RequestManyOptions;
constructor(nc: NatsConnection, opts?: RequestManyOptions, prefix?: string);
ping(name?: string, id?: string): Promise<QueuedIterator<ServiceIdentity>>;
stats(name?: string, id?: string): Promise<QueuedIterator<ServiceStats>>;
schema(name?: string, id?: string): Promise<QueuedIterator<ServiceSchema>>;
info(name?: string, id?: string): Promise<QueuedIterator<ServiceInfo>>;
q<T>(v: ServiceVerb, name?: string, id?: string): Promise<QueuedIterator<T>>;
}