@phensley/cldr-core
Version:
Core library for @phensley/cldr
27 lines (26 loc) • 1.41 kB
TypeScript
import { DecimalArg, DecimalFormatter } from '../../types/numbers';
import { NumberSymbols } from '../../common/private';
export interface NumberingSystemParams {
readonly decimal: string;
}
export declare abstract class NumberingSystem {
readonly name: string;
readonly symbols: NumberSymbols;
readonly minimumGroupingDigits: number;
readonly primaryGroupingSize: number;
readonly secondaryGroupingSize: number;
constructor(name: string, symbols: NumberSymbols, minimumGroupingDigits: number, primaryGroupingSize: number, secondaryGroupingSize: number);
/**
* Format a number directly to a string. This is used for things like low-level field
* formatting for Calendars.
*/
abstract formatString(n: DecimalArg, groupDigits?: boolean, minInt?: number): string;
}
export declare class DecimalNumberingSystem extends NumberingSystem {
readonly digits: string[];
constructor(name: string, digits: string[], symbols: NumberSymbols, minimumGroupingDigits: number, primaryGroupingSize: number, secondaryGroupingSize: number);
formatString(n: DecimalArg, groupDigits?: boolean, minInt?: number): string;
protected _formatDecimal<R>(f: DecimalFormatter<R>, n: DecimalArg, groupDigits?: boolean, minInt?: number): R;
protected _fastFormatDecimal(n: string, minInt: number): string;
}
export declare const INTERNAL_NUMBERING: DecimalNumberingSystem;