pandora
Version:
A powerful and lightweight application manager for Node.js applications powered by TypeScript.
45 lines (44 loc) • 1.55 kB
TypeScript
import { ServiceRepresentation, ServiceInstanceReference, Service, ProcessRepresentation } from '../domain';
import { WorkerContext } from '../application/WorkerContext';
/**
* Class ServiceReconciler
*/
export declare class ServiceReconciler {
protected context: WorkerContext;
protected services: Map<string, ServiceInstanceReference>;
protected state: 'notBoot' | 'booting' | 'booted' | 'stoping';
protected processRepresentation: ProcessRepresentation;
protected workModeByForce: any;
constructor(processRepresentation: ProcessRepresentation, context: any, workModeByForce?: any);
/**
* Receive a service representation
* @param {ServiceRepresentation} serviceRepresentation
*/
receiveServiceRepresentation(serviceRepresentation: ServiceRepresentation): void;
/**
* Get ordered service id set, order by service weight
* @param {"asc" | "desc"} order
* @return {Array}
*/
getOrderedServiceIdSet(order: 'asc' | 'desc'): any[];
/**
* Get service's weight by service's ID (name)
* @param id
* @param {string[]} chain
* @return {any}
*/
getWeight(id: any, chain?: string[]): any;
/**
* Instantiate all the services
*/
instantiate(): void;
/**
* Start all the services
* @return {Promise<void>}
*/
start(): Promise<void>;
stop(): Promise<void>;
get<T extends Service>(id: any): T;
getServiceClass(serviceName: any): any;
getState(): "notBoot" | "booting" | "booted" | "stoping";
}