@sailboat-computer/data-storage
Version:
Shared data storage library for sailboat computer v3
57 lines (56 loc) • 1.63 kB
TypeScript
/**
* Cycle-based downsampling strategy implementation
*/
import { Downsampler, StoredData, CycleBasedStrategy } from '../../types';
/**
* Cycle-based downsampler implementation
*/
export declare class CycleBasedDownsampler implements Downsampler {
readonly type = "cycle-based";
/**
* Downsample data using cycle-based strategy
*
* @param data - Data to downsample
* @param strategy - Cycle-based strategy
* @returns Downsampled data
*/
downsample(data: StoredData[], strategy: CycleBasedStrategy): Promise<StoredData[]>;
/**
* Identify cycles in data
*
* @param data - Data to identify cycles in
* @param cycleDetection - Cycle detection configuration
* @returns Identified cycles
*/
private identifyCycles;
/**
* Check if data matches condition
*
* @param data - Data to check
* @param condition - Condition to match
* @returns Whether data matches condition
*/
private matchesCondition;
/**
* Downsample a cycle
*
* @param cycle - Cycle to downsample
* @param samplesPerCycle - Number of samples to keep per cycle
* @param preserveExtrema - Whether to preserve extrema
* @returns Downsampled cycle
*/
private downsampleCycle;
/**
* Get numeric fields from data
*
* @param data - Data to get numeric fields from
* @returns Numeric fields
*/
private getNumericFields;
}
/**
* Create a new cycle-based downsampler
*
* @returns Cycle-based downsampler
*/
export declare function createCycleBasedDownsampler(): Downsampler;