You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.5 KiB
82 lines
2.5 KiB
import { parse, MessageFormatElement } from 'intl-messageformat-parser';
|
|
import { FormatterCache, Formatters, Formats, FormatXMLElementFn, PrimitiveType, MessageFormatPart } from './formatters';
|
|
export interface Options {
|
|
formatters?: Formatters;
|
|
}
|
|
export declare function createDefaultFormatters(cache?: FormatterCache): Formatters;
|
|
export declare class IntlMessageFormat {
|
|
private readonly ast;
|
|
private readonly locales;
|
|
private readonly formatters;
|
|
private readonly formats;
|
|
private readonly message;
|
|
private readonly formatterCache;
|
|
constructor(message: string | MessageFormatElement[], locales?: string | string[], overrideFormats?: Partial<Formats>, opts?: Options);
|
|
format: (values?: Record<string, PrimitiveType> | undefined) => string;
|
|
formatToParts: (values?: Record<string, any> | undefined) => MessageFormatPart[];
|
|
formatHTMLMessage: (values?: Record<string, string | number | boolean | object | Date | FormatXMLElementFn | null | undefined> | undefined) => (string | object)[];
|
|
resolvedOptions: () => {
|
|
locale: string;
|
|
};
|
|
getAst: () => MessageFormatElement[];
|
|
static defaultLocale: string;
|
|
static __parse: typeof parse | undefined;
|
|
static formats: {
|
|
number: {
|
|
currency: {
|
|
style: string;
|
|
};
|
|
percent: {
|
|
style: string;
|
|
};
|
|
};
|
|
date: {
|
|
short: {
|
|
month: string;
|
|
day: string;
|
|
year: string;
|
|
};
|
|
medium: {
|
|
month: string;
|
|
day: string;
|
|
year: string;
|
|
};
|
|
long: {
|
|
month: string;
|
|
day: string;
|
|
year: string;
|
|
};
|
|
full: {
|
|
weekday: string;
|
|
month: string;
|
|
day: string;
|
|
year: string;
|
|
};
|
|
};
|
|
time: {
|
|
short: {
|
|
hour: string;
|
|
minute: string;
|
|
};
|
|
medium: {
|
|
hour: string;
|
|
minute: string;
|
|
second: string;
|
|
};
|
|
long: {
|
|
hour: string;
|
|
minute: string;
|
|
second: string;
|
|
timeZoneName: string;
|
|
};
|
|
full: {
|
|
hour: string;
|
|
minute: string;
|
|
second: string;
|
|
timeZoneName: string;
|
|
};
|
|
};
|
|
};
|
|
}
|
|
export default IntlMessageFormat;
|