diff options
Diffstat (limited to 'cli/tsc/dts/lib.es2018.intl.d.ts')
-rw-r--r-- | cli/tsc/dts/lib.es2018.intl.d.ts | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/cli/tsc/dts/lib.es2018.intl.d.ts b/cli/tsc/dts/lib.es2018.intl.d.ts new file mode 100644 index 000000000..97c0eedb0 --- /dev/null +++ b/cli/tsc/dts/lib.es2018.intl.d.ts @@ -0,0 +1,73 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + + + +/// <reference no-default-lib="true"/> + + +declare namespace Intl { + + // http://cldr.unicode.org/index/cldr-spec/plural-rules#TOC-Determining-Plural-Categories + type LDMLPluralRule = "zero" | "one" | "two" | "few" | "many" | "other"; + type PluralRuleType = "cardinal" | "ordinal"; + + interface PluralRulesOptions { + localeMatcher?: "lookup" | "best fit" | undefined; + type?: PluralRuleType | undefined; + minimumIntegerDigits?: number | undefined; + minimumFractionDigits?: number | undefined; + maximumFractionDigits?: number | undefined; + minimumSignificantDigits?: number | undefined; + maximumSignificantDigits?: number | undefined; + } + + interface ResolvedPluralRulesOptions { + locale: string; + pluralCategories: LDMLPluralRule[]; + type: PluralRuleType; + minimumIntegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + } + + interface PluralRules { + resolvedOptions(): ResolvedPluralRulesOptions; + select(n: number): LDMLPluralRule; + } + + const PluralRules: { + new (locales?: string | string[], options?: PluralRulesOptions): PluralRules; + (locales?: string | string[], options?: PluralRulesOptions): PluralRules; + + supportedLocalesOf(locales: string | string[], options?: { localeMatcher?: "lookup" | "best fit" }): string[]; + }; + + // We can only have one definition for 'type' in TypeScript, and so you can learn where the keys come from here: + type ES2018NumberFormatPartType = "literal" | "nan" | "infinity" | "percent" | "integer" | "group" | "decimal" | "fraction" | "plusSign" | "minusSign" | "percentSign" | "currency" | "code" | "symbol" | "name"; + type ES2020NumberFormatPartType = "compact" | "exponentInteger" | "exponentMinusSign" | "exponentSeparator" | "unit" | "unknown"; + type NumberFormatPartTypes = ES2018NumberFormatPartType | ES2020NumberFormatPartType; + + interface NumberFormatPart { + type: NumberFormatPartTypes; + value: string; + } + + interface NumberFormat { + formatToParts(number?: number | bigint): NumberFormatPart[]; + } +} |