Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
145 lines
4.5 KiB
Plaintext
145 lines
4.5 KiB
Plaintext
export type Formats = Pick<Intl.DateTimeFormatOptions, "weekday" | "era" | "year" | "month" | "day" | "dayPeriod" | "hour" | "minute" | "second" | "timeZoneName"> & {
|
||
fractionalSecondDigits?: 1 | 2 | 3;
|
||
hour12?: boolean;
|
||
pattern: string;
|
||
pattern12: string;
|
||
skeleton: string;
|
||
rawPattern: string;
|
||
rangePatterns: Record<TABLE_2 | "default", RangePatterns>;
|
||
rangePatterns12: Record<TABLE_2 | "default", RangePatterns>;
|
||
};
|
||
export interface IntlDateTimeFormatInternal {
|
||
locale: string;
|
||
dataLocale: string;
|
||
calendar?: string;
|
||
dateStyle?: "full" | "long" | "medium" | "short";
|
||
timeStyle?: "full" | "long" | "medium" | "short";
|
||
weekday: "narrow" | "short" | "long";
|
||
era: "narrow" | "short" | "long";
|
||
year: "2-digit" | "numeric";
|
||
month: "2-digit" | "numeric" | "narrow" | "short" | "long";
|
||
day: "2-digit" | "numeric";
|
||
dayPeriod: "narrow" | "short" | "long";
|
||
hour: "2-digit" | "numeric";
|
||
minute: "2-digit" | "numeric";
|
||
second: "2-digit" | "numeric";
|
||
timeZoneName: "short" | "long" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric";
|
||
fractionalSecondDigits?: 1 | 2 | 3;
|
||
hourCycle: string;
|
||
numberingSystem: string;
|
||
timeZone: string;
|
||
pattern: string;
|
||
format: Formats;
|
||
rangePatterns: Record<TABLE_2 | "default", RangePatterns>;
|
||
boundFormat?: Intl.DateTimeFormat["format"];
|
||
}
|
||
export interface RangePatternPart<T extends RangePatternType = RangePatternType> {
|
||
source: T;
|
||
pattern: string;
|
||
}
|
||
export type RangePatterns = Pick<Intl.DateTimeFormatOptions, "weekday" | "era" | "year" | "month" | "day" | "hour" | "minute" | "second" | "timeZoneName"> & {
|
||
hour12?: boolean;
|
||
patternParts: Array<RangePatternPart>;
|
||
};
|
||
export declare enum RangePatternType {
|
||
startRange = "startRange",
|
||
shared = "shared",
|
||
endRange = "endRange"
|
||
}
|
||
export type TABLE_6 = "weekday" | "era" | "year" | "month" | "day" | "dayPeriod" | "hour" | "minute" | "second" | "fractionalSecondDigits" | "timeZoneName";
|
||
export type TABLE_2 = "era" | "year" | "month" | "day" | "dayPeriod" | "ampm" | "hour" | "minute" | "second" | "fractionalSecondDigits";
|
||
export type TimeZoneNameData = Record<string, {
|
||
long?: [string, string];
|
||
short?: [string, string];
|
||
}>;
|
||
export interface EraData {
|
||
BC: string;
|
||
AD: string;
|
||
}
|
||
export interface DateTimeFormatLocaleInternalData {
|
||
am: string;
|
||
pm: string;
|
||
weekday: {
|
||
narrow: string[];
|
||
long: string[];
|
||
short: string[];
|
||
};
|
||
era: {
|
||
narrow: EraData;
|
||
long: EraData;
|
||
short: EraData;
|
||
};
|
||
month: {
|
||
narrow: string[];
|
||
long: string[];
|
||
short: string[];
|
||
};
|
||
/**
|
||
* Stand-alone month names (used when month appears without other date fields)
|
||
* Falls back to format month if not provided
|
||
*/
|
||
monthStandalone?: {
|
||
narrow: string[];
|
||
long: string[];
|
||
short: string[];
|
||
};
|
||
timeZoneName: TimeZoneNameData;
|
||
/**
|
||
* So we can construct GMT+08:00
|
||
*/
|
||
gmtFormat: string;
|
||
/**
|
||
* So we can construct GMT+08:00
|
||
*/
|
||
hourFormat: string;
|
||
hourCycle: string;
|
||
dateFormat: {
|
||
full: Formats;
|
||
long: Formats;
|
||
medium: Formats;
|
||
short: Formats;
|
||
};
|
||
timeFormat: {
|
||
full: Formats;
|
||
long: Formats;
|
||
medium: Formats;
|
||
short: Formats;
|
||
};
|
||
dateTimeFormat: {
|
||
full: string;
|
||
long: string;
|
||
medium: string;
|
||
short: string;
|
||
};
|
||
/**
|
||
* Interval format fallback pattern from CLDR (e.g., "{0} – {1}" for English, "{0}~{1}" for Japanese)
|
||
* Used when no specific interval format is available for a given skeleton
|
||
*/
|
||
intervalFormatFallback: string;
|
||
formats: Record<string, Formats[]>;
|
||
nu: string[];
|
||
hc: string[];
|
||
ca: string[];
|
||
}
|
||
export type IntervalFormatsData = {
|
||
intervalFormatFallback: string;
|
||
} & Record<string, Record<string, string>>;
|
||
export interface DateTimeFormat extends Omit<Intl.DateTimeFormat, "resolvedOptions" | "formatRange" | "formatRangeToParts" | "formatToParts"> {
|
||
resolvedOptions(): ResolvedDateTimeFormatOptions;
|
||
formatToParts(date?: Date | number): IntlDateTimeFormatPart[];
|
||
formatRange(startDate: number | Date, endDate: number | Date): string;
|
||
formatRangeToParts(startDate: number | Date, endDate: number | Date): IntlDateTimeFormatPart[];
|
||
}
|
||
export interface ResolvedDateTimeFormatOptions extends Intl.ResolvedDateTimeFormatOptions {
|
||
dateStyle?: "full" | "long" | "medium" | "short";
|
||
timeStyle?: "full" | "long" | "medium" | "short";
|
||
numberingSystem: string;
|
||
}
|
||
export type UnpackedZoneData = [number, string, number, boolean];
|
||
export type IntlDateTimeFormatPartType = Intl.DateTimeFormatPartTypes | "ampm" | "relatedYear" | "yearName" | "unknown" | "fractionalSecondDigits";
|
||
export interface IntlDateTimeFormatPart {
|
||
type: IntlDateTimeFormatPartType;
|
||
value: string | undefined;
|
||
source?: RangePatternType;
|
||
}
|