DeclareInterface (flow) and InterfaceDeclaration (babylon) are the same type so should behave the same way. I am using the same `declare` trick where I only add it if you are inside of a `declare module` block.
16 lines
293 B
JavaScript
16 lines
293 B
JavaScript
declare class C { x: number; }
|
|
|
|
var x: string = new C().x;
|
|
|
|
interface I { x: number; }
|
|
|
|
var i = new I(); // error
|
|
|
|
function testInterfaceName(o: I) {
|
|
(o.name: string); // error, name is static
|
|
(o.constructor.name: string); // ok
|
|
}
|
|
|
|
declare module X {
|
|
declare interface Y { x: number; }
|
|
} |