nats-micro
Version:
NATS micro compatible extra-lightweight microservice library
32 lines (31 loc) • 1.35 kB
TypeScript
import { Discovery } from './discovery.js';
import { Broker } from '../broker.js';
import { MicroserviceConfig } from '../types/index.js';
export type MicroserviceOptions = {
noStopMethod?: boolean;
};
export declare class Microservice {
readonly broker: Broker;
private readonly options?;
private readonly ee;
readonly discovery: Discovery;
private readonly startedMethods;
constructor(broker: Broker, config: MicroserviceConfig | (() => MicroserviceConfig), options?: MicroserviceOptions | undefined);
static create(broker: Broker, config: MicroserviceConfig | (() => MicroserviceConfig), options?: MicroserviceOptions): Promise<Microservice>;
static createFromClass<T extends object>(broker: Broker, target: T, options?: MicroserviceOptions): Promise<Microservice>;
get id(): Readonly<string>;
get config(): Readonly<MicroserviceConfig>;
on(event: 'stop', listener: () => void): void;
on(event: 'close', listener: () => void): void;
off(event: 'stop', listener: () => void): void;
off(event: 'close', listener: () => void): void;
private emit;
private addMicroserviceStopToConfig;
private startMethod;
private stopMethod;
start(): Promise<this>;
restart(): Promise<this>;
private handleStop;
stop(): Promise<this>;
private getProfiledMethodHandler;
}