@sailboat-computer/validation
Version:
Validation framework for sailboat computer v3
37 lines • 1.53 kB
TypeScript
/**
* Extended base validation rule implementation
*
* This file extends the base validation rule to work with extended sensor data types.
*/
import { BaseValidationRule } from './base-rule';
import { ValidationResult, ValidationContext } from '../types';
import { ExtendedRawSensorData, SignalKSource } from '../types-extension';
/**
* Extended validation rule interface for extended sensor data
*/
export interface ExtendedValidationRule {
validate(data: ExtendedRawSensorData, context: ValidationContext): ValidationResult;
isApplicable(data: ExtendedRawSensorData): boolean;
}
/**
* Abstract base class for extended validation rules
*/
export declare abstract class ExtendedBaseValidationRule extends BaseValidationRule implements ExtendedValidationRule {
/**
* Abstract validation method to be implemented by subclasses
*/
abstract validate(data: ExtendedRawSensorData, context: ValidationContext): ValidationResult;
/**
* Abstract applicability check to be implemented by subclasses
*/
abstract isApplicable(data: ExtendedRawSensorData): boolean;
/**
* Helper method to get previous sensor data from context
*/
protected getPreviousData(data: ExtendedRawSensorData, context: ValidationContext, maxAgeSeconds?: number): ExtendedRawSensorData | undefined;
/**
* Helper method to get source details
*/
protected getSourceDetails(data: ExtendedRawSensorData): SignalKSource | undefined;
}
//# sourceMappingURL=extended-base-rule.d.ts.map