snapmetrics
Version:
Lightweight library for tracking real-time metrics and events with rolling statistics over configurable time windows.
34 lines (33 loc) • 1.32 kB
TypeScript
/**
* Calculates the average of an array of values
* @param values Array of values
* @param sum Optional pre-calculated sum
* @returns Average value or null if array is empty
*/
export declare const calculateAverage: (values: number[], sum?: number) => number | null;
/**
* Calculates percentile using Hyndman and Fan type 7 linear interpolation.
* @param sortedValues Array of sorted values
* @param percentile Percentile to calculate (0-100)
* @returns Interpolated percentile value
*/
export declare const calculatePercentile: (sortedValues: number[], percentile: number) => number | null;
/**
* Finds the minimum value in an array
* @param values Array of values
* @returns Minimum value or null if array is empty
*/
export declare const calculateMinimum: (values: number[]) => number | null;
/**
* Finds the maximum value in an array
* @param values Array of values
* @returns Maximum value or null if array is empty
*/
export declare const calculateMaximum: (values: number[]) => number | null;
/**
* Calculates the standard deviation of an array of values
* @param values Array of values
* @param mean Optional pre-calculated mean
* @returns Standard deviation or null if array is empty
*/
export declare const calculateStandardDeviation: (values: number[], mean?: number) => number | null;