TypeScript/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types
2018-10-30 14:55:01 -07:00

51 lines
1.4 KiB
Plaintext

=== tests/cases/compiler/bbb.d.ts ===
export interface INode<T> {
data: T;
>data : T
}
export function create<T>(): () => INode<T>;
>create : <T>() => () => INode<T>
=== tests/cases/compiler/lib.d.ts ===
export type G<T extends string> = { [P in T]: string };
>G : G<T>
export enum E {
>E : E
A = "a",
>A : E.A
>"a" : "a"
B = "b"
>B : E.B
>"b" : "b"
}
export type T = G<E>;
>T : G<E>
export type Q = G<E.A>;
>Q : G<E.A>
>E : any
=== tests/cases/compiler/index.ts ===
import { T, Q } from "./lib";
>T : any
>Q : any
import { create } from "./bbb";
>create : <T>() => () => import("tests/cases/compiler/bbb").INode<T>
export const fun = create<T>();
>fun : () => import("tests/cases/compiler/bbb").INode<import("tests/cases/compiler/lib").G<import("tests/cases/compiler/lib").E>>
>create<T>() : () => import("tests/cases/compiler/bbb").INode<import("tests/cases/compiler/lib").G<import("tests/cases/compiler/lib").E>>
>create : <T>() => () => import("tests/cases/compiler/bbb").INode<T>
export const fun2 = create<Q>();
>fun2 : () => import("tests/cases/compiler/bbb").INode<import("tests/cases/compiler/lib").G<import("tests/cases/compiler/lib").E.A>>
>create<Q>() : () => import("tests/cases/compiler/bbb").INode<import("tests/cases/compiler/lib").G<import("tests/cases/compiler/lib").E.A>>
>create : <T>() => () => import("tests/cases/compiler/bbb").INode<T>