UNPKG

pandora

Version:

A powerful and lightweight application manager for Node.js applications powered by TypeScript.

63 lines (62 loc) 1.65 kB
import { ServiceOptions, ServiceRepresentation } from '../domain'; import ServiceLogger from './ServiceLogger'; import { Service } from '../domain'; import { WorkerContextAccessor } from '../application/WorkerContextAccessor'; /** * Class SimpleServiceCore */ export declare class ServiceCore { protected ImplClass: any; protected impl: Service; protected options: ServiceOptions; constructor(options: ServiceOptions, ImplClass: any); _logger: ServiceLogger; readonly logger: ServiceLogger; readonly context: WorkerContextAccessor; private _dependencies; readonly dependencies: any; readonly representation: ServiceRepresentation; readonly serviceName: string; readonly config: any; /** * Get Class of implementation * @return {any} */ protected getImplClass(): any; /** * Instantiate service * @return {Service} */ instantiate(): Service; /** * Start service * @return {Promise<void>} */ start(): Promise<void>; /** * Stop service * @return {Promise<void>} */ stop(): Promise<void>; /** * Publish this service to IPC HUB * @return {Promise<void>} */ publish(): Promise<void>; /** * Get service's implementation object * @return {Service} */ getService(): Service; /** * Get service's identify, equal service's name now * @return {string} */ getServiceId(): string; /** * Get a dependency service's implementation object by service's ID (name) * @param name * @return {any} */ getDependency(name: any): any; }