TypeScript/tests/baselines/reference/objectLiteralContextualTyping.js

42 lines
843 B
TypeScript
Raw Normal View History

2015-01-22 23:52:15 +01:00
//// [objectLiteralContextualTyping.ts]
2015-01-23 00:12:55 +01:00
// Tests related to #1774
2015-01-22 23:52:15 +01:00
interface Item {
name: string;
description?: string;
}
declare function foo(item: Item): string;
declare function foo(item: any): number;
var x = foo({ name: "Sprocket" });
var x: string;
var y = foo({ name: "Sprocket", description: "Bumpy wheel" });
var y: string;
2015-01-23 00:12:55 +01:00
var z = foo({ name: "Sprocket", description: false });
2015-01-22 23:52:15 +01:00
var z: number;
2015-01-23 00:12:55 +01:00
var w = foo({ a: 10 });
var w: number;
declare function bar<T>(param: { x?: T }): T;
var b = bar({});
var b: {};
2015-01-22 23:52:15 +01:00
//// [objectLiteralContextualTyping.js]
2015-01-23 00:12:55 +01:00
// Tests related to #1774
var x = foo({ name: "Sprocket" });
2015-01-22 23:52:15 +01:00
var x;
var y = foo({ name: "Sprocket", description: "Bumpy wheel" });
2015-01-22 23:52:15 +01:00
var y;
var z = foo({ name: "Sprocket", description: false });
2015-01-22 23:52:15 +01:00
var z;
var w = foo({ a: 10 });
2015-01-23 00:12:55 +01:00
var w;
var b = bar({});
var b;