b05dde747c
* Change type-only semantics to allow type queries * Don’t error using type-only import in ambient context * Fix default import * Fix namespace import * Update more baselines * Prevent circular resolution * Track const enum expression usage * Update baselines * Perf tuning 1 * Test commit for perf impact * Weave type-only alias declaration finding into alias resolution * Fix namespace import of type-only exported symbols * type-only exports do not contribute to the module object type * Update APIs * Fix enum casing, remove type-only conversion suggestion * Short circuit type-only checks in resolveEntityName faster * Fix casing in API * Remove unused parameter * Fix error on qualified names in type queries * Allow type-only imports in computed property names * Fix computed property names of types and abstract members * Remove unused util * Commit missing baselines * Rename “check” functions so as not to overload the word “check”
39 lines
559 B
Plaintext
39 lines
559 B
Plaintext
=== /a.ts ===
|
|
export class A<T> { a!: T }
|
|
>A : A<T>
|
|
>a : T
|
|
|
|
export type { A as B };
|
|
>A : typeof A
|
|
>B : A<T>
|
|
|
|
=== /b.ts ===
|
|
import type { A } from './a';
|
|
>A : A<T>
|
|
|
|
import { B } from './a';
|
|
>B : typeof A
|
|
|
|
let a: A<string> = { a: "" };
|
|
>a : A<string>
|
|
>{ a: "" } : { a: string; }
|
|
>a : string
|
|
>"" : ""
|
|
|
|
let b: B<number> = { a: 3 };
|
|
>b : A<number>
|
|
>{ a: 3 } : { a: number; }
|
|
>a : number
|
|
>3 : 3
|
|
|
|
let c: A<boolean> = {};
|
|
>c : A<boolean>
|
|
>{} : {}
|
|
|
|
let d: B = { a: "" };
|
|
>d : any
|
|
>{ a: "" } : { a: string; }
|
|
>a : string
|
|
>"" : ""
|
|
|