import type { DocumentNode, DocumentResolver } from '@rsdk/autodoc.protocol'; import { Composite, Table } from '@rsdk/autodoc.protocol'; import type { RsdkMetadataProvider } from '@rsdk/metadata'; import { HEALTH_INDICATOR_RSDK_METADATA_SCOPE } from '../metadata/constants'; import type { HealthIndicatorRsdkMetadata } from '../metadata/types'; export class IndicatorAutodocResolver implements DocumentResolver { getNode(rsdkMetadataProvider: RsdkMetadataProvider): DocumentNode | null { const resources = rsdkMetadataProvider.get( HEALTH_INDICATOR_RSDK_METADATA_SCOPE, ); if (!resources) { return null; } return new Composite( new Table( resources.map(({ value }) => ({ key: value.options.key, scope: value.options.scope, description: value.options.description ?? '-', name: value.target.name, })), ), 'Health indicators', ); } } export const indicatorAutodocResolver = new IndicatorAutodocResolver();