UNPKG

3.48 kBTypeScriptView Raw
1/// <reference types="node" />
2/**
3 * Incrementally updated statistics on a set of values.
4 * @public
5 */
6export declare class Statistics {
7 /** The number of decimal places to print in {@link Statistics.toString} */
8 protected printFixedPrecision: number;
9 /** Number of values observed. */
10 samples: number;
11 /** The maximum value observed. Initialized to `Number.NEGATIVE_INFINITY`. */
12 max: number;
13 /** The minimum value observed. Initialized to `Number.POSITIVE_INFINITY`. */
14 min: number;
15 /** The variance of the values observed. */
16 variance: number;
17 /** The standard deviation of the values observed. */
18 stdev: number;
19 /** The mean (average) of the values observed. */
20 mean: number;
21 /**
22 * Incrementally track mean, stdev, min, max, of a sequence of values.
23 * @param printFixedPrecision - The number of decimal places to print in
24 * {@link Statistics.toString}.
25 */
26 constructor(
27 /** The number of decimal places to print in {@link Statistics.toString} */
28 printFixedPrecision?: number);
29 /** @internal */
30 clone(): Statistics & this;
31 /**
32 * Update statistics with a new value in the sequence.
33 */
34 update(value: number | undefined): void;
35 /**
36 * Print the mean of the observations seen, with the precision specified in
37 * the constructor.
38 */
39 toString(): string;
40}
41export declare class ExponentiallyDecayingAverageValue {
42 smoothingFactor: number;
43 samples: number;
44 value: number;
45 constructor(smoothingFactor: number);
46 update(n: number): void;
47 toString(): number;
48}
49export declare function sleep(ms: number, cancel?: Promise<void>): Promise<unknown>;
50export declare function streamToBuffer(s: NodeJS.ReadableStream): Promise<Buffer>;
51export declare function chomp(s: string): string;
52export declare const sum: (a: number[]) => number;
53export declare function objectSize(obj?: {
54 [key: string]: string;
55}): number;
56export declare function computeHttpResponseBytes(headers: {
57 [key: string]: string;
58}, opts?: {
59 httpHeaders: boolean;
60 min: number;
61}): number;
62export declare function hasExpired(date: string | number | undefined | null, retentionInDays: number): boolean;
63export declare function roundTo100ms(n: number): number;
64export declare const uuidv4Pattern = "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}";
65export declare const GB: number;
66export declare const MB: number;
67export declare const KB: number;
68export declare function f1(n: number): string;
69export declare function f2(n: number): string;
70export declare function keysOf<K extends string, O extends {
71 [key in K]: any;
72}>(obj: O): Array<keyof O>;
73export declare function defined<T>(arg: T | undefined | null | void): arg is T;
74export declare class MaxHeap {
75 protected _heap: number[];
76 get size(): number;
77 clear(): void;
78 peekMax(): number;
79 insert(value: number): void;
80 extractMax(): number;
81 [Symbol.iterator](): IterableIterator<number>;
82}
83export declare class SmallestN<T = void> {
84 protected _size: number;
85 protected _heap: MaxHeap;
86 protected _map: [number, T][];
87 constructor(_size: number);
88 update(key: number, value: T): void;
89 protected shrink(): void;
90 [Symbol.iterator](): IterableIterator<[number, T]>;
91 entries(): () => IterableIterator<[number, T]>;
92 keys(): number[];
93 get size(): number;
94 clear(): void;
95 setSize(newSize: number): void;
96}