UNPKG

inceptum

Version:

hipages take on the foundational library for enterprise-grade apps written in NodeJS

51 lines (50 loc) 1.74 kB
/// <reference types="node" /> export declare const HEALTH_CHECK_GROUP = "inceptum:health"; export declare function RegisterAsHealthCheck(target: any): void; export declare enum HealthCheckStatus { OK = "OK", NOT_READY = "NOT_READY", WARNING = "WARNING", CRITICAL = "CRITICAL", } export declare class HealthCheckResult { status: HealthCheckStatus; message: string; data: any; timestamp: number; constructor(status: HealthCheckStatus, message: string, timestamp?: number, data?: any); static getInitialResult(): HealthCheckResult; static staleResult(healthCheck: HealthCheck, lastResult: HealthCheckResult): HealthCheckResult; } export declare abstract class HealthCheck { checkName: string; sleepMillis: number; staleNumFails: number; private runImmediately; started: boolean; lastResult: HealthCheckResult; timer: NodeJS.Timer; checkRunning: boolean; constructor(checkName: string, sleepMillis?: number, staleNumFails?: number, runImmediately?: boolean); getCheckName(): string; getSleepMillis(): number; start(): void; runCheck(): Promise<void>; doStart(): void; stop(): void; doStop(): void; isStarted(): boolean; abstract doCheck(): Promise<HealthCheckResult>; getLastResult(): HealthCheckResult; } export declare class HealthCheckGroup extends HealthCheck { groupKey: string; healthChecks: Map<string, HealthCheck>; constructor(groupName: string); addCheck(healthCheck: HealthCheck, asName?: string): void; addCheckAs(healthCheck: HealthCheck, asName: string): void; doStart(): void; doStop(): void; doCheck(): Promise<HealthCheckResult>; getLastResult(): HealthCheckResult; }