Skip to content

Commit e313fef

Browse files
authored
Merge pull request #12547 from Microsoft/Revert12207
Revert #12207
2 parents c89b1eb + 82e84e2 commit e313fef

File tree

3 files changed

+31
-20
lines changed

3 files changed

+31
-20
lines changed

src/lib/es2017.object.d.ts

+12-1
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,22 @@ interface ObjectConstructor {
44
* @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
55
*/
66
values<T>(o: { [s: string]: T }): T[];
7+
8+
/**
9+
* Returns an array of values of the enumerable properties of an object
10+
* @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
11+
*/
712
values(o: any): any[];
13+
14+
/**
15+
* Returns an array of key/values of the enumerable properties of an object
16+
* @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
17+
*/
18+
entries<T>(o: { [s: string]: T }): [string, T][];
19+
820
/**
921
* Returns an array of key/values of the enumerable properties of an object
1022
* @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
1123
*/
12-
entries<T extends { [key: string]: any }, K extends keyof T>(o: T): [keyof T, T[K]][];
1324
entries(o: any): [string, any][];
1425
}

tests/baselines/reference/useObjectValuesAndEntries1.types

+15-15
Original file line numberDiff line numberDiff line change
@@ -22,38 +22,38 @@ for (var x of Object.values(o)) {
2222
}
2323

2424
var entries = Object.entries(o); // <-- entries: ['a' | 'b', number][]
25-
>entries : ["a" | "b", number][]
26-
>Object.entries(o) : ["a" | "b", number][]
27-
>Object.entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
25+
>entries : [string, number][]
26+
>Object.entries(o) : [string, number][]
27+
>Object.entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
2828
>Object : ObjectConstructor
29-
>entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
29+
>entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
3030
>o : { a: number; b: number; }
3131

3232
var entries1 = Object.entries(1); // <-- entries: [string, any][]
3333
>entries1 : [string, any][]
3434
>Object.entries(1) : [string, any][]
35-
>Object.entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
35+
>Object.entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
3636
>Object : ObjectConstructor
37-
>entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
37+
>entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
3838
>1 : 1
3939

4040
var entries2 = Object.entries({a: true, b: 2}) // ['a' | 'b', number | boolean][]
41-
>entries2 : ["a" | "b", number | boolean][]
42-
>Object.entries({a: true, b: 2}) : ["a" | "b", number | boolean][]
43-
>Object.entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
41+
>entries2 : [string, number | boolean][]
42+
>Object.entries({a: true, b: 2}) : [string, number | boolean][]
43+
>Object.entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
4444
>Object : ObjectConstructor
45-
>entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
46-
>{a: true, b: 2} : { a: true; b: number; }
45+
>entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
46+
>{a: true, b: 2} : { a: true; b: 2; }
4747
>a : boolean
4848
>true : true
4949
>b : number
5050
>2 : 2
5151

5252
var entries3 = Object.entries({}) // [never, any][]
53-
>entries3 : [never, any][]
54-
>Object.entries({}) : [never, any][]
55-
>Object.entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
53+
>entries3 : [string, {}][]
54+
>Object.entries({}) : [string, {}][]
55+
>Object.entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
5656
>Object : ObjectConstructor
57-
>entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
57+
>entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
5858
>{} : {}
5959

tests/baselines/reference/useObjectValuesAndEntries4.types

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ for (var x of Object.values(o)) {
2222
}
2323

2424
var entries = Object.entries(o);
25-
>entries : ["a" | "b", number][]
26-
>Object.entries(o) : ["a" | "b", number][]
27-
>Object.entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
25+
>entries : [string, number][]
26+
>Object.entries(o) : [string, number][]
27+
>Object.entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
2828
>Object : ObjectConstructor
29-
>entries : { <T extends { [key: string]: any; }, K extends keyof T>(o: T): [keyof T, T[K]][]; (o: any): [string, any][]; }
29+
>entries : { <T>(o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; }
3030
>o : { a: number; b: number; }
3131

0 commit comments

Comments
 (0)