From 2b11b723e199eadebedaadb6b5e96e4a4f7e7269 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 19 Sep 2026 01:25:12 +0000 Subject: [PATCH 1/2] Initial plan From f8f7e044e4cc0d04ead007c179b603db0a8a9a88 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 19 Sep 2026 01:35:19 +0000 Subject: [PATCH 2/2] Model required currency/unit options for Intl.NumberFormat currency/unit styles Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com> --- .../bundled/libs/lib.es2020.intl.d.ts | 8 +- tsc/internal/bundled/libs/lib.es5.d.ts | 14 +- ...umberFormatRequiredStyleOptions.errors.txt | 61 +++++++++ .../intlNumberFormatRequiredStyleOptions.js | 40 ++++++ ...tlNumberFormatRequiredStyleOptions.symbols | 82 ++++++++++++ ...intlNumberFormatRequiredStyleOptions.types | 122 ++++++++++++++++++ .../intlNumberFormatRequiredStyleOptions.ts | 22 ++++ 7 files changed, 345 insertions(+), 4 deletions(-) create mode 100644 tsc/testdata/baselines/reference/conformance/intlNumberFormatRequiredStyleOptions.errors.txt create mode 100644 tsc/testdata/baselines/reference/conformance/intlNumberFormatRequiredStyleOptions.js create mode 100644 tsc/testdata/baselines/reference/conformance/intlNumberFormatRequiredStyleOptions.symbols create mode 100644 tsc/testdata/baselines/reference/conformance/intlNumberFormatRequiredStyleOptions.types create mode 100644 tsc/testdata/tests/cases/conformance/es2020/intlNumberFormatRequiredStyleOptions.ts diff --git a/tsc/internal/bundled/libs/lib.es2020.intl.d.ts b/tsc/internal/bundled/libs/lib.es2020.intl.d.ts index 6f0980e0fe909..76b9d5c5e8b77 100644 --- a/tsc/internal/bundled/libs/lib.es2020.intl.d.ts +++ b/tsc/internal/bundled/libs/lib.es2020.intl.d.ts @@ -243,6 +243,10 @@ declare namespace Intl { unit: never; } + interface NumberFormatOptionsStyleRequiredOptionsRegistry { + unit: { unit: string }; + } + interface NumberFormatOptionsCurrencyDisplayRegistry { narrowSymbol: never; } @@ -458,8 +462,8 @@ declare namespace Intl { } interface NumberFormatConstructor { - new (locales?: LocalesArgument, options?: NumberFormatOptions): NumberFormat; - (locales?: LocalesArgument, options?: NumberFormatOptions): NumberFormat; + new (locales?: LocalesArgument, options?: T & NumberFormatOptionsStyleRequiredOptions): NumberFormat; + (locales?: LocalesArgument, options?: T & NumberFormatOptionsStyleRequiredOptions): NumberFormat; supportedLocalesOf(locales: LocalesArgument, options?: NumberFormatOptions): string[]; } diff --git a/tsc/internal/bundled/libs/lib.es5.d.ts b/tsc/internal/bundled/libs/lib.es5.d.ts index e394111cb0e6c..37ffbaa32f960 100644 --- a/tsc/internal/bundled/libs/lib.es5.d.ts +++ b/tsc/internal/bundled/libs/lib.es5.d.ts @@ -4455,6 +4455,16 @@ declare namespace Intl { type NumberFormatOptionsStyle = keyof NumberFormatOptionsStyleRegistry; + interface NumberFormatOptionsStyleRequiredOptionsRegistry { + decimal: {}; + percent: {}; + currency: { currency: string }; + } + + type NumberFormatOptionsStyleRequiredOptions