@sailboat-computer/validation
Version:
Validation framework for sailboat computer v3
79 lines • 2.16 kB
TypeScript
/**
* Core validation engine implementation
*/
import { ValidationRule, ValidationContext, RawSensorData, ValidatedSensorData, ValidationEngineConfig, ValidationMetrics } from './types';
/**
* Core validation engine
*/
export declare class ValidationEngine {
private rules;
private rulesByCategory;
private metrics;
private config;
constructor(config?: Partial<ValidationEngineConfig>);
/**
* Register a validation rule
*/
registerRule(rule: ValidationRule): void;
/**
* Register multiple validation rules
*/
registerRules(rules: ValidationRule[]): void;
/**
* Validate a single sensor data point
*/
validate(data: RawSensorData, context: ValidationContext): Promise<ValidatedSensorData>;
/**
* Validate multiple sensor data points
*/
validateBatch(dataPoints: RawSensorData[], context: ValidationContext): Promise<ValidatedSensorData[]>;
/**
* Get validation metrics
*/
getMetrics(): ValidationMetrics;
/**
* Reset validation metrics
*/
resetMetrics(): void;
/**
* Get applicable rules for sensor data
*/
private getApplicableRules;
/**
* Execute a single validation rule
*/
private executeRule;
/**
* Calculate confidence score based on validation results
*/
private calculateConfidence;
/**
* Get weight for validation result based on rule importance
*/
private getResultWeight;
/**
* Get penalty for validation failure based on severity
*/
private getSeverityPenalty;
/**
* Apply contextual adjustments to confidence score
*/
private applyContextualAdjustments;
/**
* Get rule priority for sorting
*/
private getRulePriority;
/**
* Update validation metrics
*/
private updateMetrics;
/**
* Initialize metrics structure
*/
private initializeMetrics;
}
/**
* Create a validation engine with default configuration
*/
export declare function createValidationEngine(config?: Partial<ValidationEngineConfig>): ValidationEngine;
//# sourceMappingURL=engine.d.ts.map