1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
=== tests/cases/compiler/b.ts ===
export {
Hash,
>Hash : any
StringHash, StringHash2
>StringHash : any
>StringHash2 : any
};
interface Hash<T> {
[key: string]: T;
>key : string
}
type StringHash = Hash<string>;
>StringHash : Hash<string>
interface StringHash2 extends Hash<string> {}
=== tests/cases/compiler/a.ts ===
import {StringHash, StringHash2} from "./b";
>StringHash : any
>StringHash2 : any
export {
doSome
>doSome : (arg1: string, arg2?: import("tests/cases/compiler/b").Hash<string>, arg3?: StringHash2) => void
}
const MAP: StringHash = {
>MAP : import("tests/cases/compiler/b").Hash<string>
>{ a: "a"} : { a: string; }
a: "a"
>a : string
>"a" : "a"
};
const MAP2: StringHash2 = {
>MAP2 : StringHash2
>{ a: "a"} : { a: string; }
a: "a"
>a : string
>"a" : "a"
};
function doSome(arg1: string,
>doSome : (arg1: string, arg2?: import("tests/cases/compiler/b").Hash<string>, arg3?: StringHash2) => void
>arg1 : string
arg2 = MAP,
>arg2 : import("tests/cases/compiler/b").Hash<string>
>MAP : import("tests/cases/compiler/b").Hash<string>
arg3 = MAP2) {
>arg3 : StringHash2
>MAP2 : StringHash2
}
|