@ahmedhegazee/nestjs-telescope
Version:
Advanced observability and monitoring solution for NestJS applications with ML-powered analytics, enterprise features, and production-ready scaling
56 lines (55 loc) • 1.67 kB
TypeScript
import { TelescopeConfig } from '../interfaces/telescope-config.interface';
export interface ValidationResult {
isValid: boolean;
errors: string[];
warnings: string[];
}
export interface ConfigDefaults {
enabled: boolean;
storage: {
driver: string;
batch: {
enabled: boolean;
size: number;
flushInterval: number;
};
};
devtools: {
enabled: boolean;
bridge: {
resilience: {
circuitBreakerEnabled: boolean;
fallbackEnabled: boolean;
maxRetries: number;
retryDelayMs: number;
healthCheckIntervalMs: number;
};
};
};
features: {
realTimeUpdates: boolean;
dashboard: boolean;
metrics: boolean;
};
}
export declare class TelescopeConfigValidator {
private readonly logger;
private readonly defaults;
private readonly supportedDrivers;
private readonly requiredFields;
validate(config: Partial<TelescopeConfig>): ValidationResult;
applyDefaults(config: Partial<TelescopeConfig>): TelescopeConfig;
validateAndApplyDefaults(config: Partial<TelescopeConfig>): TelescopeConfig;
private validateRequiredFields;
private validateStorageConfig;
private validateDevToolsConfig;
private validateFeaturesConfig;
private validateWatchersConfig;
private validateWatcherConfig;
private validatePerformanceConfig;
private validateSecurityConfig;
private containsSensitiveData;
private deepMerge;
getDefaults(): ConfigDefaults;
getSupportedDrivers(): string[];
}