@sha1n/fungus
Version:
A dependency based service graph controller library
20 lines (19 loc) • 688 B
TypeScript
/// <reference types="node" />
import EventEmitter = require('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 };