@restorecommerce/chassis-srv
Version:
Restore Commerce microservice chassis
45 lines • 1.42 kB
TypeScript
import { type Logger } from '@restorecommerce/logger';
import { EventEmitter } from 'events';
import { BindConfig } from './transport/provider/grpc/index.js';
/**
* register transport provider
*
* @param {string} name transport provider identifier
* @param {constructor} provider transport provider constructor function
*/
export declare const registerTransport: (name: string, provider: any) => void;
/**
* Server is a microservice server chassis.
* It enables business logic to be accessed over transports and listen to events.
* Default event providers: 'kafka'
* Default transports: 'grpc'
* @class
*/
export declare class Server extends EventEmitter {
config: any;
logger: Logger;
middleware: any;
transport: any;
/**
* @constructor
* @param {object} config Server config.
* @param {Logger} logger
*/
constructor(config?: any, logger?: Logger);
/**
* bind connects the service to configured transports.
*
* @param {string} name Service name.
* @param {BindConfig} bindConfig A business logic service.
*/
bind(name: string, bindConfig: BindConfig<any>): Promise<void>;
/**
* start launches the server by starting transports and listening to events.
*/
start(): Promise<any>;
/**
* Shuts down all transport provider servers.
*/
stop(): Promise<any>;
}
//# sourceMappingURL=server.d.ts.map