@formatjs/intl-datetimeformat
Version:
Intl.DateTimeFormat polyfill
43 lines (42 loc) • 1.13 kB
TypeScript
import { type LocaleData, type DateTimeFormatLocaleInternalData, type IntervalFormatsData } from "@formatjs/ecma402-abstract";
export interface PackedData {
zones: string[];
abbrvs: string;
offsets: string;
}
export interface UnpackedData {
zones: Record<string, ZoneData[]>;
abbrvs: string[];
/**
* Offset in seconds, base 36
*/
offsets: number[];
}
export type ZoneData = [number | string, number, number, number];
export type RawDateTimeLocaleData = LocaleData<RawDateTimeLocaleInternalData>;
export type RawDateTimeLocaleInternalData = Omit<DateTimeFormatLocaleInternalData, "dateFormat" | "timeFormat" | "dateTimeFormat" | "formats" | "intervalFormats"> & {
formats: Record<string, Record<string, string>>;
dateFormat: {
full: string;
long: string;
medium: string;
short: string;
};
timeFormat: {
full: string;
long: string;
medium: string;
short: string;
};
intervalFormats: IntervalFormatsData;
dateTimeFormat: {
full: string;
long: string;
medium: string;
short: string;
};
};
export type TimeZoneNameData = Record<string, {
long?: [string, string];
short?: [string, string];
}>;