TypeScript/tests/cases/compiler/objectLiteralEnumPropertyNames.ts
2017-09-07 11:41:13 -07:00

53 lines
689 B
TypeScript

// Fixes #16887
enum Strs {
A = 'a',
B = 'b'
}
type TestStrs = { [key in Strs]: string }
const x: TestStrs = {
[Strs.A]: 'xo',
[Strs.B]: 'xe'
}
const ux = {
[Strs.A]: 'xo',
[Strs.B]: 'xe'
}
const y: TestStrs = {
['a']: 'yo',
['b']: 'ye'
}
const a = 'a';
const b = 'b';
const z: TestStrs = {
[a]: 'zo',
[b]: 'ze'
}
const uz = {
[a]: 'zo',
[b]: 'ze'
}
enum Nums {
A,
B
}
type TestNums = { 0: number, 1: number }
const n: TestNums = {
[Nums.A]: 1,
[Nums.B]: 2
}
const un = {
[Nums.A]: 3,
[Nums.B]: 4
}
const an = 0;
const bn = 1;
const m: TestNums = {
[an]: 5,
[bn]: 6
}
const um = {
[an]: 7,
[bn]: 8
}