@sailboat-computer/data-storage
Version:
Shared data storage library for sailboat computer v3
64 lines (63 loc) • 1.92 kB
TypeScript
/**
* Maintenance-based downsampling strategy implementation
*/
import { Downsampler, StoredData, MaintenanceBasedStrategy } from '../../types';
/**
* Maintenance-based downsampler implementation
*/
export declare class MaintenanceBasedDownsampler implements Downsampler {
readonly type = "maintenance-based";
/**
* Downsample data using maintenance-based strategy
*
* @param data - Data to downsample
* @param strategy - Maintenance-based strategy
* @returns Downsampled data
*/
downsample(data: StoredData[], strategy: MaintenanceBasedStrategy): Promise<StoredData[]>;
/**
* Find maintenance events in data
*
* @param data - Data to find maintenance events in
* @param eventType - Maintenance event type
* @returns Indices of maintenance events
*/
private findMaintenanceEvents;
/**
* Check if data is a maintenance event
*
* @param data - Data to check
* @param eventType - Maintenance event type
* @returns Whether data is a maintenance event
*/
private isMaintenanceEvent;
/**
* Apply normal downsampling to data
*
* @param data - Data to downsample
* @param interval - Sampling interval
* @returns Downsampled data
*/
private applyNormalDownsampling;
/**
* Apply detailed downsampling to data
*
* @param data - Data to downsample
* @param interval - Sampling interval
* @returns Downsampled data
*/
private applyDetailedDownsampling;
/**
* Parse interval string to milliseconds
*
* @param interval - Interval string (e.g., '1m', '5m', '1h')
* @returns Interval in milliseconds
*/
private parseInterval;
}
/**
* Create a new maintenance-based downsampler
*
* @returns Maintenance-based downsampler
*/
export declare function createMaintenanceBasedDownsampler(): Downsampler;