TypeScript/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types
2020-03-25 18:39:45 -07:00

58 lines
1.9 KiB
Plaintext

=== tests/cases/conformance/dynamicImport/importCallExpressionSpecifierNotStringTypeError.ts ===
declare function getSpecifier(): boolean;
>getSpecifier : () => boolean
declare var whatToLoad: boolean;
>whatToLoad : boolean
// Error specifier is not assignable to string
import(getSpecifier());
>import(getSpecifier()) : Promise<any>
>getSpecifier() : boolean
>getSpecifier : () => boolean
var p1 = import(getSpecifier());
>p1 : Promise<any>
>import(getSpecifier()) : Promise<any>
>getSpecifier() : boolean
>getSpecifier : () => boolean
const p2 = import(whatToLoad ? getSpecifier() : "defaulPath")
>p2 : Promise<any>
>import(whatToLoad ? getSpecifier() : "defaulPath") : Promise<any>
>whatToLoad ? getSpecifier() : "defaulPath" : boolean | "defaulPath"
>whatToLoad : boolean
>getSpecifier() : boolean
>getSpecifier : () => boolean
>"defaulPath" : "defaulPath"
p1.then(zero => {
>p1.then(zero => { return zero.foo(); // ok, zero is any}) : Promise<any>
>p1.then : <TResult1 = any, TResult2 = never>(onfulfilled?: (value: any) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p1 : Promise<any>
>then : <TResult1 = any, TResult2 = never>(onfulfilled?: (value: any) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>zero => { return zero.foo(); // ok, zero is any} : (zero: any) => any
>zero : any
return zero.foo(); // ok, zero is any
>zero.foo() : any
>zero.foo : any
>zero : any
>foo : any
});
var p3 = import(["path1", "path2"]);
>p3 : Promise<any>
>import(["path1", "path2"]) : Promise<any>
>["path1", "path2"] : string[]
>"path1" : "path1"
>"path2" : "path2"
var p4 = import(()=>"PathToModule");
>p4 : Promise<any>
>import(()=>"PathToModule") : Promise<any>
>()=>"PathToModule" : () => string
>"PathToModule" : "PathToModule"