UNPKG

@etsoo/shared

Version:

TypeScript shared utilities and functions

67 lines (66 loc) 2.15 kB
declare global { interface Number { /** * To the exact precision number avoiding precision lost * @param precision Precision */ toExact(precision?: number): number; /** * To the step number, like 0, 10, 20, 30 for step 10 * @param step Step */ toStep(step: number): number; } } export declare namespace NumberUtils { /** * Format number * @param input Input * @param locale Locale * @param options Options * @returns Result */ function format(input: number | bigint, locale?: string | string[], options?: Intl.NumberFormatOptions): string; /** * Format money * @param input Input * @param currency Currency, like USD for US dollar * @param locale Locale * @param isInteger Is integer value * @param options Options * @returns Result */ function formatMoney(input: number | bigint, currency?: string, locale?: string | string[], isInteger?: boolean, options?: Intl.NumberFormatOptions): string; /** * Format file size * @param size File size * @param fractionDigits Fraction digits * @returns Result */ function formatFileSize(size: number, fractionDigits?: number): string; /** * Get currency symbol or name from ISO code * @param code ISO currency code, like USD / CNY * @param display Display format * @param locale Locale * @returns Result */ function getCurrencySymbol(code: string, display?: "symbol" | "narrowSymbol" | "name", locale?: string): string | undefined; /** * Parse number * @param rawData Raw data */ function parse(rawData: unknown): number | undefined; /** * Parse number with default value * @param rawData Raw data * @param defaultValue Default value */ function parse(rawData: unknown, defaultValue: number): number; /** * Parse float value and unit * @param input Input string * @returns Result, like [number, string] */ const parseWithUnit: (input: string) => [number, string] | undefined; }