mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-15 03:23:08 -06:00
Add approximatelySign to NumberFormatPartTypeRegistry for ES2023
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
This commit is contained in:
parent
64a51e8e28
commit
5de28dbf4d
22
src/lib/es2023.intl.d.ts
vendored
22
src/lib/es2023.intl.d.ts
vendored
@ -1,12 +1,16 @@
|
||||
declare namespace Intl {
|
||||
interface NumberFormatOptionsUseGroupingRegistry {
|
||||
min2: never;
|
||||
auto: never;
|
||||
always: never;
|
||||
}
|
||||
|
||||
interface NumberFormatOptionsSignDisplayRegistry {
|
||||
negative: never;
|
||||
declare namespace Intl {
|
||||
interface NumberFormatOptionsUseGroupingRegistry {
|
||||
min2: never;
|
||||
auto: never;
|
||||
always: never;
|
||||
}
|
||||
|
||||
interface NumberFormatOptionsSignDisplayRegistry {
|
||||
negative: never;
|
||||
}
|
||||
|
||||
interface NumberFormatPartTypeRegistry {
|
||||
approximatelySign: never;
|
||||
}
|
||||
|
||||
interface NumberFormatOptions {
|
||||
|
||||
@ -31,6 +31,19 @@ new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8');
|
||||
new Intl.NumberFormat('en-GB').format('Infinity');
|
||||
new Intl.NumberFormat('en-GB').format('-Infinity');
|
||||
new Intl.NumberFormat('en-GB').format('+Infinity');
|
||||
|
||||
// Test approximatelySign part type
|
||||
const nf = new Intl.NumberFormat("en-US", {
|
||||
style: "currency",
|
||||
currency: "EUR",
|
||||
maximumFractionDigits: 0,
|
||||
});
|
||||
|
||||
nf
|
||||
.formatRangeToParts(100, 100)
|
||||
.filter((part) => part.type !== "approximatelySign")
|
||||
.map((part) => part.value)
|
||||
.join("");
|
||||
|
||||
|
||||
//// [intlNumberFormatES2023.js]
|
||||
@ -59,3 +72,14 @@ new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8');
|
||||
new Intl.NumberFormat('en-GB').format('Infinity');
|
||||
new Intl.NumberFormat('en-GB').format('-Infinity');
|
||||
new Intl.NumberFormat('en-GB').format('+Infinity');
|
||||
// Test approximatelySign part type
|
||||
const nf = new Intl.NumberFormat("en-US", {
|
||||
style: "currency",
|
||||
currency: "EUR",
|
||||
maximumFractionDigits: 0,
|
||||
});
|
||||
nf
|
||||
.formatRangeToParts(100, 100)
|
||||
.filter((part) => part.type !== "approximatelySign")
|
||||
.map((part) => part.value)
|
||||
.join("");
|
||||
|
||||
@ -130,3 +130,48 @@ new Intl.NumberFormat('en-GB').format('+Infinity');
|
||||
>NumberFormat : Symbol(Intl.NumberFormat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2018.intl.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2023.intl.d.ts, --, --))
|
||||
>format : Symbol(Intl.NumberFormat.format, Decl(lib.es5.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2023.intl.d.ts, --, --))
|
||||
|
||||
// Test approximatelySign part type
|
||||
const nf = new Intl.NumberFormat("en-US", {
|
||||
>nf : Symbol(nf, Decl(intlNumberFormatES2023.ts, 32, 5))
|
||||
>Intl.NumberFormat : Symbol(Intl.NumberFormat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2018.intl.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2023.intl.d.ts, --, --))
|
||||
>Intl : Symbol(Intl, Decl(lib.es5.d.ts, --, --), Decl(lib.es2016.intl.d.ts, --, --), Decl(lib.es2017.intl.d.ts, --, --), Decl(lib.es2018.intl.d.ts, --, --), Decl(lib.es2019.intl.d.ts, --, --) ... and 5 more)
|
||||
>NumberFormat : Symbol(Intl.NumberFormat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2018.intl.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2023.intl.d.ts, --, --))
|
||||
|
||||
style: "currency",
|
||||
>style : Symbol(style, Decl(intlNumberFormatES2023.ts, 32, 43))
|
||||
|
||||
currency: "EUR",
|
||||
>currency : Symbol(currency, Decl(intlNumberFormatES2023.ts, 33, 20))
|
||||
|
||||
maximumFractionDigits: 0,
|
||||
>maximumFractionDigits : Symbol(maximumFractionDigits, Decl(intlNumberFormatES2023.ts, 34, 18))
|
||||
|
||||
});
|
||||
|
||||
nf
|
||||
>nf .formatRangeToParts(100, 100) .filter((part) => part.type !== "approximatelySign") .map((part) => part.value) .join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --))
|
||||
>nf .formatRangeToParts(100, 100) .filter((part) => part.type !== "approximatelySign") .map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --))
|
||||
>nf .formatRangeToParts(100, 100) .filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
|
||||
>nf .formatRangeToParts : Symbol(Intl.NumberFormat.formatRangeToParts, Decl(lib.es2023.intl.d.ts, --, --))
|
||||
>nf : Symbol(nf, Decl(intlNumberFormatES2023.ts, 32, 5))
|
||||
|
||||
.formatRangeToParts(100, 100)
|
||||
>formatRangeToParts : Symbol(Intl.NumberFormat.formatRangeToParts, Decl(lib.es2023.intl.d.ts, --, --))
|
||||
|
||||
.filter((part) => part.type !== "approximatelySign")
|
||||
>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
|
||||
>part : Symbol(part, Decl(intlNumberFormatES2023.ts, 40, 11))
|
||||
>part.type : Symbol(Intl.NumberFormatPart.type, Decl(lib.es2018.intl.d.ts, --, --))
|
||||
>part : Symbol(part, Decl(intlNumberFormatES2023.ts, 40, 11))
|
||||
>type : Symbol(Intl.NumberFormatPart.type, Decl(lib.es2018.intl.d.ts, --, --))
|
||||
|
||||
.map((part) => part.value)
|
||||
>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --))
|
||||
>part : Symbol(part, Decl(intlNumberFormatES2023.ts, 41, 8))
|
||||
>part.value : Symbol(Intl.NumberFormatPart.value, Decl(lib.es2018.intl.d.ts, --, --))
|
||||
>part : Symbol(part, Decl(intlNumberFormatES2023.ts, 41, 8))
|
||||
>value : Symbol(Intl.NumberFormatPart.value, Decl(lib.es2018.intl.d.ts, --, --))
|
||||
|
||||
.join("");
|
||||
>join : Symbol(Array.join, Decl(lib.es5.d.ts, --, --))
|
||||
|
||||
|
||||
@ -376,3 +376,106 @@ new Intl.NumberFormat('en-GB').format('+Infinity');
|
||||
>'+Infinity' : "+Infinity"
|
||||
> : ^^^^^^^^^^^
|
||||
|
||||
// Test approximatelySign part type
|
||||
const nf = new Intl.NumberFormat("en-US", {
|
||||
>nf : Intl.NumberFormat
|
||||
> : ^^^^^^^^^^^^^^^^^
|
||||
>new Intl.NumberFormat("en-US", { style: "currency", currency: "EUR", maximumFractionDigits: 0,}) : Intl.NumberFormat
|
||||
> : ^^^^^^^^^^^^^^^^^
|
||||
>Intl.NumberFormat : Intl.NumberFormatConstructor
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>Intl : typeof Intl
|
||||
> : ^^^^^^^^^^^
|
||||
>NumberFormat : Intl.NumberFormatConstructor
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>"en-US" : "en-US"
|
||||
> : ^^^^^^^
|
||||
>{ style: "currency", currency: "EUR", maximumFractionDigits: 0,} : { style: "currency"; currency: string; maximumFractionDigits: number; }
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
style: "currency",
|
||||
>style : "currency"
|
||||
> : ^^^^^^^^^^
|
||||
>"currency" : "currency"
|
||||
> : ^^^^^^^^^^
|
||||
|
||||
currency: "EUR",
|
||||
>currency : string
|
||||
> : ^^^^^^
|
||||
>"EUR" : "EUR"
|
||||
> : ^^^^^
|
||||
|
||||
maximumFractionDigits: 0,
|
||||
>maximumFractionDigits : number
|
||||
> : ^^^^^^
|
||||
>0 : 0
|
||||
> : ^
|
||||
|
||||
});
|
||||
|
||||
nf
|
||||
>nf .formatRangeToParts(100, 100) .filter((part) => part.type !== "approximatelySign") .map((part) => part.value) .join("") : string
|
||||
> : ^^^^^^
|
||||
>nf .formatRangeToParts(100, 100) .filter((part) => part.type !== "approximatelySign") .map((part) => part.value) .join : (separator?: string) => string
|
||||
> : ^ ^^^ ^^^^^
|
||||
>nf .formatRangeToParts(100, 100) .filter((part) => part.type !== "approximatelySign") .map((part) => part.value) : string[]
|
||||
> : ^^^^^^^^
|
||||
>nf .formatRangeToParts(100, 100) .filter((part) => part.type !== "approximatelySign") .map : <U>(callbackfn: (value: Intl.NumberRangeFormatPart, index: number, array: Intl.NumberRangeFormatPart[]) => U, thisArg?: any) => U[]
|
||||
> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^
|
||||
>nf .formatRangeToParts(100, 100) .filter((part) => part.type !== "approximatelySign") : Intl.NumberRangeFormatPart[]
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>nf .formatRangeToParts(100, 100) .filter : { <S extends Intl.NumberRangeFormatPart>(predicate: (value: Intl.NumberRangeFormatPart, index: number, array: Intl.NumberRangeFormatPart[]) => value is S, thisArg?: any): S[]; (predicate: (value: Intl.NumberRangeFormatPart, index: number, array: Intl.NumberRangeFormatPart[]) => unknown, thisArg?: any): Intl.NumberRangeFormatPart[]; }
|
||||
> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>nf .formatRangeToParts(100, 100) : Intl.NumberRangeFormatPart[]
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>nf .formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[]
|
||||
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>nf : Intl.NumberFormat
|
||||
> : ^^^^^^^^^^^^^^^^^
|
||||
|
||||
.formatRangeToParts(100, 100)
|
||||
>formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[]
|
||||
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>100 : 100
|
||||
> : ^^^
|
||||
>100 : 100
|
||||
> : ^^^
|
||||
|
||||
.filter((part) => part.type !== "approximatelySign")
|
||||
>filter : { <S extends Intl.NumberRangeFormatPart>(predicate: (value: Intl.NumberRangeFormatPart, index: number, array: Intl.NumberRangeFormatPart[]) => value is S, thisArg?: any): S[]; (predicate: (value: Intl.NumberRangeFormatPart, index: number, array: Intl.NumberRangeFormatPart[]) => unknown, thisArg?: any): Intl.NumberRangeFormatPart[]; }
|
||||
> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>(part) => part.type !== "approximatelySign" : (part: Intl.NumberRangeFormatPart) => boolean
|
||||
> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>part : Intl.NumberRangeFormatPart
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>part.type !== "approximatelySign" : boolean
|
||||
> : ^^^^^^^
|
||||
>part.type : keyof Intl.NumberFormatPartTypeRegistry
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>part : Intl.NumberRangeFormatPart
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>type : keyof Intl.NumberFormatPartTypeRegistry
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>"approximatelySign" : "approximatelySign"
|
||||
> : ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.map((part) => part.value)
|
||||
>map : <U>(callbackfn: (value: Intl.NumberRangeFormatPart, index: number, array: Intl.NumberRangeFormatPart[]) => U, thisArg?: any) => U[]
|
||||
> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^
|
||||
>(part) => part.value : (part: Intl.NumberRangeFormatPart) => string
|
||||
> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>part : Intl.NumberRangeFormatPart
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>part.value : string
|
||||
> : ^^^^^^
|
||||
>part : Intl.NumberRangeFormatPart
|
||||
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
>value : string
|
||||
> : ^^^^^^
|
||||
|
||||
.join("");
|
||||
>join : (separator?: string) => string
|
||||
> : ^ ^^^ ^^^^^
|
||||
>"" : ""
|
||||
> : ^^
|
||||
|
||||
|
||||
@ -25,10 +25,23 @@ new Intl.NumberFormat('en-GB').formatRange(10n, 1000n);
|
||||
new Intl.NumberFormat('en-GB').formatRangeToParts(10, 1000)[0];
|
||||
new Intl.NumberFormat('en-GB').formatRangeToParts(10n, 1000n)[0];
|
||||
|
||||
// Arbitrary-precision string arguments
|
||||
new Intl.NumberFormat('en-GB').format('-12.3E-4');
|
||||
new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8');
|
||||
new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8');
|
||||
new Intl.NumberFormat('en-GB').format('Infinity');
|
||||
new Intl.NumberFormat('en-GB').format('-Infinity');
|
||||
new Intl.NumberFormat('en-GB').format('+Infinity');
|
||||
// Arbitrary-precision string arguments
|
||||
new Intl.NumberFormat('en-GB').format('-12.3E-4');
|
||||
new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8');
|
||||
new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8');
|
||||
new Intl.NumberFormat('en-GB').format('Infinity');
|
||||
new Intl.NumberFormat('en-GB').format('-Infinity');
|
||||
new Intl.NumberFormat('en-GB').format('+Infinity');
|
||||
|
||||
// Test approximatelySign part type
|
||||
const nf = new Intl.NumberFormat("en-US", {
|
||||
style: "currency",
|
||||
currency: "EUR",
|
||||
maximumFractionDigits: 0,
|
||||
});
|
||||
|
||||
nf
|
||||
.formatRangeToParts(100, 100)
|
||||
.filter((part) => part.type !== "approximatelySign")
|
||||
.map((part) => part.value)
|
||||
.join("");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user