31 lines
839 B
JavaScript
31 lines
839 B
JavaScript
|
/**
|
||
|
* @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<number>); // error : string ~> number
|