UNPKG

dnum

Version:

Small library for big decimal numbers.

109 lines (76 loc) 3.72 kB
export declare function abs(num: Numberish, decimals?: Decimals): Dnum; export declare function add(num1: Numberish, num2: Numberish, decimals?: Decimals): Dnum; declare type AliasedOptions<Options extends Record<string, unknown>, AliasName extends keyof Options> = Options | Options[AliasName]; export declare function ceil(num: Numberish, decimals?: Decimals): Dnum; declare function compare(num1: Numberish, num2: Numberish): 1 | -1 | 0; export { compare as cmp } export { compare } export declare type Decimals = number; declare function divide(num1: Numberish, num2: Numberish, optionsOrDecimals?: AliasedOptions<{ decimals?: Decimals; rounding?: Rounding; }, "decimals">): Dnum; export { divide as div } export { divide } export declare type Dnum = readonly [value: Value, decimals: Decimals]; declare function equal(num1: Numberish, num2: Numberish): boolean; export { equal as eq } export { equal } export declare function equalizeDecimals(nums: Dnum[], decimals?: number): Dnum[]; export declare function floor(num: Numberish, decimals?: Decimals): Dnum; export declare function format(dnum: Dnum, optionsOrDigits?: Parameters<typeof toParts>[1] & { compact?: boolean; locale?: ConstructorParameters<typeof Intl.NumberFormat>[0]; signDisplay?: SignDisplay; }): string; export declare function from(value: Numberish, decimals?: number | true): Dnum; export declare function fromJSON(jsonValue: string): Dnum; declare function greaterThan(num1: Numberish, num2: Numberish): boolean; export { greaterThan } export { greaterThan as gt } declare function greaterThanOrEqual(num1: Numberish, num2: Numberish): boolean; export { greaterThanOrEqual } export { greaterThanOrEqual as gte } export declare function isDnum(value: unknown): value is Dnum; declare function lessThan(num1: Numberish, num2: Numberish): boolean; export { lessThan } export { lessThan as lt } declare function lessThanOrEqual(num1: Numberish, num2: Numberish): boolean; export { lessThanOrEqual } export { lessThanOrEqual as lte } declare function multiply(num1: Numberish, num2: Numberish, optionsOrDecimals?: AliasedOptions<{ decimals?: Decimals; rounding?: Rounding; }, "decimals">): Dnum; export { multiply as mul } export { multiply } export declare type Numberish = bigint | number | string | Dnum; declare function remainder(num1: Numberish, num2: Numberish, decimals?: Decimals): Dnum; export { remainder as rem } export { remainder } export declare function round(num: Numberish, optionsOrDecimals?: AliasedOptions<{ decimals?: Decimals; rounding?: Rounding; }, "decimals">): Dnum; export declare type Rounding = "ROUND_HALF" | "ROUND_UP" | "ROUND_DOWN"; export declare function setDecimals(value: Dnum, decimals: Decimals, options?: { rounding?: Rounding; }): Dnum; declare type SignDisplay = "auto" | "always" | "exceptZero" | "negative" | "never"; declare function subtract(num1: Numberish, num2: Numberish, decimals?: Decimals): Dnum; export { subtract as sub } export { subtract } export declare function toJSON([value, decimals]: Dnum): string; export declare function toNumber(value: Dnum, optionsOrDigits?: Parameters<typeof toParts>[1]): number; export declare function toParts(dnum: Dnum, optionsOrDigits?: AliasedOptions<{ digits?: number; trailingZeros?: boolean; decimalsRounding?: Rounding; }, "digits">): [ whole: bigint, fraction: string | null ]; declare function toString_2(value: Dnum, optionsOrDigits?: Parameters<typeof toParts>[1]): string; export { toString_2 as toString } export declare type Value = bigint; export { }