UNPKG

@sailboat-computer/validation

Version:

Validation framework for sailboat computer v3

41 lines 1.41 kB
"use strict"; /** * Extended base validation rule implementation * * This file extends the base validation rule to work with extended sensor data types. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ExtendedBaseValidationRule = void 0; const base_rule_1 = require("./base-rule"); /** * Abstract base class for extended validation rules */ class ExtendedBaseValidationRule extends base_rule_1.BaseValidationRule { /** * Helper method to get previous sensor data from context */ getPreviousData(data, context, maxAgeSeconds = 60) { if (!data.timestamp || !data.sensorId) { return undefined; } const cutoffTime = data.timestamp.getTime() - (maxAgeSeconds * 1000); return context.recentData .filter(d => d.sensorId === data.sensorId && d.timestamp && d.timestamp.getTime() >= cutoffTime && d.timestamp.getTime() < data.timestamp.getTime()) .sort((a, b) => { if (!a.timestamp || !b.timestamp) return 0; return b.timestamp.getTime() - a.timestamp.getTime(); })[0]; } /** * Helper method to get source details */ getSourceDetails(data) { return data.sourceDetails; } } exports.ExtendedBaseValidationRule = ExtendedBaseValidationRule; //# sourceMappingURL=extended-base-rule.js.map