2014-07-13 01:04:16 +02:00
|
|
|
//// [bestCommonTypeWithOptionalProperties.ts]
|
|
|
|
interface X { foo: string }
|
|
|
|
interface Y extends X { bar?: number }
|
|
|
|
interface Z extends X { bar: string }
|
|
|
|
|
|
|
|
var x: X;
|
|
|
|
var y: Y;
|
|
|
|
var z: Z;
|
|
|
|
|
|
|
|
// All these arrays should be X[]
|
|
|
|
var b1 = [x, y, z];
|
|
|
|
var b2 = [x, z, y];
|
|
|
|
var b3 = [y, x, z];
|
|
|
|
var b4 = [y, z, x];
|
|
|
|
var b5 = [z, x, y];
|
|
|
|
var b6 = [z, y, x];
|
|
|
|
|
|
|
|
//// [bestCommonTypeWithOptionalProperties.js]
|
|
|
|
var x;
|
|
|
|
var y;
|
|
|
|
var z;
|
2014-08-12 00:54:12 +02:00
|
|
|
// All these arrays should be X[]
|
2015-03-09 02:23:23 +01:00
|
|
|
var b1 = [
|
|
|
|
x,
|
|
|
|
y,
|
|
|
|
z
|
|
|
|
];
|
|
|
|
var b2 = [
|
|
|
|
x,
|
|
|
|
z,
|
|
|
|
y
|
|
|
|
];
|
|
|
|
var b3 = [
|
|
|
|
y,
|
|
|
|
x,
|
|
|
|
z
|
|
|
|
];
|
|
|
|
var b4 = [
|
|
|
|
y,
|
|
|
|
z,
|
|
|
|
x
|
|
|
|
];
|
|
|
|
var b5 = [
|
|
|
|
z,
|
|
|
|
x,
|
|
|
|
y
|
|
|
|
];
|
|
|
|
var b6 = [
|
|
|
|
z,
|
|
|
|
y,
|
|
|
|
x
|
|
|
|
];
|