diff --git a/src/lib/es2019.object.d.ts b/src/lib/es2019.object.d.ts index 69b185d7ca91c..e3518b7b9d689 100644 --- a/src/lib/es2019.object.d.ts +++ b/src/lib/es2019.object.d.ts @@ -5,7 +5,7 @@ interface ObjectConstructor { * Returns an object created by key-value entries for properties and methods * @param entries An iterable object that contains key-value entries for properties and methods. */ - fromEntries(entries: Iterable): { [k in PropertyKey]: T }; + fromEntries(entries: Iterable): { [k: string]: T }; /** * Returns an object created by key-value entries for properties and methods diff --git a/tests/baselines/reference/objectFromEntries.types b/tests/baselines/reference/objectFromEntries.types index 8ea08b648ffd2..4d5c71447705a 100644 --- a/tests/baselines/reference/objectFromEntries.types +++ b/tests/baselines/reference/objectFromEntries.types @@ -1,10 +1,10 @@ === tests/cases/compiler/objectFromEntries.ts === const o = Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]); ->o : { [x: string]: number; [x: number]: number; } ->Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]) : { [x: string]: number; [x: number]: number; } ->Object.fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>o : { [k: string]: number; } +>Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]) : { [k: string]: number; } +>Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >Object : ObjectConstructor ->fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >[['a', 1], ['b', 2], ['c', 3]] : [string, number][] >['a', 1] : [string, number] >'a' : "a" @@ -17,20 +17,20 @@ const o = Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]); >3 : 3 const o2 = Object.fromEntries(new URLSearchParams()); ->o2 : { [x: string]: string; [x: number]: string; } ->Object.fromEntries(new URLSearchParams()) : { [x: string]: string; [x: number]: string; } ->Object.fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>o2 : { [k: string]: string; } +>Object.fromEntries(new URLSearchParams()) : { [k: string]: string; } +>Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >Object : ObjectConstructor ->fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >new URLSearchParams() : URLSearchParams >URLSearchParams : { new (init?: string | URLSearchParams | string[][] | Record): URLSearchParams; prototype: URLSearchParams; toString(): string; } const o3 = Object.fromEntries(new Map([[Symbol("key"), "value"]])); ->o3 : { [x: string]: string; [x: number]: string; } ->Object.fromEntries(new Map([[Symbol("key"), "value"]])) : { [x: string]: string; [x: number]: string; } ->Object.fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>o3 : { [k: string]: string; } +>Object.fromEntries(new Map([[Symbol("key"), "value"]])) : { [k: string]: string; } +>Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >Object : ObjectConstructor ->fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >new Map([[Symbol("key"), "value"]]) : Map >Map : MapConstructor >[[Symbol("key"), "value"]] : [symbol, string][] @@ -60,9 +60,9 @@ const frozenArray = Object.freeze([['a', 1], ['b', 2], ['c', 3]]); const o4 = Object.fromEntries(frozenArray); >o4 : any >Object.fromEntries(frozenArray) : any ->Object.fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >Object : ObjectConstructor ->fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >frozenArray : readonly (string | number)[][] const frozenArray2: readonly [string, number][] = Object.freeze([['a', 1], ['b', 2], ['c', 3]]); @@ -83,10 +83,10 @@ const frozenArray2: readonly [string, number][] = Object.freeze([['a', 1], ['b', >3 : 3 const o5 = Object.fromEntries(frozenArray2); ->o5 : { [x: string]: number; [x: number]: number; } ->Object.fromEntries(frozenArray2) : { [x: string]: number; [x: number]: number; } ->Object.fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>o5 : { [k: string]: number; } +>Object.fromEntries(frozenArray2) : { [k: string]: number; } +>Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >Object : ObjectConstructor ->fromEntries : { (entries: Iterable): { [x: string]: T; [x: number]: T; }; (entries: Iterable): any; } +>fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } >frozenArray2 : readonly [string, number][]