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
|
=== tests/cases/compiler/typeofStripsFreshness.ts ===
interface Collection<T> {
elems: T[];
>elems : T[]
}
interface CollectionStatic {
new <T>(): Collection<T>;
}
declare const Collection: CollectionStatic;
>Collection : CollectionStatic
const ALL = "all";
>ALL : "all"
>"all" : "all"
type All = typeof ALL;
>All : "all"
>ALL : "all"
const result: Collection<All> = new Collection();
>result : Collection<"all">
>new Collection() : Collection<"all">
>Collection : CollectionStatic
const ANOTHER = "another";
>ANOTHER : "another"
>"another" : "another"
type Another = typeof ANOTHER;
>Another : "another"
>ANOTHER : "another"
type Both = Another | All;
>Both : "all" | "another"
const result2: Collection<Both> = new Collection();
>result2 : Collection<Both>
>new Collection() : Collection<Both>
>Collection : CollectionStatic
|