@typescript-deploys/pr-build 5.4.0-pr-56902-8 → 5.4.0-pr-56911-7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -55,22 +55,10 @@ declare namespace Intl {
55
55
 
56
56
  const PluralRules: PluralRulesConstructor;
57
57
 
58
- interface NumberFormatPartTypeRegistry {
59
- literal: any;
60
- nan: any;
61
- infinity: any;
62
- percent: any;
63
- integer: any;
64
- group: any;
65
- decimal: any;
66
- fraction: any;
67
- plusSign: any;
68
- minusSign: any;
69
- percentSign: any;
70
- currency: any;
71
- }
72
-
73
- type NumberFormatPartTypes = keyof NumberFormatPartTypeRegistry;
58
+ // We can only have one definition for 'type' in TypeScript, and so you can learn where the keys come from here:
59
+ type ES2018NumberFormatPartType = "literal" | "nan" | "infinity" | "percent" | "integer" | "group" | "decimal" | "fraction" | "plusSign" | "minusSign" | "percentSign" | "currency" | "code" | "symbol" | "name";
60
+ type ES2020NumberFormatPartType = "compact" | "exponentInteger" | "exponentMinusSign" | "exponentSeparator" | "unit" | "unknown";
61
+ type NumberFormatPartTypes = ES2018NumberFormatPartType | ES2020NumberFormatPartType;
74
62
 
75
63
  interface NumberFormatPart {
76
64
  type: NumberFormatPartTypes;
@@ -723,5 +723,6 @@ interface DataView {
723
723
  declare namespace Intl {
724
724
  interface NumberFormat {
725
725
  format(value: number | bigint): string;
726
+ resolvedOptions(): ResolvedNumberFormatOptions;
726
727
  }
727
728
  }
@@ -241,49 +241,24 @@ declare namespace Intl {
241
241
  ): UnicodeBCP47LocaleIdentifier[];
242
242
  };
243
243
 
244
- interface NumberFormatOptionsStyleRegistry {
245
- unit: any;
246
- }
247
-
248
- interface NumberFormatOptionsCurrencyDisplayRegistry {
249
- narrowSymbol: any;
250
- }
251
-
252
- interface NumberFormatOptionsSignDisplayRegistry {
253
- auto: any;
254
- never: any;
255
- always: any;
256
- exceptZero: any;
257
- }
258
-
259
- type NumberFormatOptionsSignDisplay = keyof NumberFormatOptionsSignDisplayRegistry;
260
-
261
244
  interface NumberFormatOptions {
262
- numberingSystem?: string | undefined;
263
245
  compactDisplay?: "short" | "long" | undefined;
264
246
  notation?: "standard" | "scientific" | "engineering" | "compact" | undefined;
265
- signDisplay?: NumberFormatOptionsSignDisplay | undefined;
247
+ signDisplay?: "auto" | "never" | "always" | "exceptZero" | undefined;
266
248
  unit?: string | undefined;
267
249
  unitDisplay?: "short" | "long" | "narrow" | undefined;
268
- currencySign?: "standard" | "accounting" | undefined;
250
+ currencyDisplay?: string | undefined;
251
+ currencySign?: string | undefined;
269
252
  }
270
253
 
271
254
  interface ResolvedNumberFormatOptions {
272
255
  compactDisplay?: "short" | "long";
273
- notation: "standard" | "scientific" | "engineering" | "compact";
274
- signDisplay: NumberFormatOptionsSignDisplay;
256
+ notation?: "standard" | "scientific" | "engineering" | "compact";
257
+ signDisplay?: "auto" | "never" | "always" | "exceptZero";
275
258
  unit?: string;
276
259
  unitDisplay?: "short" | "long" | "narrow";
277
- currencySign?: "standard" | "accounting";
278
- }
279
-
280
- interface NumberFormatPartTypeRegistry {
281
- compact: any;
282
- exponentInteger: any;
283
- exponentMinusSign: any;
284
- exponentSeparator: any;
285
- unit: any;
286
- unknown: any;
260
+ currencyDisplay?: string;
261
+ currencySign?: string;
287
262
  }
288
263
 
289
264
  interface DateTimeFormatOptions {
@@ -19,4 +19,3 @@ and limitations under the License.
19
19
  /// <reference lib="es2022" />
20
20
  /// <reference lib="es2023.array" />
21
21
  /// <reference lib="es2023.collection" />
22
- /// <reference lib="es2023.intl" />
package/lib/lib.es5.d.ts CHANGED
@@ -4427,33 +4427,12 @@ declare namespace Intl {
4427
4427
 
4428
4428
  var Collator: CollatorConstructor;
4429
4429
 
4430
- interface NumberFormatOptionsStyleRegistry {
4431
- decimal: any;
4432
- percent: any;
4433
- currency: any;
4434
- }
4435
-
4436
- type NumberFormatOptionsStyle = keyof NumberFormatOptionsStyleRegistry;
4437
-
4438
- interface NumberFormatOptionsCurrencyDisplayRegistry {
4439
- code: any;
4440
- symbol: any;
4441
- name: any;
4442
- }
4443
-
4444
- type NumberFormatOptionsCurrencyDisplay = keyof NumberFormatOptionsCurrencyDisplayRegistry;
4445
-
4446
- interface NumberFormatOptionsUseGroupingRegistry {}
4447
-
4448
- type NumberFormatOptionsUseGrouping = {} extends NumberFormatOptionsUseGroupingRegistry ? boolean : keyof NumberFormatOptionsUseGroupingRegistry | "true" | "false" | boolean;
4449
- type ResolvedNumberFormatOptionsUseGrouping = {} extends NumberFormatOptionsUseGroupingRegistry ? boolean : keyof NumberFormatOptionsUseGroupingRegistry | false;
4450
-
4451
4430
  interface NumberFormatOptions {
4452
- localeMatcher?: "lookup" | "best fit" | undefined;
4453
- style?: NumberFormatOptionsStyle | undefined;
4431
+ localeMatcher?: string | undefined;
4432
+ style?: string | undefined;
4454
4433
  currency?: string | undefined;
4455
- currencyDisplay?: NumberFormatOptionsCurrencyDisplay | undefined;
4456
- useGrouping?: NumberFormatOptionsUseGrouping | undefined;
4434
+ currencySign?: string | undefined;
4435
+ useGrouping?: boolean | undefined;
4457
4436
  minimumIntegerDigits?: number | undefined;
4458
4437
  minimumFractionDigits?: number | undefined;
4459
4438
  maximumFractionDigits?: number | undefined;
@@ -4464,15 +4443,14 @@ declare namespace Intl {
4464
4443
  interface ResolvedNumberFormatOptions {
4465
4444
  locale: string;
4466
4445
  numberingSystem: string;
4467
- style: NumberFormatOptionsStyle;
4446
+ style: string;
4468
4447
  currency?: string;
4469
- currencyDisplay?: NumberFormatOptionsCurrencyDisplay;
4470
4448
  minimumIntegerDigits: number;
4471
4449
  minimumFractionDigits: number;
4472
4450
  maximumFractionDigits: number;
4473
4451
  minimumSignificantDigits?: number;
4474
4452
  maximumSignificantDigits?: number;
4475
- useGrouping: ResolvedNumberFormatOptionsUseGrouping;
4453
+ useGrouping: boolean;
4476
4454
  }
4477
4455
 
4478
4456
  interface NumberFormat {
@@ -17,5 +17,12 @@ and limitations under the License.
17
17
  /// <reference no-default-lib="true"/>
18
18
 
19
19
  declare namespace Intl {
20
- // Empty
20
+ interface NumberRangeFormatPart extends NumberFormatPart {
21
+ source: "startRange" | "endRange" | "shared";
22
+ }
23
+
24
+ interface NumberFormat {
25
+ formatRange(start: number | bigint, end: number | bigint): string;
26
+ formatRangeToParts(start: number | bigint, end: number | bigint): NumberRangeFormatPart[];
27
+ }
21
28
  }
package/lib/tsc.js CHANGED
@@ -34076,7 +34076,6 @@ var libEntries = [
34076
34076
  ["es2022.regexp", "lib.es2022.regexp.d.ts"],
34077
34077
  ["es2023.array", "lib.es2023.array.d.ts"],
34078
34078
  ["es2023.collection", "lib.es2023.collection.d.ts"],
34079
- ["es2023.intl", "lib.es2023.intl.d.ts"],
34080
34079
  ["esnext.array", "lib.es2023.array.d.ts"],
34081
34080
  ["esnext.collection", "lib.es2023.collection.d.ts"],
34082
34081
  ["esnext.symbol", "lib.es2019.symbol.d.ts"],
@@ -44255,6 +44254,19 @@ function createTypeChecker(host) {
44255
44254
  emptyArray
44256
44255
  );
44257
44256
  var unknownUnionType = strictNullChecks ? getUnionType([undefinedType, nullType, unknownEmptyObjectType]) : unknownType;
44257
+ var keyofConstraintObjectType = createAnonymousType(
44258
+ /*symbol*/
44259
+ void 0,
44260
+ emptySymbols,
44261
+ emptyArray,
44262
+ emptyArray,
44263
+ [stringType, numberType, esSymbolType].map((t) => createIndexInfo(
44264
+ t,
44265
+ unknownType,
44266
+ /*isReadonly*/
44267
+ false
44268
+ ))
44269
+ );
44258
44270
  var emptyGenericType = createAnonymousType(
44259
44271
  /*symbol*/
44260
44272
  void 0,
@@ -54531,17 +54543,13 @@ function createTypeChecker(host) {
54531
54543
  function replaceIndexedAccess(instantiable, type, replacement) {
54532
54544
  return instantiateType(instantiable, createTypeMapper([type.indexType, type.objectType], [getNumberLiteralType(0), createTupleType([replacement])]));
54533
54545
  }
54534
- function getLimitedConstraint(type) {
54546
+ function getReverseMappedTypeMembersLimitingConstraint(type) {
54535
54547
  const constraint = getConstraintTypeFromMappedType(type.mappedType);
54536
- if (!(constraint.flags & 1048576 /* Union */ || constraint.flags & 2097152 /* Intersection */)) {
54537
- return;
54538
- }
54539
- const origin = constraint.flags & 1048576 /* Union */ ? constraint.origin : constraint;
54540
- if (!origin || !(origin.flags & 2097152 /* Intersection */)) {
54548
+ if (constraint === type.constraintType) {
54541
54549
  return;
54542
54550
  }
54543
- const limitedConstraint = getIntersectionType(origin.types.filter((t) => t !== type.constraintType));
54544
- return limitedConstraint !== neverType ? limitedConstraint : void 0;
54551
+ const mapper = appendTypeMapping(type.mappedType.mapper, type.constraintType.type, keyofConstraintObjectType);
54552
+ return getBaseConstraintOrType(instantiateType(constraint, mapper));
54545
54553
  }
54546
54554
  function resolveReverseMappedTypeMembers(type) {
54547
54555
  const indexInfo = getIndexInfoOfType(type.source, stringType);
@@ -54550,11 +54558,11 @@ function createTypeChecker(host) {
54550
54558
  const optionalMask = modifiers & 4 /* IncludeOptional */ ? 0 : 16777216 /* Optional */;
54551
54559
  const indexInfos = indexInfo ? [createIndexInfo(stringType, inferReverseMappedType(indexInfo.type, type.mappedType, type.constraintType), readonlyMask && indexInfo.isReadonly)] : emptyArray;
54552
54560
  const members = createSymbolTable();
54553
- const limitedConstraint = getLimitedConstraint(type);
54561
+ const membersLimitingConstraint = getReverseMappedTypeMembersLimitingConstraint(type);
54554
54562
  for (const prop of getPropertiesOfType(type.source)) {
54555
- if (limitedConstraint) {
54563
+ if (membersLimitingConstraint) {
54556
54564
  const propertyNameType = getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */);
54557
- if (!isTypeAssignableTo(propertyNameType, limitedConstraint)) {
54565
+ if (!isTypeAssignableTo(propertyNameType, membersLimitingConstraint)) {
54558
54566
  continue;
54559
54567
  }
54560
54568
  }
@@ -64832,7 +64840,7 @@ function createTypeChecker(host) {
64832
64840
  }
64833
64841
  }
64834
64842
  function inferToMappedType(source, target, constraintType) {
64835
- if (constraintType.flags & 1048576 /* Union */ || constraintType.flags & 2097152 /* Intersection */) {
64843
+ if (constraintType.flags & 3145728 /* UnionOrIntersection */) {
64836
64844
  let result = false;
64837
64845
  for (const type of constraintType.types) {
64838
64846
  result = inferToMappedType(source, target, type) || result;
package/lib/tsserver.js CHANGED
@@ -38504,7 +38504,6 @@ var libEntries = [
38504
38504
  ["es2022.regexp", "lib.es2022.regexp.d.ts"],
38505
38505
  ["es2023.array", "lib.es2023.array.d.ts"],
38506
38506
  ["es2023.collection", "lib.es2023.collection.d.ts"],
38507
- ["es2023.intl", "lib.es2023.intl.d.ts"],
38508
38507
  ["esnext.array", "lib.es2023.array.d.ts"],
38509
38508
  ["esnext.collection", "lib.es2023.collection.d.ts"],
38510
38509
  ["esnext.symbol", "lib.es2019.symbol.d.ts"],
@@ -48983,6 +48982,19 @@ function createTypeChecker(host) {
48983
48982
  emptyArray
48984
48983
  );
48985
48984
  var unknownUnionType = strictNullChecks ? getUnionType([undefinedType, nullType, unknownEmptyObjectType]) : unknownType;
48985
+ var keyofConstraintObjectType = createAnonymousType(
48986
+ /*symbol*/
48987
+ void 0,
48988
+ emptySymbols,
48989
+ emptyArray,
48990
+ emptyArray,
48991
+ [stringType, numberType, esSymbolType].map((t) => createIndexInfo(
48992
+ t,
48993
+ unknownType,
48994
+ /*isReadonly*/
48995
+ false
48996
+ ))
48997
+ );
48986
48998
  var emptyGenericType = createAnonymousType(
48987
48999
  /*symbol*/
48988
49000
  void 0,
@@ -59259,17 +59271,13 @@ function createTypeChecker(host) {
59259
59271
  function replaceIndexedAccess(instantiable, type, replacement) {
59260
59272
  return instantiateType(instantiable, createTypeMapper([type.indexType, type.objectType], [getNumberLiteralType(0), createTupleType([replacement])]));
59261
59273
  }
59262
- function getLimitedConstraint(type) {
59274
+ function getReverseMappedTypeMembersLimitingConstraint(type) {
59263
59275
  const constraint = getConstraintTypeFromMappedType(type.mappedType);
59264
- if (!(constraint.flags & 1048576 /* Union */ || constraint.flags & 2097152 /* Intersection */)) {
59265
- return;
59266
- }
59267
- const origin = constraint.flags & 1048576 /* Union */ ? constraint.origin : constraint;
59268
- if (!origin || !(origin.flags & 2097152 /* Intersection */)) {
59276
+ if (constraint === type.constraintType) {
59269
59277
  return;
59270
59278
  }
59271
- const limitedConstraint = getIntersectionType(origin.types.filter((t) => t !== type.constraintType));
59272
- return limitedConstraint !== neverType ? limitedConstraint : void 0;
59279
+ const mapper = appendTypeMapping(type.mappedType.mapper, type.constraintType.type, keyofConstraintObjectType);
59280
+ return getBaseConstraintOrType(instantiateType(constraint, mapper));
59273
59281
  }
59274
59282
  function resolveReverseMappedTypeMembers(type) {
59275
59283
  const indexInfo = getIndexInfoOfType(type.source, stringType);
@@ -59278,11 +59286,11 @@ function createTypeChecker(host) {
59278
59286
  const optionalMask = modifiers & 4 /* IncludeOptional */ ? 0 : 16777216 /* Optional */;
59279
59287
  const indexInfos = indexInfo ? [createIndexInfo(stringType, inferReverseMappedType(indexInfo.type, type.mappedType, type.constraintType), readonlyMask && indexInfo.isReadonly)] : emptyArray;
59280
59288
  const members = createSymbolTable();
59281
- const limitedConstraint = getLimitedConstraint(type);
59289
+ const membersLimitingConstraint = getReverseMappedTypeMembersLimitingConstraint(type);
59282
59290
  for (const prop of getPropertiesOfType(type.source)) {
59283
- if (limitedConstraint) {
59291
+ if (membersLimitingConstraint) {
59284
59292
  const propertyNameType = getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */);
59285
- if (!isTypeAssignableTo(propertyNameType, limitedConstraint)) {
59293
+ if (!isTypeAssignableTo(propertyNameType, membersLimitingConstraint)) {
59286
59294
  continue;
59287
59295
  }
59288
59296
  }
@@ -69560,7 +69568,7 @@ function createTypeChecker(host) {
69560
69568
  }
69561
69569
  }
69562
69570
  function inferToMappedType(source, target, constraintType) {
69563
- if (constraintType.flags & 1048576 /* Union */ || constraintType.flags & 2097152 /* Intersection */) {
69571
+ if (constraintType.flags & 3145728 /* UnionOrIntersection */) {
69564
69572
  let result = false;
69565
69573
  for (const type of constraintType.types) {
69566
69574
  result = inferToMappedType(source, target, type) || result;
package/lib/typescript.js CHANGED
@@ -37998,7 +37998,6 @@ ${lanes.join("\n")}
37998
37998
  ["es2022.regexp", "lib.es2022.regexp.d.ts"],
37999
37999
  ["es2023.array", "lib.es2023.array.d.ts"],
38000
38000
  ["es2023.collection", "lib.es2023.collection.d.ts"],
38001
- ["es2023.intl", "lib.es2023.intl.d.ts"],
38002
38001
  ["esnext.array", "lib.es2023.array.d.ts"],
38003
38002
  ["esnext.collection", "lib.es2023.collection.d.ts"],
38004
38003
  ["esnext.symbol", "lib.es2019.symbol.d.ts"],
@@ -46737,6 +46736,19 @@ ${lanes.join("\n")}
46737
46736
  emptyArray
46738
46737
  );
46739
46738
  var unknownUnionType = strictNullChecks ? getUnionType([undefinedType, nullType, unknownEmptyObjectType]) : unknownType;
46739
+ var keyofConstraintObjectType = createAnonymousType(
46740
+ /*symbol*/
46741
+ void 0,
46742
+ emptySymbols,
46743
+ emptyArray,
46744
+ emptyArray,
46745
+ [stringType, numberType, esSymbolType].map((t) => createIndexInfo(
46746
+ t,
46747
+ unknownType,
46748
+ /*isReadonly*/
46749
+ false
46750
+ ))
46751
+ );
46740
46752
  var emptyGenericType = createAnonymousType(
46741
46753
  /*symbol*/
46742
46754
  void 0,
@@ -57013,17 +57025,13 @@ ${lanes.join("\n")}
57013
57025
  function replaceIndexedAccess(instantiable, type, replacement) {
57014
57026
  return instantiateType(instantiable, createTypeMapper([type.indexType, type.objectType], [getNumberLiteralType(0), createTupleType([replacement])]));
57015
57027
  }
57016
- function getLimitedConstraint(type) {
57028
+ function getReverseMappedTypeMembersLimitingConstraint(type) {
57017
57029
  const constraint = getConstraintTypeFromMappedType(type.mappedType);
57018
- if (!(constraint.flags & 1048576 /* Union */ || constraint.flags & 2097152 /* Intersection */)) {
57019
- return;
57020
- }
57021
- const origin = constraint.flags & 1048576 /* Union */ ? constraint.origin : constraint;
57022
- if (!origin || !(origin.flags & 2097152 /* Intersection */)) {
57030
+ if (constraint === type.constraintType) {
57023
57031
  return;
57024
57032
  }
57025
- const limitedConstraint = getIntersectionType(origin.types.filter((t) => t !== type.constraintType));
57026
- return limitedConstraint !== neverType ? limitedConstraint : void 0;
57033
+ const mapper = appendTypeMapping(type.mappedType.mapper, type.constraintType.type, keyofConstraintObjectType);
57034
+ return getBaseConstraintOrType(instantiateType(constraint, mapper));
57027
57035
  }
57028
57036
  function resolveReverseMappedTypeMembers(type) {
57029
57037
  const indexInfo = getIndexInfoOfType(type.source, stringType);
@@ -57032,11 +57040,11 @@ ${lanes.join("\n")}
57032
57040
  const optionalMask = modifiers & 4 /* IncludeOptional */ ? 0 : 16777216 /* Optional */;
57033
57041
  const indexInfos = indexInfo ? [createIndexInfo(stringType, inferReverseMappedType(indexInfo.type, type.mappedType, type.constraintType), readonlyMask && indexInfo.isReadonly)] : emptyArray;
57034
57042
  const members = createSymbolTable();
57035
- const limitedConstraint = getLimitedConstraint(type);
57043
+ const membersLimitingConstraint = getReverseMappedTypeMembersLimitingConstraint(type);
57036
57044
  for (const prop of getPropertiesOfType(type.source)) {
57037
- if (limitedConstraint) {
57045
+ if (membersLimitingConstraint) {
57038
57046
  const propertyNameType = getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */);
57039
- if (!isTypeAssignableTo(propertyNameType, limitedConstraint)) {
57047
+ if (!isTypeAssignableTo(propertyNameType, membersLimitingConstraint)) {
57040
57048
  continue;
57041
57049
  }
57042
57050
  }
@@ -67314,7 +67322,7 @@ ${lanes.join("\n")}
67314
67322
  }
67315
67323
  }
67316
67324
  function inferToMappedType(source, target, constraintType) {
67317
- if (constraintType.flags & 1048576 /* Union */ || constraintType.flags & 2097152 /* Intersection */) {
67325
+ if (constraintType.flags & 3145728 /* UnionOrIntersection */) {
67318
67326
  let result = false;
67319
67327
  for (const type of constraintType.types) {
67320
67328
  result = inferToMappedType(source, target, type) || result;
@@ -25932,7 +25932,6 @@ var libEntries = [
25932
25932
  ["es2022.regexp", "lib.es2022.regexp.d.ts"],
25933
25933
  ["es2023.array", "lib.es2023.array.d.ts"],
25934
25934
  ["es2023.collection", "lib.es2023.collection.d.ts"],
25935
- ["es2023.intl", "lib.es2023.intl.d.ts"],
25936
25935
  ["esnext.array", "lib.es2023.array.d.ts"],
25937
25936
  ["esnext.collection", "lib.es2023.collection.d.ts"],
25938
25937
  ["esnext.symbol", "lib.es2019.symbol.d.ts"],
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typescript-deploys/pr-build",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.4.0-pr-56902-8",
5
+ "version": "5.4.0-pr-56911-7",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -114,5 +114,5 @@
114
114
  "node": "20.1.0",
115
115
  "npm": "8.19.4"
116
116
  },
117
- "gitHead": "c379e13d533fa68cb366a822ad8455adfaf63ba7"
117
+ "gitHead": "3baf3b4e1804f2f32ace0d49b294bcf08f3ee314"
118
118
  }
@@ -1,52 +0,0 @@
1
- /*! *****************************************************************************
2
- Copyright (c) Microsoft Corporation. All rights reserved.
3
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
- this file except in compliance with the License. You may obtain a copy of the
5
- License at http://www.apache.org/licenses/LICENSE-2.0
6
-
7
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
- MERCHANTABLITY OR NON-INFRINGEMENT.
11
-
12
- See the Apache Version 2.0 License for specific language governing permissions
13
- and limitations under the License.
14
- ***************************************************************************** */
15
-
16
-
17
- /// <reference no-default-lib="true"/>
18
-
19
- declare namespace Intl {
20
- interface NumberFormatOptionsUseGroupingRegistry {
21
- min2: any;
22
- auto: any;
23
- always: any;
24
- }
25
-
26
- interface NumberFormatOptionsSignDisplayRegistry {
27
- negative: any;
28
- }
29
-
30
- interface NumberFormatOptions {
31
- roundingPriority?: "auto" | "morePrecision" | "lessPrecision" | undefined;
32
- roundingIncrement?: 1 | 2 | 5 | 10 | 20 | 25 | 50 | 100 | 200 | 250 | 500 | 1000 | 2000 | 2500 | 5000 | undefined;
33
- roundingMode?: "ceil" | "floor" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined;
34
- trailingZeroDisplay?: "auto" | "stripIfInteger" | undefined;
35
- }
36
-
37
- interface ResolvedNumberFormatOptions {
38
- roundingPriority: "auto" | "morePrecision" | "lessPrecision";
39
- roundingMode: "ceil" | "floor" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven";
40
- roundingIncrement: 1 | 2 | 5 | 10 | 20 | 25 | 50 | 100 | 200 | 250 | 500 | 1000 | 2000 | 2500 | 5000;
41
- trailingZeroDisplay: "auto" | "stripIfInteger";
42
- }
43
-
44
- interface NumberRangeFormatPart extends NumberFormatPart {
45
- source: "startRange" | "endRange" | "shared";
46
- }
47
-
48
- interface NumberFormat {
49
- formatRange(start: number | bigint, end: number | bigint): string;
50
- formatRangeToParts(start: number | bigint, end: number | bigint): NumberRangeFormatPart[];
51
- }
52
- }