@formatjs/intl-relativetimeformat
Version:
Formats JavaScript dates to relative time strings.
47 lines • 2.06 kB
TypeScript
//#region packages/ecma402-abstract/types/core.d.ts
type Locale = string;
interface LocaleData<T> {
data: T;
locale: Locale;
}
//#endregion
//#region packages/ecma402-abstract/types/plural-rules.d.ts
type LDMLPluralRule = "zero" | "one" | "two" | "few" | "many" | "other";
//#endregion
//#region packages/ecma402-abstract/types/relative-time.d.ts
interface FieldData {
"0"?: string;
"1"?: string;
"-1"?: string;
"2"?: string;
"-2"?: string;
"3"?: string;
"-3"?: string;
future: RelativeTimeData;
past: RelativeTimeData;
}
type RelativeTimeData = { [u in LDMLPluralRule]?: string };
type LocaleFieldsData = { [f in RelativeTimeField]?: FieldData } & {
nu?: Array<string | null>;
};
type RelativeTimeField = "second" | "second-short" | "second-narrow" | "minute" | "minute-short" | "minute-narrow" | "hour" | "hour-short" | "hour-narrow" | "day" | "day-short" | "day-narrow" | "week" | "week-short" | "week-narrow" | "month" | "month-short" | "month-narrow" | "quarter" | "quarter-short" | "quarter-narrow" | "year" | "year-short" | "year-narrow";
type RelativeTimeLocaleData = LocaleData<LocaleFieldsData>;
//#endregion
//#region packages/intl-relativetimeformat/index.d.ts
declare class RelativeTimeFormat {
constructor(locales?: string | string[], options?: Intl.RelativeTimeFormatOptions);
format(value: number, unit: Intl.RelativeTimeFormatUnit): string;
formatToParts(value: number, unit: Intl.RelativeTimeFormatUnit): Intl.RelativeTimeFormatPart[];
resolvedOptions(): Intl.ResolvedRelativeTimeFormatOptions;
static supportedLocalesOf(locales: string | string[], options?: Pick<Intl.RelativeTimeFormatOptions, "localeMatcher">): string[];
static __addLocaleData(...data: RelativeTimeLocaleData[]): void;
static localeData: Record<string, LocaleFieldsData>;
private static availableLocales;
private static __defaultLocale;
private static getDefaultLocale;
private static relevantExtensionKeys;
static polyfilled: boolean;
}
//#endregion
export { RelativeTimeFormat as default };
//# sourceMappingURL=index.d.ts.map