UNPKG

@sailboat-computer/data-storage

Version:

Shared data storage library for sailboat computer v3

57 lines (56 loc) 1.63 kB
/** * 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;