/** * @flow */ //////////////////////////////////////////////////////////// // == Import Declared Type Alias From Declared Module == // ////////////////////////////////////////////////////////// import type {baz} from "ModuleAliasFoo"; import {foo} from "ModuleAliasFoo"; var k1: baz = 42; var k2: baz = "shab"; // Error: string to int var k3: toz = foo(k1); // works import type {toz} from "ModuleAliasFoo"; var k4: toz = foo(k1); // works ////////////////////////////////////////////////////////// // == Declared Module with exports prop (issue 880) == // //////////////////////////////////////////////////////// import blah from 'foo'; import type { Foo, Bar, Id } from 'foo'; blah(0, 0); ({toz:3} : Foo); // error : {toz : number} ~> string (3 : Bar); // error : number ~> A ("lol" : Id); // error : string ~> number