g11n-js-common
Version:
This is I18n level 2 common library for javascript based clients like g11n-angular-client,g11n-js-client
52 lines (51 loc) • 2.05 kB
TypeScript
import { I18n } from '../intl/intl';
import { RoundingMode, NumberFormatTypes } from '../intl/intl.util';
interface ParsedNumber {
digits: number[];
integerLen: number;
}
declare class Formatter {
decimal(data: I18n.DataForNumber): Function;
currencies(data: I18n.DataForCurrency): Function;
percent(data: I18n.DataForNumber): Function;
plural(data: I18n.DataForNumber): Function;
resetFormats(formats: any, minFracDigit: number, maxFracDigit: number, round: RoundingMode): any;
/**
* Get info from the formats
* eg: ¤#,##0.00
* return: { gSize: 3, lgSize: 3, maxFrac: 2, minFrac: 2, minInt: 1, negPre: "-¤", posPre: "¤" }
*/
parseFormats(format: string, minusSign?: string): {
'minInt': number;
'minFrac': number;
'maxFrac': number;
'posPre': string;
'posSuf': string;
'negPre': string;
'negSuf': string;
'gSize': number;
'lgSize': number;
'round': RoundingMode;
};
parseNumber(numStr: string): ParsedNumber;
/**
* rounding number
*/
roundingNumber(number: number, minFrac: number, maxFrac: number, mode: RoundingMode): string;
resetCurrencyFormatsInfo(formatsInfo: any, data: I18n.DataForCurrency, currencyCode: string, min?: number, max?: number): any;
resetPercentNumber(num: number): string;
resetString(isCurrency: boolean, formatsInfo: any, symbol: any, value: any, minFracDigit?: number, maxFracDigit?: number): string;
}
export declare class FormatterFactory {
formatter: Formatter;
mapping: {
[key: string]: any;
};
constructor();
getFormatter(locale: string, type: NumberFormatTypes): Function;
currencies(data: I18n.DataForCurrency, locale: string): Function;
percent(data: I18n.DataForNumber, locale: string): Function;
decimal(data: I18n.DataForNumber, locale: string): Function;
roundNumberForPlural(data: I18n.DataForNumber, locale: string): Function;
}
export {};