@sailboat-computer/validation
Version:
Validation framework for sailboat computer v3
51 lines • 1.78 kB
TypeScript
/**
* Marine-specific validation rules
*/
import { BaseValidationRule } from './base-rule';
import { ValidationResult, ValidationContext, RawSensorData, MarineValidationRanges } from '../types';
/**
* Marine validation ranges - based on typical sailboat specifications
*/
export declare const MARINE_RANGES: MarineValidationRanges;
/**
* GPS position validation rule
*/
export declare class GPSPositionRule extends BaseValidationRule {
constructor();
validate(data: RawSensorData, context: ValidationContext): ValidationResult;
isApplicable(data: RawSensorData): boolean;
/**
* Calculate distance between two GPS coordinates using Haversine formula
*/
private calculateDistance;
private toRadians;
}
/**
* Battery voltage validation with context-aware thresholds
*/
export declare class BatteryVoltageRule extends BaseValidationRule {
constructor();
validate(data: RawSensorData, context: ValidationContext): ValidationResult;
isApplicable(data: RawSensorData): boolean;
}
/**
* Wind speed validation with gust factor checking
*/
export declare class WindSpeedRule extends BaseValidationRule {
constructor();
validate(data: RawSensorData, context: ValidationContext): ValidationResult;
isApplicable(data: RawSensorData): boolean;
}
/**
* Engine temperature validation with operational context
*/
export declare class EngineTemperatureRule extends BaseValidationRule {
constructor();
validate(data: RawSensorData, context: ValidationContext): ValidationResult;
isApplicable(data: RawSensorData): boolean;
}
/**
* Factory function to create all standard marine validation rules
*/
export declare function createMarineValidationRules(): BaseValidationRule[];
//# sourceMappingURL=marine-rules.d.ts.map