UNPKG

@sha1n/fungus

Version:

A dependency based service graph controller library

20 lines (19 loc) 688 B
/// <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 };