@etsoo/shared
Version:
TypeScript shared utilities and functions
67 lines (66 loc) • 2.15 kB
TypeScript
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;
}