import type { MonitoringCache } from './types.js'; export interface TargetVehicleMileageSnapshot { dailyKm: number; totalKm: number | null; isOnline: boolean; } export function targetVehicleMileageFromMonitoringCache( cache: MonitoringCache | null, requestedDate: string, today: string, plates: string[], ): Map | null { if (!cache || !requestedDate || requestedDate !== today) return null; const selected = new Set(plates); return new Map( cache.vehicles .filter(vehicle => selected.has(vehicle.plate)) .map(vehicle => [vehicle.plate, { dailyKm: Math.max(0, Number(vehicle.dailyKm) || 0), totalKm: vehicle.totalKm == null ? null : Math.max(0, Number(vehicle.totalKm) || 0), isOnline: vehicle.isOnline, }]), ); }