TypeScript/tests/cases/conformance/es2017/useObjectValuesAndEntries1.ts
Mohamed Hegazy b0d7d5a7ef
Fix #21089: Do not infer from numeric index signature in Object.values and Object.entries (#21129)
* Fix https://github.com/Microsoft/TypeScript/issues/21089: Do not infer from numeric index signature in Object.values and Object.entries

* Update test
2018-01-17 14:16:11 -08:00

33 lines
1.2 KiB
TypeScript

// @target: es5
// @lib: es5,es2017.object
var o = { a: 1, b: 2 };
for (var x of Object.values(o)) {
let y = x;
}
var entries = Object.entries(o); // [string, number][]
var values = Object.values(o); // number[]
var entries1 = Object.entries(1); // [string, any][]
var values1 = Object.values(1); // any[]
var entries2 = Object.entries({ a: true, b: 2 }); // [string, number|boolean][]
var values2 = Object.values({ a: true, b: 2 }); // (number|boolean)[]
var entries3 = Object.entries({}); // [string, {}][]
var values3 = Object.values({}); // {}[]
var a = ["a", "b", "c"];
var entries4 = Object.entries(a); // [string, string][]
var values4 = Object.values(a); // string[]
enum E { A, B }
var entries5 = Object.entries(E); // [string, any][]
var values5 = Object.values(E); // any[]
interface I { }
var i: I = {};
var entries6 = Object.entries(i); // [string, any][]
var values6 = Object.values(i); // any[]