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.
179 lines
4.7 KiB
179 lines
4.7 KiB
/**
|
|
* Copyright (c) 2013-present, Facebook, Inc.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
type Intl$Locale = string
|
|
type Intl$Locales = Intl$Locale | Intl$Locale[]
|
|
|
|
declare class Intl$Collator {
|
|
constructor (
|
|
locales?: Intl$Locales,
|
|
options?: Intl$CollatorOptions
|
|
): Intl$Collator;
|
|
|
|
static (
|
|
locales?: Intl$Locales,
|
|
options?: Intl$CollatorOptions
|
|
): Intl$Collator;
|
|
|
|
compare (string, string): number;
|
|
|
|
resolvedOptions (): {
|
|
locale: Intl$Locale,
|
|
usage: 'sort' | 'search',
|
|
sensitivity: 'base' | 'accent' | 'case' | 'variant',
|
|
ignorePunctuation: boolean,
|
|
collation: string,
|
|
numeric: boolean,
|
|
caseFirst?: 'upper' | 'lower' | 'false'
|
|
};
|
|
|
|
static supportedLocalesOf (locales?: Intl$Locales): Intl$Locale[];
|
|
}
|
|
|
|
declare type Intl$CollatorOptions = {
|
|
localeMatcher?: 'lookup' | 'best fit',
|
|
usage?: 'sort' | 'search',
|
|
sensitivity?: 'base' | 'accent' | 'case' | 'variant',
|
|
ignorePunctuation?: boolean,
|
|
numeric?: boolean,
|
|
caseFirst?: 'upper' | 'lower' | 'false'
|
|
}
|
|
|
|
type FormatToPartsType = | 'day' | 'dayPeriod' | 'era' | 'hour' | 'literal'
|
|
| 'minute' | 'month' | 'second' | 'timeZoneName' | 'weekday' | 'year';
|
|
|
|
declare class Intl$DateTimeFormat {
|
|
constructor (
|
|
locales?: Intl$Locales,
|
|
options?: Intl$DateTimeFormatOptions
|
|
): Intl$DateTimeFormat;
|
|
|
|
static (
|
|
locales?: Intl$Locales,
|
|
options?: Intl$DateTimeFormatOptions
|
|
): Intl$DateTimeFormat;
|
|
|
|
format (value?: Date | number): string;
|
|
|
|
formatToParts (value?: Date | number): Array<{
|
|
type: FormatToPartsType,
|
|
value: string,
|
|
}>;
|
|
|
|
resolvedOptions (): {
|
|
locale: Intl$Locale,
|
|
calendar: string,
|
|
numberingSystem: string,
|
|
timeZone?: string,
|
|
hour12: boolean,
|
|
weekday?: 'narrow' | 'short' | 'long',
|
|
era?: 'narrow' | 'short' | 'long',
|
|
year?: 'numeric' | '2-digit',
|
|
month?: 'numeric' | '2-digit' | 'narrow' | 'short' | 'long',
|
|
day?: 'numeric' | '2-digit',
|
|
hour?: 'numeric' | '2-digit',
|
|
minute?: 'numeric' | '2-digit',
|
|
second?: 'numeric' | '2-digit',
|
|
timeZoneName?: 'short' | 'long'
|
|
};
|
|
|
|
static supportedLocalesOf (locales?: Intl$Locales): Intl$Locale[];
|
|
}
|
|
|
|
declare type Intl$DateTimeFormatOptions = {
|
|
localeMatcher?: 'lookup' | 'best fit',
|
|
timeZone?: string,
|
|
hour12?: boolean,
|
|
formatMatcher?: 'basic' | 'best fit',
|
|
weekday?: 'narrow' | 'short' | 'long',
|
|
era?: 'narrow' | 'short' | 'long',
|
|
year?: 'numeric' | '2-digit',
|
|
month?: 'numeric' | '2-digit' | 'narrow' | 'short' | 'long',
|
|
day?: 'numeric' | '2-digit',
|
|
hour?: 'numeric' | '2-digit',
|
|
minute?: 'numeric' | '2-digit',
|
|
second?: 'numeric' | '2-digit',
|
|
timeZoneName?: 'short' | 'long'
|
|
}
|
|
|
|
declare class Intl$NumberFormat {
|
|
constructor (
|
|
locales?: Intl$Locales,
|
|
options?: Intl$NumberFormatOptions
|
|
): Intl$NumberFormat;
|
|
|
|
static (
|
|
locales?: Intl$Locales,
|
|
options?: Intl$NumberFormatOptions
|
|
): Intl$NumberFormat;
|
|
|
|
format (number): string;
|
|
|
|
resolvedOptions (): {
|
|
locale: Intl$Locale,
|
|
numberingSystem: string,
|
|
style: 'decimal' | 'currency' | 'percent',
|
|
currency?: string,
|
|
currencyDisplay?: 'symbol' | 'code' | 'name',
|
|
useGrouping: boolean,
|
|
minimumIntegerDigits?: number,
|
|
minimumFractionDigits?: number,
|
|
maximumFractionDigits?: number,
|
|
minimumSignificantDigits?: number,
|
|
maximumSignificantDigits?: number
|
|
};
|
|
|
|
static supportedLocalesOf (locales?: Intl$Locales): Intl$Locale[];
|
|
}
|
|
|
|
declare type Intl$NumberFormatOptions = {
|
|
localeMatcher?: 'lookup' | 'best fit',
|
|
style?: 'decimal' | 'currency' | 'percent',
|
|
currency?: string,
|
|
currencyDisplay?: 'symbol' | 'code' | 'name',
|
|
useGrouping?: boolean,
|
|
minimumIntegerDigits?: number,
|
|
minimumFractionDigits?: number,
|
|
maximumFractionDigits?: number,
|
|
minimumSignificantDigits?: number,
|
|
maximumSignificantDigits?: number
|
|
}
|
|
|
|
declare class Intl$PluralRules {
|
|
constructor (
|
|
locales?: Intl$Locales,
|
|
options?: Intl$PluralRulesOptions
|
|
): Intl$PluralRules;
|
|
|
|
select (number): Intl$PluralRule;
|
|
|
|
resolvedOptions (): {
|
|
locale: Intl$Locale,
|
|
type: 'cardinal' | 'ordinal',
|
|
minimumIntegerDigits?: number,
|
|
minimumFractionDigits?: number,
|
|
maximumFractionDigits?: number,
|
|
minimumSignificantDigits?: number,
|
|
maximumSignificantDigits?: number,
|
|
pluralCategories: Intl$PluralRule[],
|
|
};
|
|
|
|
static supportedLocalesOf (locales?: Intl$Locales): Intl$Locale[];
|
|
}
|
|
|
|
type Intl$PluralRule = 'zero' | 'one' | 'two' | 'few' | 'many' | 'other'
|
|
|
|
declare type Intl$PluralRulesOptions = {
|
|
localeMatcher?: 'lookup' | 'best fit',
|
|
type?: 'cardinal' | 'ordinal',
|
|
minimumIntegerDigits?: number,
|
|
minimumFractionDigits?: number,
|
|
maximumFractionDigits?: number,
|
|
minimumSignificantDigits?: number,
|
|
maximumSignificantDigits?: number
|
|
}
|