import { HealthBuilder } from './HealthBuilder' ; import { Indicator } from '../../Indicator' ; import { IBuilder , IndicatorBuilderResult } from '../../../domain' ; export abstract class HealthIndicator extends Indicator { group : string = 'health' ; async invoke ( data , builder ) { await this . doCheck ( builder , this . config [ this . name ] ) ; return builder . getDetails ( ) ; } abstract async doCheck ( builder , initConfig ? ) ; getBuilder ( ) { return new HealthBuilder ( this . name ) ; } }