UNPKG

nestjs-config-validator

Version:

Advanced configuration validator for NestJS with type-safe schema validation and full TypeScript type inference

59 lines (58 loc) 2.14 kB
import { RootConfigSchema, ConfigSchema } from './types'; export interface ConfigValue { [key: string]: unknown; } export interface ValidationResult { valid: boolean; errors: string[]; } /** * Продвинутый валидатор конфигурации с полной валидацией */ export declare class AdvancedConfigValidator { private configData; constructor(configPath?: string); private loadConfig; /** * Получает значение из переменной окружения */ private getEnvValue; /** * Преобразует строковое значение из переменной окружения в нужный тип */ private parseEnvValue; /** * Возвращает объект, если значение является простым объектом, иначе undefined */ private ensureObject; /** * Резолвит значение для конечного (leaf) свойства с приоритетом: * nodeEnv > config.json > defaultValue */ private resolveLeafValue; /** * Рекурсивная валидация только конечных (leaf) свойств. * Контейнеры (object) сами по себе не считаются обязательными. */ private validateObjectProperties; /** * Валидирует схему конфигурации */ validateSchema(schema: ConfigSchema, configSection?: string): ValidationResult; /** * Валидирует тип свойства */ private validatePropertyType; /** * Дополнительная валидация для enum свойств */ private validateEnumProperty; /** * Получает валидированную конфигурацию */ getValidatedConfig(schema: ConfigSchema, configSection?: string): ConfigValue; /** * Валидирует всю корневую схему */ validateRootSchema(rootSchema: RootConfigSchema): ValidationResult; }