* Type side of import types * Value side of import types * Accept library changes * Refined implementation, more tests * Allow resolutions to be performed late if the resolution still results in a file already in the build * Add another test case * Add some jsdoc usages * Allow nodebuilder to use import types where appropriate * Parse & check generic instantiations * use import types in nodebuilder for typeof module symbols * Wire up go to definition for import types * Accept updated type/symbol baselines now that symbols are wired in * PR feedback * Fix changes from merge * Walk back late import handling * Remove unused diagnostic * Remove unrelated changes * Use recursive function over loop * Emit type arguments * undo unrelated change * Test for and support import type nodes in bundled declaration emit
18 lines
424 B
TypeScript
18 lines
424 B
TypeScript
// @declaration: true
|
|
// @target: es6
|
|
// @filename: a.d.ts
|
|
export interface Foo {
|
|
a: string;
|
|
}
|
|
// @filename: b.d.ts
|
|
export interface Foo {
|
|
a: number;
|
|
}
|
|
// @filename: usage.ts
|
|
export function getFooFrom<T extends "./a" | "./b">(v: T): import(T).Foo {
|
|
return undefined as any;
|
|
}
|
|
|
|
export function getFooValueFrom<T extends "./a" | "./b">(v: T): import(T).Foo["a"] {
|
|
return undefined as any;
|
|
}
|