@restorecommerce/chassis-srv
Version:
Restore Commerce microservice chassis
47 lines • 1.41 kB
TypeScript
import { type Logger } from '@restorecommerce/logger';
import type { Server as GRPCServer, ServiceImplementation, CompatServiceDefinition } from 'nice-grpc';
import { WithRequestID } from './middlewares.js';
/**
* Name of the transport
*/
export declare const NAME = "grpc";
export interface BindConfig<Service extends CompatServiceDefinition> {
service: Service;
implementation: ServiceImplementation<Service>;
}
/**
* Server transport provider.
* @class
*/
export declare class Server {
config: any;
logger: Logger;
server: GRPCServer<WithRequestID>;
name: string;
isBound: boolean;
/**
* Server is a gRPC transport provider for serving.
*
* @param {Object} config Configuration object.
* Requires properties: addr
* Optional properties: credentials.ssl.certs
* @param {Logger} logger Logger.
*/
constructor(config: any, logger: Logger);
/**
* bind maps the service to gRPC methods and binds the address.
*
* @param {BindConfig} config Service bind config.
*/
bind(config: BindConfig<any>): void;
/**
* start launches the gRPC server and provides the service endpoints.
*/
start(): Promise<void>;
/**
* end stops the gRPC server and no longer provides the service endpoints.
*/
end(): Promise<any>;
}
export { Server as grpcServer };
//# sourceMappingURL=index.d.ts.map