import { AutodocMetadata } from '@rsdk/autodoc.protocol'; import type { Constructor } from '@rsdk/common'; import { RsdkMetadata } from '@rsdk/metadata'; import { indicatorAutodocResolver } from '../autodoc/heath.autodoc-resolver'; import type { HealthIndicator, IndicatorMetadata } from '../types'; import { HEALTH_INDICATOR_RSDK_METADATA_SCOPE } from './constants'; import type { HealthIndicatorRsdkMetadata } from './types'; export class IndicatorsRegistry { static register( target: Constructor, options: IndicatorMetadata, ): void { RsdkMetadata.setWithScope( target, HEALTH_INDICATOR_RSDK_METADATA_SCOPE, target, { target, options, constructorName: target.name }, ); AutodocMetadata.defineResolver( target, HEALTH_INDICATOR_RSDK_METADATA_SCOPE, indicatorAutodocResolver, ); } }