extenso
Version:
Uma biblioteca avançada para escrever números por extenso (em português).
46 lines (45 loc) • 1.35 kB
TypeScript
import Currencies from './ts/enum/currencies.enum';
import DecimalSeparators from './ts/enum/decimal-separators.enum';
import Genders from './ts/enum/genders.enum';
import Locales from './ts/enum/locales.enum';
import Modes from './ts/enum/modes.enum';
import Scales from './ts/enum/scales.enum';
export type ExtensoMode = `${Modes}`;
export type ExtensoLocale = `${Locales}`;
export type ExtensoScale = `${Scales}`;
export type ExtensoGender = `${Genders}`;
export type DecimalSeparator = `${DecimalSeparators}`;
export type CurrencyCode = `${Currencies}`;
export interface BuiltInCurrencyOptions {
code?: CurrencyCode;
singular?: never;
plural?: never;
gender?: never;
subunit?: never;
}
export interface CurrencyDefinition {
singular: string;
plural: string;
gender: ExtensoGender;
subunit: {
singular: string;
plural: string;
gender: ExtensoGender;
};
}
export type CurrencyOptions = BuiltInCurrencyOptions | (CurrencyDefinition & {
code?: never;
});
export interface NumberOptions {
gender?: ExtensoGender;
ordinal?: boolean;
}
export interface ExtensoOptions {
mode?: ExtensoMode;
locale?: ExtensoLocale;
scale?: ExtensoScale;
decimalSeparator?: DecimalSeparator;
removeAccents?: boolean;
currency?: CurrencyOptions;
number?: NumberOptions;
}