@sha1n/fungus
Version:
A dependency based service graph controller library
19 lines (18 loc) • 655 B
TypeScript
import { EventEmitter } from 'events';
import { InternalRuntimeContext } from './env';
import { Service } from './types';
declare class ServiceController extends EventEmitter {
private readonly service;
private readonly startPendingDependencies;
private startPromise;
private meta;
constructor(service: Service);
get id(): string;
addDependency(dependency: ServiceController): void;
readonly start: (ctx: InternalRuntimeContext) => Promise<void>;
private doStart;
readonly stop: (ctx: InternalRuntimeContext) => Promise<void>;
private onDependencyStarted;
private isStarted;
}
export { ServiceController };