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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
=== tests/cases/compiler/asyncFunctionsAndStrictNullChecks.ts ===
declare namespace Windows.Foundation {
interface IPromise<TResult> {
then<U>(success?: (value: TResult) => IPromise<U>, error?: (error: any) => IPromise<U>, progress?: (progress: any) => void): IPromise<U>;
>then : { <U>(success?: ((value: TResult) => IPromise<U>) | undefined, error?: ((error: any) => IPromise<U>) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => IPromise<U>) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise<U>) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; }
>success : ((value: TResult) => IPromise<U>) | undefined
>value : TResult
>error : ((error: any) => IPromise<U>) | undefined
>error : any
>progress : ((progress: any) => void) | undefined
>progress : any
then<U>(success?: (value: TResult) => IPromise<U>, error?: (error: any) => U, progress?: (progress: any) => void): IPromise<U>;
>then : { <U>(success?: ((value: TResult) => IPromise<U>) | undefined, error?: ((error: any) => IPromise<U>) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => IPromise<U>) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise<U>) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; }
>success : ((value: TResult) => IPromise<U>) | undefined
>value : TResult
>error : ((error: any) => U) | undefined
>error : any
>progress : ((progress: any) => void) | undefined
>progress : any
then<U>(success?: (value: TResult) => U, error?: (error: any) => IPromise<U>, progress?: (progress: any) => void): IPromise<U>;
>then : { <U>(success?: ((value: TResult) => IPromise<U>) | undefined, error?: ((error: any) => IPromise<U>) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => IPromise<U>) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise<U>) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; }
>success : ((value: TResult) => U) | undefined
>value : TResult
>error : ((error: any) => IPromise<U>) | undefined
>error : any
>progress : ((progress: any) => void) | undefined
>progress : any
then<U>(success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise<U>;
>then : { <U>(success?: ((value: TResult) => IPromise<U>) | undefined, error?: ((error: any) => IPromise<U>) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => IPromise<U>) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise<U>) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; <U>(success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise<U>; }
>success : ((value: TResult) => U) | undefined
>value : TResult
>error : ((error: any) => U) | undefined
>error : any
>progress : ((progress: any) => void) | undefined
>progress : any
done<U>(success?: (value: TResult) => any, error?: (error: any) => any, progress?: (progress: any) => void): void;
>done : <U>(success?: ((value: TResult) => any) | undefined, error?: ((error: any) => any) | undefined, progress?: ((progress: any) => void) | undefined) => void
>success : ((value: TResult) => any) | undefined
>value : TResult
>error : ((error: any) => any) | undefined
>error : any
>progress : ((progress: any) => void) | undefined
>progress : any
cancel(): void;
>cancel : () => void
}
}
async function sample(promise: Windows.Foundation.IPromise<number>) {
>sample : (promise: Windows.Foundation.IPromise<number>) => Promise<void>
>promise : Windows.Foundation.IPromise<number>
>Windows : any
>Foundation : any
var number = await promise;
>number : number
>await promise : number
>promise : Windows.Foundation.IPromise<number>
}
declare function resolve1<T>(value: T): Promise<T>;
>resolve1 : <T>(value: T) => Promise<T>
>value : T
declare function resolve2<T>(value: T): Windows.Foundation.IPromise<T>;
>resolve2 : <T>(value: T) => Windows.Foundation.IPromise<T>
>value : T
>Windows : any
>Foundation : any
async function sample2(x?: number) {
>sample2 : (x?: number | undefined) => Promise<void>
>x : number | undefined
let x1 = await resolve1(x);
>x1 : number | undefined
>await resolve1(x) : number | undefined
>resolve1(x) : Promise<number | undefined>
>resolve1 : <T>(value: T) => Promise<T>
>x : number | undefined
let x2 = await resolve2(x);
>x2 : number | undefined
>await resolve2(x) : number | undefined
>resolve2(x) : Windows.Foundation.IPromise<number | undefined>
>resolve2 : <T>(value: T) => Windows.Foundation.IPromise<T>
>x : number | undefined
}
|