@bitblit/ratchet-common
Version:
Common tools for general use
32 lines (31 loc) • 1.49 kB
TypeScript
import { Range } from './range';
export declare class NumberRatchet {
private static MAX_LEADING_ZEROS_FORMAT_LENGTH;
static readonly DEFAULT_SAFE_NUMBER_OPTIONS: SafeNumberOptions;
static toFixedDecimalNumber(input: number | string, placesAfterPoint: number): number;
static leadingZeros(val: any, size: number): string;
static between(inTest: number, inP1: number, inP2: number): boolean;
static safeNumber(input: any, ifNotNumber?: number, useDefaultForNullAndUndefined?: boolean): number;
static safeNumberOpt(input: any, optionPart?: Partial<SafeNumberOptions>): number;
static numberCSVToList(inputCSV: string): number[];
static fitToWindow(val: number, b1: number, b2: number): number;
static groupNumbersIntoContiguousRanges(inputData: number[], minRangeSize?: number): SinglesAndRanges;
static distributeItemsEvenly(items: number, buckets: number): number[];
static createRange(minInclusive: number, maxExclusive: number, step?: number): number[];
static percentFormatNumberRange(range: Range<number>): string;
static pctFormatted(pct: number, fractionDigits?: number): string;
}
export interface SinglesAndRanges {
singles: number[];
ranges: NumberRange[];
}
export interface NumberRange {
min: number;
max: number;
}
export interface SafeNumberOptions {
ifNotNumber: number;
returnValueForNull: number;
returnValueForUndefined: number;
preParseCharacterMapping: Record<string, string>;
}