From c4d7e4806aeaa5db15f3250d3c9ea27b09ad1456 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Sat, 3 Feb 2018 20:51:43 -0800 Subject: [PATCH] Add Awaited to core library --- src/lib/es2015.iterable.d.ts | 4 +- src/lib/es2015.promise.d.ts | 53 +- src/lib/es5.d.ts | 21 +- src/lib/esnext.promise.d.ts | 2 +- src/services/utilities.ts | 3 +- .../asyncAwaitNestedClasses_es5.types | 6 +- .../asyncFunctionDeclaration15_es5.errors.txt | 8 +- .../reference/asyncFunctionReturnType.js | 6 +- .../reference/asyncFunctionReturnType.symbols | 9 +- .../reference/asyncFunctionReturnType.types | 63 +- .../correctOrderOfPromiseMethod.types | 4 +- .../defaultExportInAwaitExpression01.types | 6 +- .../defaultExportInAwaitExpression02.types | 6 +- .../reference/esModuleInteropImportCall.types | 4 +- .../exportDefaultAsyncFunction2.types | 4 +- .../importCallExpression1ESNext.types | 4 +- .../importCallExpression2ESNext.types | 4 +- .../importCallExpression4ESNext.types | 4 +- .../importCallExpressionES5AMD.types | 4 +- .../importCallExpressionES5CJS.types | 4 +- .../importCallExpressionES5System.types | 4 +- .../importCallExpressionES5UMD.types | 4 +- .../importCallExpressionES6AMD.types | 4 +- .../importCallExpressionES6CJS.types | 4 +- .../importCallExpressionES6System.types | 4 +- .../importCallExpressionES6UMD.types | 4 +- .../importCallExpressionErrorInES2015.types | 4 +- .../importCallExpressionInAMD1.types | 4 +- .../importCallExpressionInAMD2.types | 4 +- .../importCallExpressionInAMD4.types | 8 +- .../importCallExpressionInCJS1.types | 4 +- .../importCallExpressionInCJS3.types | 4 +- .../importCallExpressionInCJS5.types | 8 +- .../importCallExpressionInSystem1.types | 4 +- .../importCallExpressionInSystem2.types | 4 +- .../importCallExpressionInSystem4.types | 8 +- .../importCallExpressionInUMD1.types | 4 +- .../importCallExpressionInUMD2.types | 4 +- .../importCallExpressionInUMD4.types | 8 +- ...tCallExpressionNoModuleKindSpecified.types | 4 +- ...portCallExpressionReturnPromiseOfAny.types | 4 +- ...mportCallExpressionShouldNotGetParen.types | 8 +- ...xpressionSpecifierNotStringTypeError.types | 4 +- .../baselines/reference/inferenceLimit.types | 24 +- ...eLibrary_NoErrorDuplicateLibOptions1.types | 8 +- ...eLibrary_NoErrorDuplicateLibOptions2.types | 8 +- ...dularizeLibrary_TargetES5UsingES6Lib.types | 8 +- .../reference/noImplicitReturnsInAsync1.types | 4 +- .../optionalFunctionArgAssignability.types | 2 +- .../reference/promisePermutations.errors.txt | 4 +- .../reference/promisePermutations.types | 224 +++--- .../reference/promisePermutations2.errors.txt | 4 +- .../reference/promisePermutations2.types | 218 +++--- .../reference/promisePermutations3.errors.txt | 4 +- .../reference/promisePermutations3.types | 224 +++--- tests/baselines/reference/promiseTest.types | 8 +- tests/baselines/reference/promiseType.symbols | 96 +-- tests/baselines/reference/promiseType.types | 672 +++++++++--------- .../reference/promiseTypeInference.errors.txt | 31 - .../reference/promiseTypeInference.types | 10 +- .../reference/promiseTypeStrictNull.symbols | 96 +-- .../reference/promiseTypeStrictNull.types | 672 +++++++++--------- .../reference/promiseVoidErrorCallback.types | 12 +- tests/baselines/reference/promises.types | 4 +- .../reference/promisesWithConstraints.types | 2 +- .../reference/specializationError.types | 2 +- ...eticDefaultExportsWithDynamicImports.types | 4 +- .../transformNestedGeneratorsWithTry.types | 4 +- .../types.asyncGenerators.esnext.1.types | 64 +- .../types.asyncGenerators.esnext.2.types | 4 +- tests/baselines/reference/uniqueSymbols.types | 4 +- .../reference/uniqueSymbolsDeclarations.types | 4 +- .../cases/compiler/asyncFunctionReturnType.ts | 6 +- 73 files changed, 1370 insertions(+), 1388 deletions(-) delete mode 100644 tests/baselines/reference/promiseTypeInference.errors.txt diff --git a/src/lib/es2015.iterable.d.ts b/src/lib/es2015.iterable.d.ts index ccb7df6be6997..5fd7c44f109b7 100644 --- a/src/lib/es2015.iterable.d.ts +++ b/src/lib/es2015.iterable.d.ts @@ -195,7 +195,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: Iterable>): Promise; + all(values: Iterable): Promise[]>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -203,7 +203,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: Iterable>): Promise; + race(values: Iterable): Promise>; } declare namespace Reflect { diff --git a/src/lib/es2015.promise.d.ts b/src/lib/es2015.promise.d.ts index ab33531191ffc..8ceb2cce1e9dd 100644 --- a/src/lib/es2015.promise.d.ts +++ b/src/lib/es2015.promise.d.ts @@ -10,7 +10,7 @@ interface PromiseConstructor { * a resolve callback used resolve the promise with a value or the result of another promise, * and a reject callback used to reject the promise with a provided reason or error. */ - new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void): Promise; + new (executor: (resolve: (value?: T | Awaitable) => void, reject: (reason?: any) => void) => void): Promise; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -18,7 +18,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; + all(values: [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -26,7 +26,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; + all(values: [T1, T2, T3, T4, T5, T6, T7, T8, T9]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -34,7 +34,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; + all(values: [T1, T2, T3, T4, T5, T6, T7, T8]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -42,7 +42,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; + all(values: [T1, T2, T3, T4, T5, T6, T7]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -50,7 +50,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; + all(values: [T1, T2, T3, T4, T5, T6]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -58,7 +58,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; + all(values: [T1, T2, T3, T4, T5]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -66,7 +66,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike ]): Promise<[T1, T2, T3, T4]>; + all(values: [T1, T2, T3, T4]): Promise<[Awaited, Awaited, Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -74,7 +74,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; + all(values: [T1, T2, T3]): Promise<[Awaited, Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -82,7 +82,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; + all(values: [T1, T2]): Promise<[Awaited, Awaited]>; /** * Creates a Promise that is resolved with an array of results when all of the provided Promises @@ -90,7 +90,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: (T | PromiseLike)[]): Promise; + all(values: T[]): Promise[]>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -98,7 +98,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise; + race(values: [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -106,7 +106,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise; + race(values: [T1, T2, T3, T4, T5, T6, T7, T8, T9]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -114,7 +114,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise; + race(values: [T1, T2, T3, T4, T5, T6, T7, T8]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -122,7 +122,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise; + race(values: [T1, T2, T3, T4, T5, T6, T7]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -130,7 +130,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise; + race(values: [T1, T2, T3, T4, T5, T6]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -138,7 +138,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise; + race(values: [T1, T2, T3, T4, T5]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -146,7 +146,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise; + race(values: [T1, T2, T3, T4]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -154,7 +154,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise; + race(values: [T1, T2, T3]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -162,7 +162,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: [T1 | PromiseLike, T2 | PromiseLike]): Promise; + race(values: [T1, T2]): Promise>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -170,28 +170,21 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - race(values: (T | PromiseLike)[]): Promise; + race(values: T[]): Promise>; /** * Creates a new rejected promise for the provided reason. * @param reason The reason the promise was rejected. * @returns A new rejected Promise. */ - reject(reason: any): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; + reject(reason: any): Promise>; /** * Creates a new resolved promise for the provided value. * @param value A promise. * @returns A promise whose internal state matches the provided promise. */ - resolve(value: T | PromiseLike): Promise; + resolve(value: T): Promise>; /** * Creates a new resolved promise . diff --git a/src/lib/es5.d.ts b/src/lib/es5.d.ts index 707f749e36503..21ae358369713 100644 --- a/src/lib/es5.d.ts +++ b/src/lib/es5.d.ts @@ -1273,7 +1273,20 @@ declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) declare type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void; -declare type PromiseConstructorLike = new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike; +/** An object type that can be definitely be awaited. Do not inherit from this type. */ +declare type Awaitable = { then(onfulfilled: (value: T) => any): any; }; + +/** An object type that may not be awaitable. Do not inherit from this type. */ +declare type NonAwaitable = { then(...args: any[]): any; }; + +/** Gets the type resulting from awaiting `T`. This does **not** recursively unwrap nested promises. */ +declare type Awaited = + T extends Awaitable> ? U : + T extends Awaitable ? U : + T extends NonAwaitable ? never : + T; + +declare type PromiseConstructorLike = new (executor: (resolve: (value?: T | Awaitable) => void, reject: (reason?: any) => void) => void) => PromiseLike; interface PromiseLike { /** @@ -1282,7 +1295,7 @@ interface PromiseLike { * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): PromiseLike; + then(onfulfilled?: ((value: Awaited) => TResult1) | null, onrejected?: ((reason: any) => TResult2) | null): PromiseLike>; } /** @@ -1295,14 +1308,14 @@ interface Promise { * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ - then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; + then(onfulfilled?: ((value: Awaited) => TResult1) | null, onrejected?: ((reason: any) => TResult2) | null): Promise>; /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ - catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): Promise; + catch(onrejected?: ((reason: any) => TResult) | null): Promise>; } interface ArrayLike { diff --git a/src/lib/esnext.promise.d.ts b/src/lib/esnext.promise.d.ts index 28f903870b67c..ab4b16e1b2a6c 100644 --- a/src/lib/esnext.promise.d.ts +++ b/src/lib/esnext.promise.d.ts @@ -8,5 +8,5 @@ interface Promise { * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ - finally(onfinally?: (() => void) | undefined | null): Promise + finally(onfinally?: (() => void) | null): Promise> } diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 8b4bb1ad212f3..a711649543784 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -3,8 +3,9 @@ interface PromiseConstructor { new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void): Promise; reject(reason: any): Promise; - all(values: (T | PromiseLike)[]): Promise; + all(values: PromiseLike[]): Promise; } + /* @internal */ declare var Promise: PromiseConstructor; diff --git a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types index fd61951d5ccdc..48c9576a74eea 100644 --- a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types +++ b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types @@ -15,10 +15,10 @@ class A { return new Promise((resolve) => { resolve(null); }); >new Promise((resolve) => { resolve(null); }) : Promise >Promise : PromiseConstructor ->(resolve) => { resolve(null); } : (resolve: (value?: void | PromiseLike) => void) => void ->resolve : (value?: void | PromiseLike) => void +>(resolve) => { resolve(null); } : (resolve: (value?: void | Awaitable) => void) => void +>resolve : (value?: void | Awaitable) => void >resolve(null) : void ->resolve : (value?: void | PromiseLike) => void +>resolve : (value?: void | Awaitable) => void >null : null } static C = class C { diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt index 027551ae4b822..353619e79d8b4 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt @@ -6,8 +6,8 @@ tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration1 tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(10,23): error TS1055: Type 'typeof Thenable' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value. Type 'Thenable' is not assignable to type 'PromiseLike'. Types of property 'then' are incompatible. - Type '() => void' is not assignable to type '(onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => PromiseLike'. - Type 'void' is not assignable to type 'PromiseLike'. + Type '() => void' is not assignable to type '(onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2) => PromiseLike | Awaited>'. + Type 'void' is not assignable to type 'PromiseLike | Awaited>'. tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(17,16): error TS1058: The return type of an async function must either be a valid promise or must not contain a callable 'then' member. tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration15_es5.ts(23,25): error TS1320: Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member. @@ -37,8 +37,8 @@ tests/cases/conformance/async/es5/functionDeclarations/asyncFunctionDeclaration1 !!! error TS1055: Type 'typeof Thenable' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value. !!! error TS1055: Type 'Thenable' is not assignable to type 'PromiseLike'. !!! error TS1055: Types of property 'then' are incompatible. -!!! error TS1055: Type '() => void' is not assignable to type '(onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => PromiseLike'. -!!! error TS1055: Type 'void' is not assignable to type 'PromiseLike'. +!!! error TS1055: Type '() => void' is not assignable to type '(onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2) => PromiseLike | Awaited>'. +!!! error TS1055: Type 'void' is not assignable to type 'PromiseLike | Awaited>'. async function fn7() { return; } // valid: Promise async function fn8() { return 1; } // valid: Promise async function fn9() { return null; } // valid: Promise diff --git a/tests/baselines/reference/asyncFunctionReturnType.js b/tests/baselines/reference/asyncFunctionReturnType.js index 6e39e72ae4c72..d3007e1adac4f 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.js +++ b/tests/baselines/reference/asyncFunctionReturnType.js @@ -47,7 +47,7 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: return Promise.resolve(obj.stringProp); } -async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise { +async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise> { return Promise.resolve(obj.stringProp); } @@ -67,11 +67,11 @@ async function fGenericIndexedTypeForKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise> { return Promise.resolve(obj[key]); } -async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise> { return Promise.resolve(obj[key]); } diff --git a/tests/baselines/reference/asyncFunctionReturnType.symbols b/tests/baselines/reference/asyncFunctionReturnType.symbols index ea0df55fb891f..c70a00db76d65 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.symbols +++ b/tests/baselines/reference/asyncFunctionReturnType.symbols @@ -150,13 +150,14 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: >stringProp : Symbol(Obj.stringProp, Decl(asyncFunctionReturnType.ts, 11, 15)) } -async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise { +async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise> { >fGenericIndexedTypeForExplicitPromiseOfStringProp : Symbol(fGenericIndexedTypeForExplicitPromiseOfStringProp, Decl(asyncFunctionReturnType.ts, 46, 1)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 48, 65)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) >obj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 48, 83)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 48, 65)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Awaited : Symbol(Awaited, Decl(lib.es5.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 48, 65)) return Promise.resolve(obj.stringProp); @@ -240,7 +241,7 @@ async function fGenericIndexedTypeForKPropkey : Symbol(key, Decl(asyncFunctionReturnType.ts, 64, 93)) } -async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise> { >fGenericIndexedTypeForPromiseOfKProp : Symbol(fGenericIndexedTypeForPromiseOfKProp, Decl(asyncFunctionReturnType.ts, 66, 1)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) @@ -251,6 +252,7 @@ async function fGenericIndexedTypeForPromiseOfKPropkey : Symbol(key, Decl(asyncFunctionReturnType.ts, 68, 102)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Awaited : Symbol(Awaited, Decl(lib.es5.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) @@ -262,7 +264,7 @@ async function fGenericIndexedTypeForPromiseOfKPropkey : Symbol(key, Decl(asyncFunctionReturnType.ts, 68, 102)) } -async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise> { >fGenericIndexedTypeForExplicitPromiseOfKProp : Symbol(fGenericIndexedTypeForExplicitPromiseOfKProp, Decl(asyncFunctionReturnType.ts, 70, 1)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) @@ -273,6 +275,7 @@ async function fGenericIndexedTypeForExplicitPromiseOfKPropkey : Symbol(key, Decl(asyncFunctionReturnType.ts, 72, 110)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Awaited : Symbol(Awaited, Decl(lib.es5.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) diff --git a/tests/baselines/reference/asyncFunctionReturnType.types b/tests/baselines/reference/asyncFunctionReturnType.types index d1dab14ba87c6..442785206a257 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.types +++ b/tests/baselines/reference/asyncFunctionReturnType.types @@ -53,9 +53,9 @@ async function fIndexedTypeForPromiseOfStringProp(obj: Obj): PromisePromise.resolve(obj.stringProp) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >obj.stringProp : string >obj : Obj >stringProp : string @@ -70,9 +70,9 @@ async function fIndexedTypeForExplicitPromiseOfStringProp(obj: Obj): Promise(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >Obj : Obj >obj.stringProp : string >obj : Obj @@ -101,9 +101,9 @@ async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): PromisePromise.resolve(obj.anyProp) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >obj.anyProp : any >obj : Obj >anyProp : any @@ -118,9 +118,9 @@ async function fIndexedTypeForExplicitPromiseOfAnyProp(obj: Obj): Promise(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >Obj : Obj >obj.anyProp : any >obj : Obj @@ -153,28 +153,29 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: return Promise.resolve(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >obj.stringProp : string >obj : TObj >stringProp : string } -async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise { ->fGenericIndexedTypeForExplicitPromiseOfStringProp : (obj: TObj) => Promise +async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise> { +>fGenericIndexedTypeForExplicitPromiseOfStringProp : (obj: TObj) => Promise> >TObj : TObj >Obj : Obj >obj : TObj >TObj : TObj >Promise : Promise +>Awaited : Awaited >TObj : TObj return Promise.resolve(obj.stringProp); ->Promise.resolve(obj.stringProp) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve(obj.stringProp) : Promise> +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >TObj : TObj >obj.stringProp : string >obj : TObj @@ -207,9 +208,9 @@ async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TOb return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >obj.anyProp : any >obj : TObj >anyProp : any @@ -225,10 +226,10 @@ async function fGenericIndexedTypeForExplicitPromiseOfAnyProp( >TObj : TObj return Promise.resolve(obj.anyProp); ->Promise.resolve(obj.anyProp) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve(obj.anyProp) : Promise> +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >TObj : TObj >obj.anyProp : any >obj : TObj @@ -255,8 +256,8 @@ async function fGenericIndexedTypeForKPropkey : K } -async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise { ->fGenericIndexedTypeForPromiseOfKProp : (obj: TObj, key: K) => Promise +async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise> { +>fGenericIndexedTypeForPromiseOfKProp : (obj: TObj, key: K) => Promise> >TObj : TObj >Obj : Obj >K : K @@ -266,21 +267,22 @@ async function fGenericIndexedTypeForPromiseOfKPropkey : K >K : K >Promise : Promise +>Awaited : Awaited >TObj : TObj >K : K return Promise.resolve(obj[key]); ->Promise.resolve(obj[key]) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve(obj[key]) : Promise> +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >obj[key] : TObj[K] >obj : TObj >key : K } -async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise { ->fGenericIndexedTypeForExplicitPromiseOfKProp : (obj: TObj, key: K) => Promise +async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise> { +>fGenericIndexedTypeForExplicitPromiseOfKProp : (obj: TObj, key: K) => Promise> >TObj : TObj >Obj : Obj >K : K @@ -290,14 +292,15 @@ async function fGenericIndexedTypeForExplicitPromiseOfKPropkey : K >K : K >Promise : Promise +>Awaited : Awaited >TObj : TObj >K : K return Promise.resolve(obj[key]); ->Promise.resolve(obj[key]) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve(obj[key]) : Promise> +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >TObj : TObj >K : K >obj[key] : TObj[K] diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.types b/tests/baselines/reference/correctOrderOfPromiseMethod.types index fb4843bd3f1f1..2cea22be2b6d5 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.types +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.types @@ -39,9 +39,9 @@ async function countEverything(): Promise { >resultB : B[] >await Promise.all([ providerA(), providerB(), ]) : [A[], B[]] >Promise.all([ providerA(), providerB(), ]) : Promise<[A[], B[]]> ->Promise.all : { (values: Iterable>): Promise; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: (T | PromiseLike)[]): Promise; } +>Promise.all : { (values: Iterable): Promise[]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8, T9]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4]): Promise<[Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3]): Promise<[Awaited, Awaited, Awaited]>; (values: [T1, T2]): Promise<[Awaited, Awaited]>; (values: T[]): Promise[]>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: (T | PromiseLike)[]): Promise; } +>all : { (values: Iterable): Promise[]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8, T9]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4]): Promise<[Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3]): Promise<[Awaited, Awaited, Awaited]>; (values: [T1, T2]): Promise<[Awaited, Awaited]>; (values: T[]): Promise[]>; } >[ providerA(), providerB(), ] : [Promise, Promise] providerA(), diff --git a/tests/baselines/reference/defaultExportInAwaitExpression01.types b/tests/baselines/reference/defaultExportInAwaitExpression01.types index 1f7de76b90eae..469f07fb7def9 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression01.types +++ b/tests/baselines/reference/defaultExportInAwaitExpression01.types @@ -3,11 +3,11 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } ); >x : Promise<{}> >new Promise( ( resolve, reject ) => { resolve( {} ); } ) : Promise<{}> >Promise : PromiseConstructor ->( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void ->resolve : (value?: {} | PromiseLike<{}>) => void +>( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void +>resolve : (value?: {} | Awaitable<{}>) => void >reject : (reason?: any) => void >resolve( {} ) : void ->resolve : (value?: {} | PromiseLike<{}>) => void +>resolve : (value?: {} | Awaitable<{}>) => void >{} : {} export default x; diff --git a/tests/baselines/reference/defaultExportInAwaitExpression02.types b/tests/baselines/reference/defaultExportInAwaitExpression02.types index 1f7de76b90eae..469f07fb7def9 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression02.types +++ b/tests/baselines/reference/defaultExportInAwaitExpression02.types @@ -3,11 +3,11 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } ); >x : Promise<{}> >new Promise( ( resolve, reject ) => { resolve( {} ); } ) : Promise<{}> >Promise : PromiseConstructor ->( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void ->resolve : (value?: {} | PromiseLike<{}>) => void +>( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void +>resolve : (value?: {} | Awaitable<{}>) => void >reject : (reason?: any) => void >resolve( {} ) : void ->resolve : (value?: {} | PromiseLike<{}>) => void +>resolve : (value?: {} | Awaitable<{}>) => void >{} : {} export default x; diff --git a/tests/baselines/reference/esModuleInteropImportCall.types b/tests/baselines/reference/esModuleInteropImportCall.types index c194af96c53d6..2e16c8636dd42 100644 --- a/tests/baselines/reference/esModuleInteropImportCall.types +++ b/tests/baselines/reference/esModuleInteropImportCall.types @@ -11,10 +11,10 @@ export = foo; === tests/cases/compiler/index.ts === import("./foo").then(f => { >import("./foo").then(f => { f.default;}) : Promise ->import("./foo").then : void; }, TResult2 = never>(onfulfilled?: (value: { default: () => void; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>import("./foo").then : void; }, TResult2 = never>(onfulfilled?: (value: { default: () => void; }) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >import("./foo") : Promise<{ default: () => void; }> >"./foo" : "./foo" ->then : void; }, TResult2 = never>(onfulfilled?: (value: { default: () => void; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : void; }, TResult2 = never>(onfulfilled?: (value: { default: () => void; }) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >f => { f.default;} : (f: { default: () => void; }) => void >f : { default: () => void; } diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.types b/tests/baselines/reference/exportDefaultAsyncFunction2.types index 9aad9fb98ec89..81762342d2bd1 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.types +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.types @@ -20,9 +20,9 @@ export default async(() => await(Promise.resolve(1))); >await(Promise.resolve(1)) : any >await : (...args: any[]) => any >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 === tests/cases/compiler/b.ts === diff --git a/tests/baselines/reference/importCallExpression1ESNext.types b/tests/baselines/reference/importCallExpression1ESNext.types index 29e2c3d261bc9..28c3e88f3705e 100644 --- a/tests/baselines/reference/importCallExpression1ESNext.types +++ b/tests/baselines/reference/importCallExpression1ESNext.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpression2ESNext.types b/tests/baselines/reference/importCallExpression2ESNext.types index 084eb33dde95d..50019250ad93c 100644 --- a/tests/baselines/reference/importCallExpression2ESNext.types +++ b/tests/baselines/reference/importCallExpression2ESNext.types @@ -15,9 +15,9 @@ function foo(x: Promise) { x.then(value => { >x.then(value => { let b = new value.B(); b.print(); }) : Promise ->x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>x.then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >value => { let b = new value.B(); b.print(); } : (value: any) => void >value : any diff --git a/tests/baselines/reference/importCallExpression4ESNext.types b/tests/baselines/reference/importCallExpression4ESNext.types index 74cc6ff8b28fa..b853dfc785a24 100644 --- a/tests/baselines/reference/importCallExpression4ESNext.types +++ b/tests/baselines/reference/importCallExpression4ESNext.types @@ -38,11 +38,11 @@ class C { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionES5AMD.types b/tests/baselines/reference/importCallExpressionES5AMD.types index e97f722b14ff5..f160487a05de8 100644 --- a/tests/baselines/reference/importCallExpressionES5AMD.types +++ b/tests/baselines/reference/importCallExpressionES5AMD.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionES5CJS.types b/tests/baselines/reference/importCallExpressionES5CJS.types index e97f722b14ff5..f160487a05de8 100644 --- a/tests/baselines/reference/importCallExpressionES5CJS.types +++ b/tests/baselines/reference/importCallExpressionES5CJS.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionES5System.types b/tests/baselines/reference/importCallExpressionES5System.types index e97f722b14ff5..f160487a05de8 100644 --- a/tests/baselines/reference/importCallExpressionES5System.types +++ b/tests/baselines/reference/importCallExpressionES5System.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionES5UMD.types b/tests/baselines/reference/importCallExpressionES5UMD.types index e97f722b14ff5..f160487a05de8 100644 --- a/tests/baselines/reference/importCallExpressionES5UMD.types +++ b/tests/baselines/reference/importCallExpressionES5UMD.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionES6AMD.types b/tests/baselines/reference/importCallExpressionES6AMD.types index e97f722b14ff5..f160487a05de8 100644 --- a/tests/baselines/reference/importCallExpressionES6AMD.types +++ b/tests/baselines/reference/importCallExpressionES6AMD.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionES6CJS.types b/tests/baselines/reference/importCallExpressionES6CJS.types index e97f722b14ff5..f160487a05de8 100644 --- a/tests/baselines/reference/importCallExpressionES6CJS.types +++ b/tests/baselines/reference/importCallExpressionES6CJS.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionES6System.types b/tests/baselines/reference/importCallExpressionES6System.types index e97f722b14ff5..f160487a05de8 100644 --- a/tests/baselines/reference/importCallExpressionES6System.types +++ b/tests/baselines/reference/importCallExpressionES6System.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionES6UMD.types b/tests/baselines/reference/importCallExpressionES6UMD.types index e97f722b14ff5..f160487a05de8 100644 --- a/tests/baselines/reference/importCallExpressionES6UMD.types +++ b/tests/baselines/reference/importCallExpressionES6UMD.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionErrorInES2015.types b/tests/baselines/reference/importCallExpressionErrorInES2015.types index 53a1b3d08fa22..a188b8dbc4df4 100644 --- a/tests/baselines/reference/importCallExpressionErrorInES2015.types +++ b/tests/baselines/reference/importCallExpressionErrorInES2015.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionInAMD1.types b/tests/baselines/reference/importCallExpressionInAMD1.types index 661d27d14692e..5b9f692644dc8 100644 --- a/tests/baselines/reference/importCallExpressionInAMD1.types +++ b/tests/baselines/reference/importCallExpressionInAMD1.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionInAMD2.types b/tests/baselines/reference/importCallExpressionInAMD2.types index 44b17eb51fd5c..c81b9a7e84ddb 100644 --- a/tests/baselines/reference/importCallExpressionInAMD2.types +++ b/tests/baselines/reference/importCallExpressionInAMD2.types @@ -16,9 +16,9 @@ function foo(x: Promise) { x.then(value => { >x.then(value => { let b = new value.B(); b.print(); }) : Promise ->x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>x.then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >value => { let b = new value.B(); b.print(); } : (value: any) => void >value : any diff --git a/tests/baselines/reference/importCallExpressionInAMD4.types b/tests/baselines/reference/importCallExpressionInAMD4.types index 156247851c914..41abb7947c256 100644 --- a/tests/baselines/reference/importCallExpressionInAMD4.types +++ b/tests/baselines/reference/importCallExpressionInAMD4.types @@ -38,11 +38,11 @@ class C { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" @@ -105,11 +105,11 @@ export class D { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionInCJS1.types b/tests/baselines/reference/importCallExpressionInCJS1.types index 661d27d14692e..5b9f692644dc8 100644 --- a/tests/baselines/reference/importCallExpressionInCJS1.types +++ b/tests/baselines/reference/importCallExpressionInCJS1.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionInCJS3.types b/tests/baselines/reference/importCallExpressionInCJS3.types index 44b17eb51fd5c..c81b9a7e84ddb 100644 --- a/tests/baselines/reference/importCallExpressionInCJS3.types +++ b/tests/baselines/reference/importCallExpressionInCJS3.types @@ -16,9 +16,9 @@ function foo(x: Promise) { x.then(value => { >x.then(value => { let b = new value.B(); b.print(); }) : Promise ->x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>x.then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >value => { let b = new value.B(); b.print(); } : (value: any) => void >value : any diff --git a/tests/baselines/reference/importCallExpressionInCJS5.types b/tests/baselines/reference/importCallExpressionInCJS5.types index 7d0c6f01cacd3..1ba6e967d9b00 100644 --- a/tests/baselines/reference/importCallExpressionInCJS5.types +++ b/tests/baselines/reference/importCallExpressionInCJS5.types @@ -38,11 +38,11 @@ class C { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" @@ -105,11 +105,11 @@ export class D { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionInSystem1.types b/tests/baselines/reference/importCallExpressionInSystem1.types index 661d27d14692e..5b9f692644dc8 100644 --- a/tests/baselines/reference/importCallExpressionInSystem1.types +++ b/tests/baselines/reference/importCallExpressionInSystem1.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionInSystem2.types b/tests/baselines/reference/importCallExpressionInSystem2.types index 44b17eb51fd5c..c81b9a7e84ddb 100644 --- a/tests/baselines/reference/importCallExpressionInSystem2.types +++ b/tests/baselines/reference/importCallExpressionInSystem2.types @@ -16,9 +16,9 @@ function foo(x: Promise) { x.then(value => { >x.then(value => { let b = new value.B(); b.print(); }) : Promise ->x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>x.then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >value => { let b = new value.B(); b.print(); } : (value: any) => void >value : any diff --git a/tests/baselines/reference/importCallExpressionInSystem4.types b/tests/baselines/reference/importCallExpressionInSystem4.types index 156247851c914..41abb7947c256 100644 --- a/tests/baselines/reference/importCallExpressionInSystem4.types +++ b/tests/baselines/reference/importCallExpressionInSystem4.types @@ -38,11 +38,11 @@ class C { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" @@ -105,11 +105,11 @@ export class D { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionInUMD1.types b/tests/baselines/reference/importCallExpressionInUMD1.types index 661d27d14692e..5b9f692644dc8 100644 --- a/tests/baselines/reference/importCallExpressionInUMD1.types +++ b/tests/baselines/reference/importCallExpressionInUMD1.types @@ -15,9 +15,9 @@ var p1 = import("./0"); p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise ->p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo();} : (zero: typeof "tests/cases/conformance/dynamicImport/0") => string >zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionInUMD2.types b/tests/baselines/reference/importCallExpressionInUMD2.types index 44b17eb51fd5c..c81b9a7e84ddb 100644 --- a/tests/baselines/reference/importCallExpressionInUMD2.types +++ b/tests/baselines/reference/importCallExpressionInUMD2.types @@ -16,9 +16,9 @@ function foo(x: Promise) { x.then(value => { >x.then(value => { let b = new value.B(); b.print(); }) : Promise ->x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>x.then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >value => { let b = new value.B(); b.print(); } : (value: any) => void >value : any diff --git a/tests/baselines/reference/importCallExpressionInUMD4.types b/tests/baselines/reference/importCallExpressionInUMD4.types index 156247851c914..41abb7947c256 100644 --- a/tests/baselines/reference/importCallExpressionInUMD4.types +++ b/tests/baselines/reference/importCallExpressionInUMD4.types @@ -38,11 +38,11 @@ class C { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" @@ -105,11 +105,11 @@ export class D { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types index 552e3cf9206ca..e21aae34539aa 100644 --- a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types +++ b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types @@ -38,11 +38,11 @@ class C { this.myModule.then(Zero => { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise ->this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof "tests/cases/conformance/dynamicImport/0") => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Zero => { console.log(Zero.foo()); } : (Zero: typeof "tests/cases/conformance/dynamicImport/0") => void >Zero : typeof "tests/cases/conformance/dynamicImport/0" diff --git a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types index fc52b38c1fb9f..3e9d9fd7f143b 100644 --- a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types +++ b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types @@ -69,9 +69,9 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") as Promise { >p1.then(zero => { return zero.foo(); // ok, zero is any}) : Promise ->p1.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo(); // ok, zero is any} : (zero: any) => any >zero : any diff --git a/tests/baselines/reference/importCallExpressionShouldNotGetParen.types b/tests/baselines/reference/importCallExpressionShouldNotGetParen.types index 3e4001dc5b710..ffb3458bbbdec 100644 --- a/tests/baselines/reference/importCallExpressionShouldNotGetParen.types +++ b/tests/baselines/reference/importCallExpressionShouldNotGetParen.types @@ -5,11 +5,11 @@ const localeName = "zh-CN"; import(`./locales/${localeName}.js`).then(bar => { >import(`./locales/${localeName}.js`).then(bar => { let x = bar;}) : Promise ->import(`./locales/${localeName}.js`).then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>import(`./locales/${localeName}.js`).then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >import(`./locales/${localeName}.js`) : Promise >`./locales/${localeName}.js` : string >localeName : "zh-CN" ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >bar => { let x = bar;} : (bar: any) => void >bar : any @@ -21,14 +21,14 @@ import(`./locales/${localeName}.js`).then(bar => { import("./locales/" + localeName + ".js").then(bar => { >import("./locales/" + localeName + ".js").then(bar => { let x = bar;}) : Promise ->import("./locales/" + localeName + ".js").then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>import("./locales/" + localeName + ".js").then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >import("./locales/" + localeName + ".js") : Promise >"./locales/" + localeName + ".js" : string >"./locales/" + localeName : string >"./locales/" : "./locales/" >localeName : "zh-CN" >".js" : ".js" ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >bar => { let x = bar;} : (bar: any) => void >bar : any diff --git a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types index 6378e7c582be8..d6e3244fa4533 100644 --- a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types +++ b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types @@ -28,9 +28,9 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") p1.then(zero => { >p1.then(zero => { return zero.foo(); // ok, zero is any}) : Promise ->p1.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p1 : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >zero => { return zero.foo(); // ok, zero is any} : (zero: any) => any >zero : any diff --git a/tests/baselines/reference/inferenceLimit.types b/tests/baselines/reference/inferenceLimit.types index 4a3989322322b..0466182b599d3 100644 --- a/tests/baselines/reference/inferenceLimit.types +++ b/tests/baselines/reference/inferenceLimit.types @@ -21,8 +21,8 @@ export class BrokenClass { >Array : T[] >MyModule : any >MyModel : MyModule.MyModel ->(resolve, reject) => { let result: Array = []; let populateItems = (order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); }; return Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }); } : (resolve: (value?: MyModule.MyModel[] | PromiseLike) => void, reject: (reason?: any) => void) => Promise ->resolve : (value?: MyModule.MyModel[] | PromiseLike) => void +>(resolve, reject) => { let result: Array = []; let populateItems = (order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); }; return Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }); } : (resolve: (value?: MyModule.MyModel[] | Awaitable) => void, reject: (reason?: any) => void) => Promise +>resolve : (value?: MyModule.MyModel[] | Awaitable) => void >reject : (reason?: any) => void let result: Array = []; @@ -40,13 +40,13 @@ export class BrokenClass { return new Promise((resolve, reject) => { >new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }) : Promise<{}> >Promise : PromiseConstructor ->(resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); } : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void ->resolve : (value?: {} | PromiseLike<{}>) => void +>(resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); } : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void +>resolve : (value?: {} | Awaitable<{}>) => void >reject : (reason?: any) => void this.doStuff(order.id) >this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }) : Promise ->this.doStuff(order.id) .then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.doStuff(order.id) .then : (onfulfilled?: (value: void) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >this.doStuff(order.id) : Promise >this.doStuff : (id: number) => Promise >this : this @@ -56,7 +56,7 @@ export class BrokenClass { >id : any .then((items) => { ->then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: void) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >(items) => { order.items = items; resolve(order); } : (items: void) => void >items : void @@ -69,7 +69,7 @@ export class BrokenClass { resolve(order); >resolve(order) : void ->resolve : (value?: {} | PromiseLike<{}>) => void +>resolve : (value?: {} | Awaitable<{}>) => void >order : any }); @@ -78,11 +78,11 @@ export class BrokenClass { return Promise.all(result.map(populateItems)) >Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }) : Promise ->Promise.all(result.map(populateItems)) .then : (onfulfilled?: (value: {}[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>Promise.all(result.map(populateItems)) .then : (onfulfilled?: (value: {}[]) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >Promise.all(result.map(populateItems)) : Promise<{}[]> ->Promise.all : { (values: Iterable>): Promise; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: (T | PromiseLike)[]): Promise; } +>Promise.all : { (values: Iterable): Promise[]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8, T9]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4]): Promise<[Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3]): Promise<[Awaited, Awaited, Awaited]>; (values: [T1, T2]): Promise<[Awaited, Awaited]>; (values: T[]): Promise[]>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike, T10 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike, T9 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike, T8 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7, T8]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: (T | PromiseLike)[]): Promise; } +>all : { (values: Iterable): Promise[]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8, T9]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7, T8]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6, T7]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5, T6]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4, T5]): Promise<[Awaited, Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3, T4]): Promise<[Awaited, Awaited, Awaited, Awaited]>; (values: [T1, T2, T3]): Promise<[Awaited, Awaited, Awaited]>; (values: [T1, T2]): Promise<[Awaited, Awaited]>; (values: T[]): Promise[]>; } >result.map(populateItems) : Promise<{}>[] >result.map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] >result : MyModule.MyModel[] @@ -90,7 +90,7 @@ export class BrokenClass { >populateItems : (order: any) => Promise<{}> .then((orders: Array) => { ->then : (onfulfilled?: (value: {}[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: {}[]) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >(orders: Array) => { resolve(orders); } : (orders: MyModule.MyModel[]) => void >orders : MyModule.MyModel[] >Array : T[] @@ -99,7 +99,7 @@ export class BrokenClass { resolve(orders); >resolve(orders) : void ->resolve : (value?: MyModule.MyModel[] | PromiseLike) => void +>resolve : (value?: MyModule.MyModel[] | Awaitable) => void >orders : MyModule.MyModel[] }); diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index 20d0779621c07..923f94f56c08d 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -137,8 +137,8 @@ async function out() { return new Promise(function (resolve, reject) {}); >new Promise(function (resolve, reject) {}) : Promise<{}> >Promise : PromiseConstructor ->function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void ->resolve : (value?: {} | PromiseLike<{}>) => void +>function (resolve, reject) {} : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void +>resolve : (value?: {} | Awaitable<{}>) => void >reject : (reason?: any) => void } @@ -147,10 +147,10 @@ declare var console: any; out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise ->out().then : (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>out().then : (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >out() : Promise<{}> >out : () => Promise<{}> ->then : (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => { console.log("Yea!");} : () => void console.log("Yea!"); diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index 367ac41f246f2..c6e57aa4d5872 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -137,8 +137,8 @@ async function out() { return new Promise(function (resolve, reject) {}); >new Promise(function (resolve, reject) {}) : Promise<{}> >Promise : PromiseConstructor ->function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void ->resolve : (value?: {} | PromiseLike<{}>) => void +>function (resolve, reject) {} : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void +>resolve : (value?: {} | Awaitable<{}>) => void >reject : (reason?: any) => void } @@ -147,10 +147,10 @@ declare var console: any; out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise ->out().then : (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>out().then : (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >out() : Promise<{}> >out : () => Promise<{}> ->then : (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => { console.log("Yea!");} : () => void console.log("Yea!"); diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index 8dc959b1afefe..914ba4eaab689 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -137,8 +137,8 @@ async function out() { return new Promise(function (resolve, reject) {}); >new Promise(function (resolve, reject) {}) : Promise<{}> >Promise : PromiseConstructor ->function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void ->resolve : (value?: {} | PromiseLike<{}>) => void +>function (resolve, reject) {} : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void +>resolve : (value?: {} | Awaitable<{}>) => void >reject : (reason?: any) => void } @@ -147,10 +147,10 @@ declare var console: any; out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise ->out().then : (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>out().then : (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >out() : Promise<{}> >out : () => Promise<{}> ->then : (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => { console.log("Yea!");} : () => void console.log("Yea!"); diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.types b/tests/baselines/reference/noImplicitReturnsInAsync1.types index dd468d33e6e21..83d42b1d79483 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync1.types +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.types @@ -15,8 +15,8 @@ async function test(isError: boolean = false) { >x : string >await Promise.resolve("The test is passed without an error.") : string >Promise.resolve("The test is passed without an error.") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"The test is passed without an error." : "The test is passed without an error." } diff --git a/tests/baselines/reference/optionalFunctionArgAssignability.types b/tests/baselines/reference/optionalFunctionArgAssignability.types index 0ce78d3c16f2f..8b4b9114189f0 100644 --- a/tests/baselines/reference/optionalFunctionArgAssignability.types +++ b/tests/baselines/reference/optionalFunctionArgAssignability.types @@ -4,7 +4,7 @@ interface Promise { >T : T then(onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; } >U : U >onFulfill : (value: T) => U >value : T diff --git a/tests/baselines/reference/promisePermutations.errors.txt b/tests/baselines/reference/promisePermutations.errors.txt index 0ff2a36f7b35e..2a58fe00562b0 100644 --- a/tests/baselines/reference/promisePermutations.errors.txt +++ b/tests/baselines/reference/promisePermutations.errors.txt @@ -59,7 +59,7 @@ tests/cases/compiler/promisePermutations.ts(159,21): error TS2345: Argument of t tests/cases/compiler/promisePermutations.ts(160,21): error TS2345: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. Type 'Promise' is not assignable to type 'IPromise'. Types of property 'then' are incompatible. - Type '{ (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. + Type '{ (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. Types of parameters 'onfulfilled' and 'success' are incompatible. Types of parameters 'value' and 'value' are incompatible. Type 'number' is not assignable to type 'string'. @@ -320,7 +320,7 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2345: Argument of t !!! error TS2345: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2345: Type 'Promise' is not assignable to type 'IPromise'. !!! error TS2345: Types of property 'then' are incompatible. -!!! error TS2345: Type '{ (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. +!!! error TS2345: Type '{ (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. !!! error TS2345: Types of parameters 'onfulfilled' and 'success' are incompatible. !!! error TS2345: Types of parameters 'value' and 'value' are incompatible. !!! error TS2345: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/promisePermutations.types b/tests/baselines/reference/promisePermutations.types index df057583cc25f..7b912e4a961c2 100644 --- a/tests/baselines/reference/promisePermutations.types +++ b/tests/baselines/reference/promisePermutations.types @@ -4,7 +4,7 @@ interface Promise { >T : T then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => Promise >value : T @@ -21,7 +21,7 @@ interface Promise { >U : U then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => Promise >value : T @@ -37,7 +37,7 @@ interface Promise { >U : U then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => U >value : T @@ -53,7 +53,7 @@ interface Promise { >U : U then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => U >value : T @@ -426,9 +426,9 @@ var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Promise> >s1.then(testFunction, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -436,9 +436,9 @@ var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunctionP : () => Promise >testFunctionP : () => Promise @@ -446,9 +446,9 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise @@ -456,15 +456,15 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> ->s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -508,9 +508,9 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> >s2.then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -518,9 +518,9 @@ var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise<{ x: number; }> >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise<{ x: number; }> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> @@ -528,9 +528,9 @@ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -538,15 +538,15 @@ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -588,9 +588,9 @@ var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Promise> >s3.then(testFunction3, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -598,9 +598,9 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise @@ -608,9 +608,9 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -618,15 +618,15 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error >s3d : any >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : any ->s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -678,9 +678,9 @@ var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : any >s4.then(testFunction4, testFunction4, testFunction4) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -688,9 +688,9 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : any >s4.then(testFunction4P, testFunction4P, testFunction4P) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise @@ -698,9 +698,9 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : any >s4.then(testFunction4P, testFunction4, testFunction4) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -708,15 +708,15 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise @@ -758,9 +758,9 @@ var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : any >s5.then(testFunction5, testFunction5, testFunction5) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -768,9 +768,9 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : any >s5.then(testFunction5P, testFunction5P, testFunction5P) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise @@ -778,9 +778,9 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : any >s5.then(testFunction5P, testFunction5, testFunction5) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -788,15 +788,15 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5.then(sPromise, sPromise, sPromise) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -838,9 +838,9 @@ var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : any >s6.then(testFunction6, testFunction6, testFunction6) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -848,9 +848,9 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : any >s6.then(testFunction6P, testFunction6P, testFunction6P) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise @@ -858,9 +858,9 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : any >s6.then(testFunction6P, testFunction6, testFunction6) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -868,15 +868,15 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6.then(sPromise, sPromise, sPromise) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1008,9 +1008,9 @@ var s8: Promise; var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8a : any >s8.then(testFunction8, testFunction8, testFunction8) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -1018,9 +1018,9 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : any >s8.then(testFunction8P, testFunction8P, testFunction8P) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise @@ -1028,9 +1028,9 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : any >s8.then(testFunction8P, testFunction8, testFunction8) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -1038,15 +1038,15 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8.then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1118,9 +1118,9 @@ var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : any >s9.then(testFunction9, testFunction9, testFunction9) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -1128,9 +1128,9 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : any >s9.then(testFunction9P, testFunction9P, testFunction9P) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise @@ -1138,9 +1138,9 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : any >s9.then(testFunction9P, testFunction9, testFunction9) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -1148,9 +1148,9 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise >s9.then(sPromise, sPromise, sPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1158,9 +1158,9 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise >s9.then(nPromise, nPromise, nPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise @@ -1168,9 +1168,9 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : any >s9.then(testFunction, sIPromise, nIPromise) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1178,15 +1178,15 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9.then(testFunction, nIPromise, sIPromise) : Promise> ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1266,9 +1266,9 @@ var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10a : Promise> >s10.then(testFunction10, testFunction10, testFunction10) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1276,9 +1276,9 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise<{}> >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise<{}> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise @@ -1286,9 +1286,9 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise<{}> >s10.then(testFunction10P, testFunction10, testFunction10) : Promise<{}> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1296,9 +1296,9 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise >s10.then(sPromise, sPromise, sPromise) : Promise ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1306,9 +1306,9 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> >s10.then(nIPromise, nPromise, nIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nPromise : (x: any) => Promise >nIPromise : (x: any) => IPromise @@ -1316,9 +1316,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : any >s10.then(testFunctionP, sIPromise, nIPromise) : any ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1326,15 +1326,15 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> ->s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1360,9 +1360,9 @@ var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : any >s11.then(testFunction11, testFunction11, testFunction11) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1370,9 +1370,9 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : any >s11.then(testFunction11P, testFunction11P, testFunction11P) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } @@ -1380,9 +1380,9 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : any >s11.then(testFunction11P, testFunction11, testFunction11) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } diff --git a/tests/baselines/reference/promisePermutations2.errors.txt b/tests/baselines/reference/promisePermutations2.errors.txt index b9fb0dc93faa3..39ab9b66379fa 100644 --- a/tests/baselines/reference/promisePermutations2.errors.txt +++ b/tests/baselines/reference/promisePermutations2.errors.txt @@ -59,7 +59,7 @@ tests/cases/compiler/promisePermutations2.ts(158,21): error TS2345: Argument of tests/cases/compiler/promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. Type 'Promise' is not assignable to type 'IPromise'. Types of property 'then' are incompatible. - Type '{ (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. + Type '{ (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. Types of parameters 'onfulfilled' and 'success' are incompatible. Types of parameters 'value' and 'value' are incompatible. Type 'number' is not assignable to type 'string'. @@ -319,7 +319,7 @@ tests/cases/compiler/promisePermutations2.ts(159,21): error TS2345: Argument of !!! error TS2345: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2345: Type 'Promise' is not assignable to type 'IPromise'. !!! error TS2345: Types of property 'then' are incompatible. -!!! error TS2345: Type '{ (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. +!!! error TS2345: Type '{ (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '{ (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; }'. !!! error TS2345: Types of parameters 'onfulfilled' and 'success' are incompatible. !!! error TS2345: Types of parameters 'value' and 'value' are incompatible. !!! error TS2345: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/promisePermutations2.types b/tests/baselines/reference/promisePermutations2.types index 28a74aa7d77a8..aeddec045c5e9 100644 --- a/tests/baselines/reference/promisePermutations2.types +++ b/tests/baselines/reference/promisePermutations2.types @@ -6,7 +6,7 @@ interface Promise { >T : T then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => U >value : T @@ -379,9 +379,9 @@ var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Promise> >s1.then(testFunction, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -389,9 +389,9 @@ var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise> >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunctionP : () => Promise >testFunctionP : () => Promise @@ -399,9 +399,9 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise @@ -409,15 +409,15 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> ->s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -461,9 +461,9 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> >s2.then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -471,9 +471,9 @@ var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise> >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> @@ -481,9 +481,9 @@ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -491,15 +491,15 @@ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -541,9 +541,9 @@ var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Promise> >s3.then(testFunction3, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -551,9 +551,9 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise> >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise @@ -561,9 +561,9 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -571,15 +571,15 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // Should error >s3d : any >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : any ->s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -631,9 +631,9 @@ var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : any >s4.then(testFunction4, testFunction4, testFunction4) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -641,9 +641,9 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : any >s4.then(testFunction4P, testFunction4P, testFunction4P) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise @@ -651,9 +651,9 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : any >s4.then(testFunction4P, testFunction4, testFunction4) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -661,15 +661,15 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise @@ -711,9 +711,9 @@ var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : any >s5.then(testFunction5, testFunction5, testFunction5) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -721,9 +721,9 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : any >s5.then(testFunction5P, testFunction5P, testFunction5P) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise @@ -731,9 +731,9 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : any >s5.then(testFunction5P, testFunction5, testFunction5) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -741,15 +741,15 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s5.then(sPromise, sPromise, sPromise).then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then(sPromise, sPromise, sPromise).then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5.then(sPromise, sPromise, sPromise) : Promise> ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -791,9 +791,9 @@ var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : any >s6.then(testFunction6, testFunction6, testFunction6) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -801,9 +801,9 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : any >s6.then(testFunction6P, testFunction6P, testFunction6P) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise @@ -811,9 +811,9 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : any >s6.then(testFunction6P, testFunction6, testFunction6) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -821,15 +821,15 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s6.then(sPromise, sPromise, sPromise).then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then(sPromise, sPromise, sPromise).then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6.then(sPromise, sPromise, sPromise) : Promise> ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -961,9 +961,9 @@ var s8: Promise; var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8a : any >s8.then(testFunction8, testFunction8, testFunction8) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -971,9 +971,9 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : any >s8.then(testFunction8P, testFunction8P, testFunction8P) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise @@ -981,9 +981,9 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : any >s8.then(testFunction8P, testFunction8, testFunction8) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -991,15 +991,15 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8.then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1071,9 +1071,9 @@ var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : any >s9.then(testFunction9, testFunction9, testFunction9) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -1081,9 +1081,9 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : any >s9.then(testFunction9P, testFunction9P, testFunction9P) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise @@ -1091,9 +1091,9 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : any >s9.then(testFunction9P, testFunction9, testFunction9) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -1101,9 +1101,9 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise> >s9.then(sPromise, sPromise, sPromise) : Promise> ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1111,9 +1111,9 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise> >s9.then(nPromise, nPromise, nPromise) : Promise> ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise @@ -1121,9 +1121,9 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : any >s9.then(testFunction, sIPromise, nIPromise) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1131,15 +1131,15 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9.then(testFunction, nIPromise, sIPromise) : Promise> ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1219,9 +1219,9 @@ var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10a : Promise> >s10.then(testFunction10, testFunction10, testFunction10) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1229,9 +1229,9 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise> >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise @@ -1239,9 +1239,9 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise> >s10.then(testFunction10P, testFunction10, testFunction10) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1249,9 +1249,9 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise> >s10.then(sPromise, sPromise, sPromise) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1259,9 +1259,9 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> >s10.then(nIPromise, nPromise, nIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nPromise : (x: any) => Promise >nIPromise : (x: any) => IPromise @@ -1269,9 +1269,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : any >s10.then(testFunctionP, sIPromise, nIPromise) : any ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1279,15 +1279,15 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> ->s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1313,9 +1313,9 @@ var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : any >s11.then(testFunction11, testFunction11, testFunction11) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1323,9 +1323,9 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok >s11b : any >s11.then(testFunction11P, testFunction11P, testFunction11P) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } @@ -1333,9 +1333,9 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok >s11c : any >s11.then(testFunction11P, testFunction11, testFunction11) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } diff --git a/tests/baselines/reference/promisePermutations3.errors.txt b/tests/baselines/reference/promisePermutations3.errors.txt index e995c4f1d3870..303e0050277ce 100644 --- a/tests/baselines/reference/promisePermutations3.errors.txt +++ b/tests/baselines/reference/promisePermutations3.errors.txt @@ -62,7 +62,7 @@ tests/cases/compiler/promisePermutations3.ts(158,21): error TS2345: Argument of tests/cases/compiler/promisePermutations3.ts(159,21): error TS2345: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. Type 'Promise' is not assignable to type 'IPromise'. Types of property 'then' are incompatible. - Type '{ (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '(success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise'. + Type '{ (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '(success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise'. Types of parameters 'onfulfilled' and 'success' are incompatible. Types of parameters 'value' and 'value' are incompatible. Type 'number' is not assignable to type 'string'. @@ -329,7 +329,7 @@ tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of !!! error TS2345: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2345: Type 'Promise' is not assignable to type 'IPromise'. !!! error TS2345: Types of property 'then' are incompatible. -!!! error TS2345: Type '{ (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '(success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise'. +!!! error TS2345: Type '{ (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; }' is not assignable to type '(success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise'. !!! error TS2345: Types of parameters 'onfulfilled' and 'success' are incompatible. !!! error TS2345: Types of parameters 'value' and 'value' are incompatible. !!! error TS2345: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/promisePermutations3.types b/tests/baselines/reference/promisePermutations3.types index ab6390ae77d70..c663c10a0dce1 100644 --- a/tests/baselines/reference/promisePermutations3.types +++ b/tests/baselines/reference/promisePermutations3.types @@ -6,7 +6,7 @@ interface Promise { >T : T then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => Promise >value : T @@ -23,7 +23,7 @@ interface Promise { >U : U then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => Promise >value : T @@ -39,7 +39,7 @@ interface Promise { >U : U then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => U >value : T @@ -55,7 +55,7 @@ interface Promise { >U : U then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >U : U >success : (value: T) => U >value : T @@ -379,9 +379,9 @@ var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Promise> >s1.then(testFunction, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -389,9 +389,9 @@ var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunctionP : () => Promise >testFunctionP : () => Promise @@ -399,9 +399,9 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise @@ -409,15 +409,15 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> ->s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -461,9 +461,9 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> >s2.then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -471,9 +471,9 @@ var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise<{ x: number; }> >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise<{ x: number; }> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> @@ -481,9 +481,9 @@ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -491,15 +491,15 @@ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: { x: number; }) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -541,9 +541,9 @@ var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Promise> >s3.then(testFunction3, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -551,9 +551,9 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise @@ -561,9 +561,9 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -571,15 +571,15 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >s3d : any >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : any ->s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -631,9 +631,9 @@ var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : any >s4.then(testFunction4, testFunction4, testFunction4) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -641,9 +641,9 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : any >s4.then(testFunction4P, testFunction4P, testFunction4P) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise @@ -651,9 +651,9 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : any >s4.then(testFunction4P, testFunction4, testFunction4) : any ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -661,15 +661,15 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise @@ -711,9 +711,9 @@ var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : any >s5.then(testFunction5, testFunction5, testFunction5) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -721,9 +721,9 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : any >s5.then(testFunction5P, testFunction5P, testFunction5P) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise @@ -731,9 +731,9 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : any >s5.then(testFunction5P, testFunction5, testFunction5) : any ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -741,15 +741,15 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5.then(sPromise, sPromise, sPromise) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -791,9 +791,9 @@ var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : any >s6.then(testFunction6, testFunction6, testFunction6) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -801,9 +801,9 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : any >s6.then(testFunction6P, testFunction6P, testFunction6P) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise @@ -811,9 +811,9 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : any >s6.then(testFunction6P, testFunction6, testFunction6) : any ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -821,15 +821,15 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6.then(sPromise, sPromise, sPromise) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -961,9 +961,9 @@ var s8: Promise; var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8a : any >s8.then(testFunction8, testFunction8, testFunction8) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -971,9 +971,9 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : any >s8.then(testFunction8P, testFunction8P, testFunction8P) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise @@ -981,9 +981,9 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : any >s8.then(testFunction8P, testFunction8, testFunction8) : any ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -991,15 +991,15 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8.then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1071,9 +1071,9 @@ var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : any >s9.then(testFunction9, testFunction9, testFunction9) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -1081,9 +1081,9 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : any >s9.then(testFunction9P, testFunction9P, testFunction9P) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise @@ -1091,9 +1091,9 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : any >s9.then(testFunction9P, testFunction9, testFunction9) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -1101,9 +1101,9 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise >s9.then(sPromise, sPromise, sPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1111,9 +1111,9 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise >s9.then(nPromise, nPromise, nPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise @@ -1121,9 +1121,9 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : any >s9.then(testFunction, sIPromise, nIPromise) : any ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1131,15 +1131,15 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9.then(testFunction, nIPromise, sIPromise) : Promise> ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1219,9 +1219,9 @@ var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10a : Promise> >s10.then(testFunction10, testFunction10, testFunction10) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1229,9 +1229,9 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise<{}> >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise<{}> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise @@ -1239,9 +1239,9 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise<{}> >s10.then(testFunction10P, testFunction10, testFunction10) : Promise<{}> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1249,9 +1249,9 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise >s10.then(sPromise, sPromise, sPromise) : Promise ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1259,9 +1259,9 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> >s10.then(nIPromise, nPromise, nIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nPromise : (x: any) => Promise >nIPromise : (x: any) => IPromise @@ -1269,9 +1269,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : any >s10.then(testFunctionP, sIPromise, nIPromise) : any ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1279,15 +1279,15 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> ->s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise<{}> ->then : { (onfulfilled?: (value: {}) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: {}) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: {}) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: {}) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1313,9 +1313,9 @@ var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : any >s11.then(testFunction11, testFunction11, testFunction11) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1323,9 +1323,9 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : any >s11.then(testFunction11P, testFunction11P, testFunction11P) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } @@ -1333,9 +1333,9 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : any >s11.then(testFunction11P, testFunction11, testFunction11) : any ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } diff --git a/tests/baselines/reference/promiseTest.types b/tests/baselines/reference/promiseTest.types index b9166a1af25d4..0a709dccddbfb 100644 --- a/tests/baselines/reference/promiseTest.types +++ b/tests/baselines/reference/promiseTest.types @@ -4,7 +4,7 @@ interface Promise { >T : T then(success?: (value: T) => Promise): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } >A : A >success : (value: T) => Promise >value : T @@ -15,7 +15,7 @@ interface Promise { >A : A then(success?: (value: T) => B): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } >B : B >success : (value: T) => B >value : T @@ -37,9 +37,9 @@ var p: Promise = null; var p2 = p.then(function (x) { >p2 : Promise >p.then(function (x) { return p;} ) : Promise ->p.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } +>p.then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } >p : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } >function (x) { return p;} : (x: number) => Promise >x : number diff --git a/tests/baselines/reference/promiseType.symbols b/tests/baselines/reference/promiseType.symbols index 5eea680f9fb7c..f33d26b8506af 100644 --- a/tests/baselines/reference/promiseType.symbols +++ b/tests/baselines/reference/promiseType.symbols @@ -91,9 +91,9 @@ async function F() { >e : Symbol(e, Decl(promiseType.ts, 47, 11)) return Promise.reject(Error()); ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -150,9 +150,9 @@ async function I() { >e : Symbol(e, Decl(promiseType.ts, 77, 11)) return Promise.reject(Error()); ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -227,9 +227,9 @@ const p18 = p.catch(() => Promise.reject(1)); >p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p19 = p.catch(() => Promise.resolve(1)); >p19 : Symbol(p19, Decl(promiseType.ts, 96, 5)) @@ -305,9 +305,9 @@ const p29 = p.then(() => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p30 = p.then(undefined, undefined); >p30 : Symbol(p30, Decl(promiseType.ts, 109, 5)) @@ -384,9 +384,9 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p40 = p.then(null, undefined); >p40 : Symbol(p40, Decl(promiseType.ts, 120, 5)) @@ -453,9 +453,9 @@ const p49 = p.then(null, () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p50 = p.then(() => "1", undefined); >p50 : Symbol(p50, Decl(promiseType.ts, 131, 5)) @@ -522,9 +522,9 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p60 = p.then(() => x, undefined); >p60 : Symbol(p60, Decl(promiseType.ts, 142, 5)) @@ -601,9 +601,9 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p70 = p.then(() => undefined, undefined); >p70 : Symbol(p70, Decl(promiseType.ts, 153, 5)) @@ -680,9 +680,9 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p80 = p.then(() => null, undefined); >p80 : Symbol(p80, Decl(promiseType.ts, 164, 5)) @@ -749,9 +749,9 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p90 = p.then(() => {}, undefined); >p90 : Symbol(p90, Decl(promiseType.ts, 175, 5)) @@ -818,9 +818,9 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pa0 = p.then(() => {throw 1}, undefined); >pa0 : Symbol(pa0, Decl(promiseType.ts, 186, 5)) @@ -887,9 +887,9 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pb0 = p.then(() => Promise.resolve("1"), undefined); >pb0 : Symbol(pb0, Decl(promiseType.ts, 197, 5)) @@ -986,18 +986,18 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc0 = p.then(() => Promise.reject("1"), undefined); >pc0 : Symbol(pc0, Decl(promiseType.ts, 208, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pc1 = p.then(() => Promise.reject("1"), null); @@ -1005,27 +1005,27 @@ const pc1 = p.then(() => Promise.reject("1"), null); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc2 = p.then(() => Promise.reject("1"), () => 1); >pc2 : Symbol(pc2, Decl(promiseType.ts, 210, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc3 = p.then(() => Promise.reject("1"), () => x); >pc3 : Symbol(pc3, Decl(promiseType.ts, 211, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >x : Symbol(x, Decl(promiseType.ts, 1, 11)) const pc4 = p.then(() => Promise.reject("1"), () => undefined); @@ -1033,9 +1033,9 @@ const pc4 = p.then(() => Promise.reject("1"), () => undefined); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pc5 = p.then(() => Promise.reject("1"), () => null); @@ -1043,36 +1043,36 @@ const pc5 = p.then(() => Promise.reject("1"), () => null); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc6 = p.then(() => Promise.reject("1"), () => {}); >pc6 : Symbol(pc6, Decl(promiseType.ts, 214, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >pc7 : Symbol(pc7, Decl(promiseType.ts, 215, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >pc8 : Symbol(pc8, Decl(promiseType.ts, 216, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -1082,10 +1082,10 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseType.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) diff --git a/tests/baselines/reference/promiseType.types b/tests/baselines/reference/promiseType.types index 3228d266319f5..b64876281bbc6 100644 --- a/tests/baselines/reference/promiseType.types +++ b/tests/baselines/reference/promiseType.types @@ -105,9 +105,9 @@ async function F() { return Promise.reject(Error()); >Promise.reject(Error()) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >Error() : Error >Error : ErrorConstructor } @@ -170,9 +170,9 @@ async function I() { return Promise.reject(Error()); >Promise.reject(Error()) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >Error() : Error >Error : ErrorConstructor } @@ -183,231 +183,231 @@ async function I() { const p00 = p.catch(); >p00 : Promise >p.catch() : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> const p01 = p.then(); >p01 : Promise >p.then() : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> const p10 = p.catch(undefined); >p10 : Promise >p.catch(undefined) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >undefined : undefined const p11 = p.catch(null); >p11 : Promise >p.catch(null) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >null : null const p12 = p.catch(() => 1); >p12 : Promise >p.catch(() => 1) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >() => 1 : () => number >1 : 1 const p13 = p.catch(() => x); >p13 : Promise >p.catch(() => x) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >() => x : () => any >x : any const p14 = p.catch(() => undefined); >p14 : Promise >p.catch(() => undefined) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >() => undefined : () => any >undefined : undefined const p15 = p.catch(() => null); >p15 : Promise >p.catch(() => null) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >() => null : () => any >null : null const p16 = p.catch(() => {}); >p16 : Promise >p.catch(() => {}) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >() => {} : () => void const p17 = p.catch(() => {throw 1}); >p17 : Promise >p.catch(() => {throw 1}) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >() => {throw 1} : () => never >1 : 1 const p18 = p.catch(() => Promise.reject(1)); >p18 : Promise >p.catch(() => Promise.reject(1)) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p19 = p.catch(() => Promise.resolve(1)); >p19 : Promise >p.catch(() => Promise.resolve(1)) : Promise ->p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>p.catch : (onrejected?: (reason: any) => TResult) => Promise> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise> >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p20 = p.then(undefined); >p20 : Promise >p.then(undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined const p21 = p.then(null); >p21 : Promise >p.then(null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null const p22 = p.then(() => 1); >p22 : Promise >p.then(() => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => 1 : () => number >1 : 1 const p23 = p.then(() => x); >p23 : Promise >p.then(() => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any const p24 = p.then(() => undefined); >p24 : Promise >p.then(() => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined const p25 = p.then(() => null); >p25 : Promise >p.then(() => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null const p26 = p.then(() => {}); >p26 : Promise >p.then(() => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void const p27 = p.then(() => {throw 1}); >p27 : Promise >p.then(() => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 const p28 = p.then(() => Promise.resolve(1)); >p28 : Promise >p.then(() => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p29 = p.then(() => Promise.reject(1)); >p29 : Promise >p.then(() => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p30 = p.then(undefined, undefined); >p30 : Promise >p.then(undefined, undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >undefined : undefined const p31 = p.then(undefined, null); >p31 : Promise >p.then(undefined, null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >null : null const p32 = p.then(undefined, () => 1); >p32 : Promise >p.then(undefined, () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >() => 1 : () => number >1 : 1 @@ -415,9 +415,9 @@ const p32 = p.then(undefined, () => 1); const p33 = p.then(undefined, () => x); >p33 : Promise >p.then(undefined, () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >() => x : () => any >x : any @@ -425,9 +425,9 @@ const p33 = p.then(undefined, () => x); const p34 = p.then(undefined, () => undefined); >p34 : Promise >p.then(undefined, () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >() => undefined : () => any >undefined : undefined @@ -435,9 +435,9 @@ const p34 = p.then(undefined, () => undefined); const p35 = p.then(undefined, () => null); >p35 : Promise >p.then(undefined, () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >() => null : () => any >null : null @@ -445,18 +445,18 @@ const p35 = p.then(undefined, () => null); const p36 = p.then(undefined, () => {}); >p36 : Promise >p.then(undefined, () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >() => {} : () => void const p37 = p.then(undefined, () => {throw 1}); >p37 : Promise >p.then(undefined, () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >() => {throw 1} : () => never >1 : 1 @@ -464,55 +464,55 @@ const p37 = p.then(undefined, () => {throw 1}); const p38 = p.then(undefined, () => Promise.resolve(1)); >p38 : Promise >p.then(undefined, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p39 = p.then(undefined, () => Promise.reject(1)); >p39 : Promise >p.then(undefined, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >undefined : undefined >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p40 = p.then(null, undefined); >p40 : Promise >p.then(null, undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >undefined : undefined const p41 = p.then(null, null); >p41 : Promise >p.then(null, null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >null : null const p42 = p.then(null, () => 1); >p42 : Promise >p.then(null, () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >() => 1 : () => number >1 : 1 @@ -520,9 +520,9 @@ const p42 = p.then(null, () => 1); const p43 = p.then(null, () => x); >p43 : Promise >p.then(null, () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >() => x : () => any >x : any @@ -530,9 +530,9 @@ const p43 = p.then(null, () => x); const p44 = p.then(null, () => undefined); >p44 : Promise >p.then(null, () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >() => undefined : () => any >undefined : undefined @@ -540,9 +540,9 @@ const p44 = p.then(null, () => undefined); const p45 = p.then(null, () => null); >p45 : Promise >p.then(null, () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >() => null : () => any >null : null @@ -550,18 +550,18 @@ const p45 = p.then(null, () => null); const p46 = p.then(null, () => {}); >p46 : Promise >p.then(null, () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >() => {} : () => void const p47 = p.then(null, () => {throw 1}); >p47 : Promise >p.then(null, () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >() => {throw 1} : () => never >1 : 1 @@ -569,37 +569,37 @@ const p47 = p.then(null, () => {throw 1}); const p48 = p.then(null, () => Promise.resolve(1)); >p48 : Promise >p.then(null, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p49 = p.then(null, () => Promise.reject(1)); >p49 : Promise >p.then(null, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >null : null >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p50 = p.then(() => "1", undefined); >p50 : Promise >p.then(() => "1", undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >undefined : undefined @@ -607,9 +607,9 @@ const p50 = p.then(() => "1", undefined); const p51 = p.then(() => "1", null); >p51 : Promise >p.then(() => "1", null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >null : null @@ -617,9 +617,9 @@ const p51 = p.then(() => "1", null); const p52 = p.then(() => "1", () => 1); >p52 : Promise >p.then(() => "1", () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => 1 : () => number @@ -628,9 +628,9 @@ const p52 = p.then(() => "1", () => 1); const p53 = p.then(() => "1", () => x); >p53 : Promise >p.then(() => "1", () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => x : () => any @@ -639,9 +639,9 @@ const p53 = p.then(() => "1", () => x); const p54 = p.then(() => "1", () => undefined); >p54 : Promise >p.then(() => "1", () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => undefined : () => any @@ -650,9 +650,9 @@ const p54 = p.then(() => "1", () => undefined); const p55 = p.then(() => "1", () => null); >p55 : Promise >p.then(() => "1", () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => null : () => any @@ -661,9 +661,9 @@ const p55 = p.then(() => "1", () => null); const p56 = p.then(() => "1", () => {}); >p56 : Promise >p.then(() => "1", () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => {} : () => void @@ -671,9 +671,9 @@ const p56 = p.then(() => "1", () => {}); const p57 = p.then(() => "1", () => {throw 1}); >p57 : Promise >p.then(() => "1", () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => {throw 1} : () => never @@ -682,39 +682,39 @@ const p57 = p.then(() => "1", () => {throw 1}); const p58 = p.then(() => "1", () => Promise.resolve(1)); >p58 : Promise >p.then(() => "1", () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p59 = p.then(() => "1", () => Promise.reject(1)); >p59 : Promise >p.then(() => "1", () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p60 = p.then(() => x, undefined); >p60 : Promise >p.then(() => x, undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >undefined : undefined @@ -722,9 +722,9 @@ const p60 = p.then(() => x, undefined); const p61 = p.then(() => x, null); >p61 : Promise >p.then(() => x, null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >null : null @@ -732,9 +732,9 @@ const p61 = p.then(() => x, null); const p62 = p.then(() => x, () => 1); >p62 : Promise >p.then(() => x, () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >() => 1 : () => number @@ -743,9 +743,9 @@ const p62 = p.then(() => x, () => 1); const p63 = p.then(() => x, () => x); >p63 : Promise >p.then(() => x, () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >() => x : () => any @@ -754,9 +754,9 @@ const p63 = p.then(() => x, () => x); const p64 = p.then(() => x, () => undefined); >p64 : Promise >p.then(() => x, () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >() => undefined : () => any @@ -765,9 +765,9 @@ const p64 = p.then(() => x, () => undefined); const p65 = p.then(() => x, () => null); >p65 : Promise >p.then(() => x, () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >() => null : () => any @@ -776,9 +776,9 @@ const p65 = p.then(() => x, () => null); const p66 = p.then(() => x, () => {}); >p66 : Promise >p.then(() => x, () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >() => {} : () => void @@ -786,9 +786,9 @@ const p66 = p.then(() => x, () => {}); const p67 = p.then(() => x, () => {throw 1}); >p67 : Promise >p.then(() => x, () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >() => {throw 1} : () => never @@ -797,39 +797,39 @@ const p67 = p.then(() => x, () => {throw 1}); const p68 = p.then(() => x, () => Promise.resolve(1)); >p68 : Promise >p.then(() => x, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p69 = p.then(() => x, () => Promise.reject(1)); >p69 : Promise >p.then(() => x, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => x : () => any >x : any >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p70 = p.then(() => undefined, undefined); >p70 : Promise >p.then(() => undefined, undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >undefined : undefined @@ -837,9 +837,9 @@ const p70 = p.then(() => undefined, undefined); const p71 = p.then(() => undefined, null); >p71 : Promise >p.then(() => undefined, null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >null : null @@ -847,9 +847,9 @@ const p71 = p.then(() => undefined, null); const p72 = p.then(() => undefined, () => 1); >p72 : Promise >p.then(() => undefined, () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >() => 1 : () => number @@ -858,9 +858,9 @@ const p72 = p.then(() => undefined, () => 1); const p73 = p.then(() => undefined, () => x); >p73 : Promise >p.then(() => undefined, () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >() => x : () => any @@ -869,9 +869,9 @@ const p73 = p.then(() => undefined, () => x); const p74 = p.then(() => undefined, () => undefined); >p74 : Promise >p.then(() => undefined, () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >() => undefined : () => any @@ -880,9 +880,9 @@ const p74 = p.then(() => undefined, () => undefined); const p75 = p.then(() => undefined, () => null); >p75 : Promise >p.then(() => undefined, () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >() => null : () => any @@ -891,9 +891,9 @@ const p75 = p.then(() => undefined, () => null); const p76 = p.then(() => undefined, () => {}); >p76 : Promise >p.then(() => undefined, () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >() => {} : () => void @@ -901,9 +901,9 @@ const p76 = p.then(() => undefined, () => {}); const p77 = p.then(() => undefined, () => {throw 1}); >p77 : Promise >p.then(() => undefined, () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >() => {throw 1} : () => never @@ -912,39 +912,39 @@ const p77 = p.then(() => undefined, () => {throw 1}); const p78 = p.then(() => undefined, () => Promise.resolve(1)); >p78 : Promise >p.then(() => undefined, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p79 = p.then(() => undefined, () => Promise.reject(1)); >p79 : Promise >p.then(() => undefined, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => undefined : () => any >undefined : undefined >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p80 = p.then(() => null, undefined); >p80 : Promise >p.then(() => null, undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >undefined : undefined @@ -952,9 +952,9 @@ const p80 = p.then(() => null, undefined); const p81 = p.then(() => null, null); >p81 : Promise >p.then(() => null, null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >null : null @@ -962,9 +962,9 @@ const p81 = p.then(() => null, null); const p82 = p.then(() => null, () => 1); >p82 : Promise >p.then(() => null, () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >() => 1 : () => number @@ -973,9 +973,9 @@ const p82 = p.then(() => null, () => 1); const p83 = p.then(() => null, () => x); >p83 : Promise >p.then(() => null, () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >() => x : () => any @@ -984,9 +984,9 @@ const p83 = p.then(() => null, () => x); const p84 = p.then(() => null, () => undefined); >p84 : Promise >p.then(() => null, () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >() => undefined : () => any @@ -995,9 +995,9 @@ const p84 = p.then(() => null, () => undefined); const p85 = p.then(() => null, () => null); >p85 : Promise >p.then(() => null, () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >() => null : () => any @@ -1006,9 +1006,9 @@ const p85 = p.then(() => null, () => null); const p86 = p.then(() => null, () => {}); >p86 : Promise >p.then(() => null, () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >() => {} : () => void @@ -1016,9 +1016,9 @@ const p86 = p.then(() => null, () => {}); const p87 = p.then(() => null, () => {throw 1}); >p87 : Promise >p.then(() => null, () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >() => {throw 1} : () => never @@ -1027,57 +1027,57 @@ const p87 = p.then(() => null, () => {throw 1}); const p88 = p.then(() => null, () => Promise.resolve(1)); >p88 : Promise >p.then(() => null, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p89 = p.then(() => null, () => Promise.reject(1)); >p89 : Promise >p.then(() => null, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => null : () => any >null : null >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p90 = p.then(() => {}, undefined); >p90 : Promise >p.then(() => {}, undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >undefined : undefined const p91 = p.then(() => {}, null); >p91 : Promise >p.then(() => {}, null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >null : null const p92 = p.then(() => {}, () => 1); >p92 : Promise >p.then(() => {}, () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >() => 1 : () => number >1 : 1 @@ -1085,9 +1085,9 @@ const p92 = p.then(() => {}, () => 1); const p93 = p.then(() => {}, () => x); >p93 : Promise >p.then(() => {}, () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >() => x : () => any >x : any @@ -1095,9 +1095,9 @@ const p93 = p.then(() => {}, () => x); const p94 = p.then(() => {}, () => undefined); >p94 : Promise >p.then(() => {}, () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >() => undefined : () => any >undefined : undefined @@ -1105,9 +1105,9 @@ const p94 = p.then(() => {}, () => undefined); const p95 = p.then(() => {}, () => null); >p95 : Promise >p.then(() => {}, () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >() => null : () => any >null : null @@ -1115,18 +1115,18 @@ const p95 = p.then(() => {}, () => null); const p96 = p.then(() => {}, () => {}); >p96 : Promise >p.then(() => {}, () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >() => {} : () => void const p97 = p.then(() => {}, () => {throw 1}); >p97 : Promise >p.then(() => {}, () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >() => {throw 1} : () => never >1 : 1 @@ -1134,37 +1134,37 @@ const p97 = p.then(() => {}, () => {throw 1}); const p98 = p.then(() => {}, () => Promise.resolve(1)); >p98 : Promise >p.then(() => {}, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p99 = p.then(() => {}, () => Promise.reject(1)); >p99 : Promise >p.then(() => {}, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {} : () => void >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const pa0 = p.then(() => {throw 1}, undefined); >pa0 : Promise >p.then(() => {throw 1}, undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >undefined : undefined @@ -1172,9 +1172,9 @@ const pa0 = p.then(() => {throw 1}, undefined); const pa1 = p.then(() => {throw 1}, null); >pa1 : Promise >p.then(() => {throw 1}, null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >null : null @@ -1182,9 +1182,9 @@ const pa1 = p.then(() => {throw 1}, null); const pa2 = p.then(() => {throw 1}, () => 1); >pa2 : Promise >p.then(() => {throw 1}, () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => 1 : () => number @@ -1193,9 +1193,9 @@ const pa2 = p.then(() => {throw 1}, () => 1); const pa3 = p.then(() => {throw 1}, () => x); >pa3 : Promise >p.then(() => {throw 1}, () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => x : () => any @@ -1204,9 +1204,9 @@ const pa3 = p.then(() => {throw 1}, () => x); const pa4 = p.then(() => {throw 1}, () => undefined); >pa4 : Promise >p.then(() => {throw 1}, () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => undefined : () => any @@ -1215,9 +1215,9 @@ const pa4 = p.then(() => {throw 1}, () => undefined); const pa5 = p.then(() => {throw 1}, () => null); >pa5 : Promise >p.then(() => {throw 1}, () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => null : () => any @@ -1226,9 +1226,9 @@ const pa5 = p.then(() => {throw 1}, () => null); const pa6 = p.then(() => {throw 1}, () => {}); >pa6 : Promise >p.then(() => {throw 1}, () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => {} : () => void @@ -1236,9 +1236,9 @@ const pa6 = p.then(() => {throw 1}, () => {}); const pa7 = p.then(() => {throw 1}, () => {throw 1}); >pa7 : Promise >p.then(() => {throw 1}, () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => {throw 1} : () => never @@ -1247,72 +1247,72 @@ const pa7 = p.then(() => {throw 1}, () => {throw 1}); const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >pa8 : Promise >p.then(() => {throw 1}, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >pa9 : Promise >p.then(() => {throw 1}, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const pb0 = p.then(() => Promise.resolve("1"), undefined); >pb0 : Promise >p.then(() => Promise.resolve("1"), undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >undefined : undefined const pb1 = p.then(() => Promise.resolve("1"), null); >pb1 : Promise >p.then(() => Promise.resolve("1"), null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >null : null const pb2 = p.then(() => Promise.resolve("1"), () => 1); >pb2 : Promise >p.then(() => Promise.resolve("1"), () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => 1 : () => number >1 : 1 @@ -1320,14 +1320,14 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); const pb3 = p.then(() => Promise.resolve("1"), () => x); >pb3 : Promise >p.then(() => Promise.resolve("1"), () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => x : () => any >x : any @@ -1335,14 +1335,14 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >pb4 : Promise >p.then(() => Promise.resolve("1"), () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => undefined : () => any >undefined : undefined @@ -1350,14 +1350,14 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); const pb5 = p.then(() => Promise.resolve("1"), () => null); >pb5 : Promise >p.then(() => Promise.resolve("1"), () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => null : () => any >null : null @@ -1365,28 +1365,28 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); const pb6 = p.then(() => Promise.resolve("1"), () => {}); >pb6 : Promise >p.then(() => Promise.resolve("1"), () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => {} : () => void const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >pb7 : Promise >p.then(() => Promise.resolve("1"), () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => {throw 1} : () => never >1 : 1 @@ -1394,80 +1394,80 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >pb8 : Promise >p.then(() => Promise.resolve("1"), () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >pb9 : Promise >p.then(() => Promise.resolve("1"), () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const pc0 = p.then(() => Promise.reject("1"), undefined); >pc0 : Promise >p.then(() => Promise.reject("1"), undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >undefined : undefined const pc1 = p.then(() => Promise.reject("1"), null); >pc1 : Promise >p.then(() => Promise.reject("1"), null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >null : null const pc2 = p.then(() => Promise.reject("1"), () => 1); >pc2 : Promise >p.then(() => Promise.reject("1"), () => 1) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => 1 : () => number >1 : 1 @@ -1475,14 +1475,14 @@ const pc2 = p.then(() => Promise.reject("1"), () => 1); const pc3 = p.then(() => Promise.reject("1"), () => x); >pc3 : Promise >p.then(() => Promise.reject("1"), () => x) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => x : () => any >x : any @@ -1490,14 +1490,14 @@ const pc3 = p.then(() => Promise.reject("1"), () => x); const pc4 = p.then(() => Promise.reject("1"), () => undefined); >pc4 : Promise >p.then(() => Promise.reject("1"), () => undefined) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => undefined : () => any >undefined : undefined @@ -1505,14 +1505,14 @@ const pc4 = p.then(() => Promise.reject("1"), () => undefined); const pc5 = p.then(() => Promise.reject("1"), () => null); >pc5 : Promise >p.then(() => Promise.reject("1"), () => null) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => null : () => any >null : null @@ -1520,28 +1520,28 @@ const pc5 = p.then(() => Promise.reject("1"), () => null); const pc6 = p.then(() => Promise.reject("1"), () => {}); >pc6 : Promise >p.then(() => Promise.reject("1"), () => {}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => {} : () => void const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >pc7 : Promise >p.then(() => Promise.reject("1"), () => {throw 1}) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => {throw 1} : () => never >1 : 1 @@ -1549,38 +1549,38 @@ const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >pc8 : Promise >p.then(() => Promise.reject("1"), () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >pc9 : Promise >p.then(() => Promise.reject("1"), () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p.then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 diff --git a/tests/baselines/reference/promiseTypeInference.errors.txt b/tests/baselines/reference/promiseTypeInference.errors.txt deleted file mode 100644 index fab56c73375f7..0000000000000 --- a/tests/baselines/reference/promiseTypeInference.errors.txt +++ /dev/null @@ -1,31 +0,0 @@ -tests/cases/compiler/promiseTypeInference.ts(10,34): error TS2345: Argument of type '(s: string) => IPromise' is not assignable to parameter of type '(value: string) => number | PromiseLike'. - Type 'IPromise' is not assignable to type 'number | PromiseLike'. - Type 'IPromise' is not assignable to type 'PromiseLike'. - Types of property 'then' are incompatible. - Type '(success?: (value: number) => IPromise) => IPromise' is not assignable to type '(onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => PromiseLike'. - Types of parameters 'success' and 'onfulfilled' are incompatible. - Type 'TResult1 | PromiseLike' is not assignable to type 'IPromise'. - Type 'TResult1' is not assignable to type 'IPromise'. - - -==== tests/cases/compiler/promiseTypeInference.ts (1 errors) ==== - declare class Promise { - then(success?: (value: T) => Promise): Promise; - } - interface IPromise { - then(success?: (value: T) => IPromise): IPromise; - } - declare function load(name: string): Promise; - declare function convert(s: string): IPromise; - - var $$x = load("something").then(s => convert(s)); - ~~~~~~~~~~~~~~~ -!!! error TS2345: Argument of type '(s: string) => IPromise' is not assignable to parameter of type '(value: string) => number | PromiseLike'. -!!! error TS2345: Type 'IPromise' is not assignable to type 'number | PromiseLike'. -!!! error TS2345: Type 'IPromise' is not assignable to type 'PromiseLike'. -!!! error TS2345: Types of property 'then' are incompatible. -!!! error TS2345: Type '(success?: (value: number) => IPromise) => IPromise' is not assignable to type '(onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => PromiseLike'. -!!! error TS2345: Types of parameters 'success' and 'onfulfilled' are incompatible. -!!! error TS2345: Type 'TResult1 | PromiseLike' is not assignable to type 'IPromise'. -!!! error TS2345: Type 'TResult1' is not assignable to type 'IPromise'. - \ No newline at end of file diff --git a/tests/baselines/reference/promiseTypeInference.types b/tests/baselines/reference/promiseTypeInference.types index c5927e99aabba..b2e9401de6b79 100644 --- a/tests/baselines/reference/promiseTypeInference.types +++ b/tests/baselines/reference/promiseTypeInference.types @@ -4,7 +4,7 @@ declare class Promise { >T : T then(success?: (value: T) => Promise): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => Promise): Promise; } >U : U >success : (value: T) => Promise >value : T @@ -40,13 +40,13 @@ declare function convert(s: string): IPromise; >IPromise : IPromise var $$x = load("something").then(s => convert(s)); ->$$x : any ->load("something").then(s => convert(s)) : any ->load("something").then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise): Promise; } +>$$x : Promise +>load("something").then(s => convert(s)) : Promise +>load("something").then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise): Promise; } >load("something") : Promise >load : (name: string) => Promise >"something" : "something" ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: string) => Promise): Promise; } >s => convert(s) : (s: string) => IPromise >s : string >convert(s) : IPromise diff --git a/tests/baselines/reference/promiseTypeStrictNull.symbols b/tests/baselines/reference/promiseTypeStrictNull.symbols index 3fabb7f16b766..306099786428d 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.symbols +++ b/tests/baselines/reference/promiseTypeStrictNull.symbols @@ -91,9 +91,9 @@ async function F() { >e : Symbol(e, Decl(promiseTypeStrictNull.ts, 47, 11)) return Promise.reject(Error()); ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -150,9 +150,9 @@ async function I() { >e : Symbol(e, Decl(promiseTypeStrictNull.ts, 77, 11)) return Promise.reject(Error()); ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) } } @@ -227,9 +227,9 @@ const p18 = p.catch(() => Promise.reject(1)); >p.catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >catch : Symbol(Promise.catch, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p19 = p.catch(() => Promise.resolve(1)); >p19 : Symbol(p19, Decl(promiseTypeStrictNull.ts, 96, 5)) @@ -305,9 +305,9 @@ const p29 = p.then(() => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p30 = p.then(undefined, undefined); >p30 : Symbol(p30, Decl(promiseTypeStrictNull.ts, 109, 5)) @@ -384,9 +384,9 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p40 = p.then(null, undefined); >p40 : Symbol(p40, Decl(promiseTypeStrictNull.ts, 120, 5)) @@ -453,9 +453,9 @@ const p49 = p.then(null, () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p50 = p.then(() => "1", undefined); >p50 : Symbol(p50, Decl(promiseTypeStrictNull.ts, 131, 5)) @@ -522,9 +522,9 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p60 = p.then(() => x, undefined); >p60 : Symbol(p60, Decl(promiseTypeStrictNull.ts, 142, 5)) @@ -601,9 +601,9 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p70 = p.then(() => undefined, undefined); >p70 : Symbol(p70, Decl(promiseTypeStrictNull.ts, 153, 5)) @@ -680,9 +680,9 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >undefined : Symbol(undefined) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p80 = p.then(() => null, undefined); >p80 : Symbol(p80, Decl(promiseTypeStrictNull.ts, 164, 5)) @@ -749,9 +749,9 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const p90 = p.then(() => {}, undefined); >p90 : Symbol(p90, Decl(promiseTypeStrictNull.ts, 175, 5)) @@ -818,9 +818,9 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pa0 = p.then(() => {throw 1}, undefined); >pa0 : Symbol(pa0, Decl(promiseTypeStrictNull.ts, 186, 5)) @@ -887,9 +887,9 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pb0 = p.then(() => Promise.resolve("1"), undefined); >pb0 : Symbol(pb0, Decl(promiseTypeStrictNull.ts, 197, 5)) @@ -986,18 +986,18 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc0 = p.then(() => Promise.reject("1"), undefined); >pc0 : Symbol(pc0, Decl(promiseTypeStrictNull.ts, 208, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pc1 = p.then(() => Promise.reject("1"), null); @@ -1005,27 +1005,27 @@ const pc1 = p.then(() => Promise.reject("1"), null); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc2 = p.then(() => Promise.reject("1"), () => 1); >pc2 : Symbol(pc2, Decl(promiseTypeStrictNull.ts, 210, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc3 = p.then(() => Promise.reject("1"), () => x); >pc3 : Symbol(pc3, Decl(promiseTypeStrictNull.ts, 211, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >x : Symbol(x, Decl(promiseTypeStrictNull.ts, 1, 11)) const pc4 = p.then(() => Promise.reject("1"), () => undefined); @@ -1033,9 +1033,9 @@ const pc4 = p.then(() => Promise.reject("1"), () => undefined); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >undefined : Symbol(undefined) const pc5 = p.then(() => Promise.reject("1"), () => null); @@ -1043,36 +1043,36 @@ const pc5 = p.then(() => Promise.reject("1"), () => null); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc6 = p.then(() => Promise.reject("1"), () => {}); >pc6 : Symbol(pc6, Decl(promiseTypeStrictNull.ts, 214, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >pc7 : Symbol(pc7, Decl(promiseTypeStrictNull.ts, 215, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >pc8 : Symbol(pc8, Decl(promiseTypeStrictNull.ts, 216, 5)) >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) @@ -1082,10 +1082,10 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >p.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) >p : Symbol(p, Decl(promiseTypeStrictNull.ts, 0, 11)) >then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +>Promise.reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) ->reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) diff --git a/tests/baselines/reference/promiseTypeStrictNull.types b/tests/baselines/reference/promiseTypeStrictNull.types index 7bb75ec66f234..f061b81c9f643 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.types +++ b/tests/baselines/reference/promiseTypeStrictNull.types @@ -105,9 +105,9 @@ async function F() { return Promise.reject(Error()); >Promise.reject(Error()) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >Error() : Error >Error : ErrorConstructor } @@ -170,9 +170,9 @@ async function I() { return Promise.reject(Error()); >Promise.reject(Error()) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >Error() : Error >Error : ErrorConstructor } @@ -183,231 +183,231 @@ async function I() { const p00 = p.catch(); >p00 : Promise >p.catch() : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> const p01 = p.then(); >p01 : Promise >p.then() : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> const p10 = p.catch(undefined); >p10 : Promise >p.catch(undefined) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >undefined : undefined const p11 = p.catch(null); >p11 : Promise >p.catch(null) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >null : null const p12 = p.catch(() => 1); >p12 : Promise >p.catch(() => 1) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >() => 1 : () => number >1 : 1 const p13 = p.catch(() => x); >p13 : Promise >p.catch(() => x) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >() => x : () => any >x : any const p14 = p.catch(() => undefined); >p14 : Promise >p.catch(() => undefined) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >() => undefined : () => undefined >undefined : undefined const p15 = p.catch(() => null); >p15 : Promise >p.catch(() => null) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >() => null : () => null >null : null const p16 = p.catch(() => {}); >p16 : Promise >p.catch(() => {}) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >() => {} : () => void const p17 = p.catch(() => {throw 1}); >p17 : Promise >p.catch(() => {throw 1}) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >() => {throw 1} : () => never >1 : 1 const p18 = p.catch(() => Promise.reject(1)); >p18 : Promise >p.catch(() => Promise.reject(1)) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p19 = p.catch(() => Promise.resolve(1)); >p19 : Promise >p.catch(() => Promise.resolve(1)) : Promise ->p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>p.catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise> >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p20 = p.then(undefined); >p20 : Promise >p.then(undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined const p21 = p.then(null); >p21 : Promise >p.then(null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null const p22 = p.then(() => 1); >p22 : Promise >p.then(() => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => 1 : () => number >1 : 1 const p23 = p.then(() => x); >p23 : Promise >p.then(() => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any const p24 = p.then(() => undefined); >p24 : Promise >p.then(() => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined const p25 = p.then(() => null); >p25 : Promise >p.then(() => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null const p26 = p.then(() => {}); >p26 : Promise >p.then(() => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void const p27 = p.then(() => {throw 1}); >p27 : Promise >p.then(() => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 const p28 = p.then(() => Promise.resolve(1)); >p28 : Promise >p.then(() => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p29 = p.then(() => Promise.reject(1)); >p29 : Promise >p.then(() => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p30 = p.then(undefined, undefined); >p30 : Promise >p.then(undefined, undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >undefined : undefined const p31 = p.then(undefined, null); >p31 : Promise >p.then(undefined, null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >null : null const p32 = p.then(undefined, () => 1); >p32 : Promise >p.then(undefined, () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >() => 1 : () => number >1 : 1 @@ -415,9 +415,9 @@ const p32 = p.then(undefined, () => 1); const p33 = p.then(undefined, () => x); >p33 : Promise >p.then(undefined, () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >() => x : () => any >x : any @@ -425,9 +425,9 @@ const p33 = p.then(undefined, () => x); const p34 = p.then(undefined, () => undefined); >p34 : Promise >p.then(undefined, () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >() => undefined : () => undefined >undefined : undefined @@ -435,9 +435,9 @@ const p34 = p.then(undefined, () => undefined); const p35 = p.then(undefined, () => null); >p35 : Promise >p.then(undefined, () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >() => null : () => null >null : null @@ -445,18 +445,18 @@ const p35 = p.then(undefined, () => null); const p36 = p.then(undefined, () => {}); >p36 : Promise >p.then(undefined, () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >() => {} : () => void const p37 = p.then(undefined, () => {throw 1}); >p37 : Promise >p.then(undefined, () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >() => {throw 1} : () => never >1 : 1 @@ -464,55 +464,55 @@ const p37 = p.then(undefined, () => {throw 1}); const p38 = p.then(undefined, () => Promise.resolve(1)); >p38 : Promise >p.then(undefined, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p39 = p.then(undefined, () => Promise.reject(1)); >p39 : Promise >p.then(undefined, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >undefined : undefined >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p40 = p.then(null, undefined); >p40 : Promise >p.then(null, undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >undefined : undefined const p41 = p.then(null, null); >p41 : Promise >p.then(null, null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >null : null const p42 = p.then(null, () => 1); >p42 : Promise >p.then(null, () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >() => 1 : () => number >1 : 1 @@ -520,9 +520,9 @@ const p42 = p.then(null, () => 1); const p43 = p.then(null, () => x); >p43 : Promise >p.then(null, () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >() => x : () => any >x : any @@ -530,9 +530,9 @@ const p43 = p.then(null, () => x); const p44 = p.then(null, () => undefined); >p44 : Promise >p.then(null, () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >() => undefined : () => undefined >undefined : undefined @@ -540,9 +540,9 @@ const p44 = p.then(null, () => undefined); const p45 = p.then(null, () => null); >p45 : Promise >p.then(null, () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >() => null : () => null >null : null @@ -550,18 +550,18 @@ const p45 = p.then(null, () => null); const p46 = p.then(null, () => {}); >p46 : Promise >p.then(null, () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >() => {} : () => void const p47 = p.then(null, () => {throw 1}); >p47 : Promise >p.then(null, () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >() => {throw 1} : () => never >1 : 1 @@ -569,37 +569,37 @@ const p47 = p.then(null, () => {throw 1}); const p48 = p.then(null, () => Promise.resolve(1)); >p48 : Promise >p.then(null, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p49 = p.then(null, () => Promise.reject(1)); >p49 : Promise >p.then(null, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >null : null >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p50 = p.then(() => "1", undefined); >p50 : Promise >p.then(() => "1", undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >undefined : undefined @@ -607,9 +607,9 @@ const p50 = p.then(() => "1", undefined); const p51 = p.then(() => "1", null); >p51 : Promise >p.then(() => "1", null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >null : null @@ -617,9 +617,9 @@ const p51 = p.then(() => "1", null); const p52 = p.then(() => "1", () => 1); >p52 : Promise >p.then(() => "1", () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => 1 : () => number @@ -628,9 +628,9 @@ const p52 = p.then(() => "1", () => 1); const p53 = p.then(() => "1", () => x); >p53 : Promise >p.then(() => "1", () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => x : () => any @@ -639,9 +639,9 @@ const p53 = p.then(() => "1", () => x); const p54 = p.then(() => "1", () => undefined); >p54 : Promise >p.then(() => "1", () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => undefined : () => undefined @@ -650,9 +650,9 @@ const p54 = p.then(() => "1", () => undefined); const p55 = p.then(() => "1", () => null); >p55 : Promise >p.then(() => "1", () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => null : () => null @@ -661,9 +661,9 @@ const p55 = p.then(() => "1", () => null); const p56 = p.then(() => "1", () => {}); >p56 : Promise >p.then(() => "1", () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => {} : () => void @@ -671,9 +671,9 @@ const p56 = p.then(() => "1", () => {}); const p57 = p.then(() => "1", () => {throw 1}); >p57 : Promise >p.then(() => "1", () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => {throw 1} : () => never @@ -682,39 +682,39 @@ const p57 = p.then(() => "1", () => {throw 1}); const p58 = p.then(() => "1", () => Promise.resolve(1)); >p58 : Promise >p.then(() => "1", () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p59 = p.then(() => "1", () => Promise.reject(1)); >p59 : Promise >p.then(() => "1", () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => "1" : () => string >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p60 = p.then(() => x, undefined); >p60 : Promise >p.then(() => x, undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >undefined : undefined @@ -722,9 +722,9 @@ const p60 = p.then(() => x, undefined); const p61 = p.then(() => x, null); >p61 : Promise >p.then(() => x, null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >null : null @@ -732,9 +732,9 @@ const p61 = p.then(() => x, null); const p62 = p.then(() => x, () => 1); >p62 : Promise >p.then(() => x, () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >() => 1 : () => number @@ -743,9 +743,9 @@ const p62 = p.then(() => x, () => 1); const p63 = p.then(() => x, () => x); >p63 : Promise >p.then(() => x, () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >() => x : () => any @@ -754,9 +754,9 @@ const p63 = p.then(() => x, () => x); const p64 = p.then(() => x, () => undefined); >p64 : Promise >p.then(() => x, () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >() => undefined : () => undefined @@ -765,9 +765,9 @@ const p64 = p.then(() => x, () => undefined); const p65 = p.then(() => x, () => null); >p65 : Promise >p.then(() => x, () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >() => null : () => null @@ -776,9 +776,9 @@ const p65 = p.then(() => x, () => null); const p66 = p.then(() => x, () => {}); >p66 : Promise >p.then(() => x, () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >() => {} : () => void @@ -786,9 +786,9 @@ const p66 = p.then(() => x, () => {}); const p67 = p.then(() => x, () => {throw 1}); >p67 : Promise >p.then(() => x, () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >() => {throw 1} : () => never @@ -797,39 +797,39 @@ const p67 = p.then(() => x, () => {throw 1}); const p68 = p.then(() => x, () => Promise.resolve(1)); >p68 : Promise >p.then(() => x, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p69 = p.then(() => x, () => Promise.reject(1)); >p69 : Promise >p.then(() => x, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => x : () => any >x : any >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p70 = p.then(() => undefined, undefined); >p70 : Promise >p.then(() => undefined, undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >undefined : undefined @@ -837,9 +837,9 @@ const p70 = p.then(() => undefined, undefined); const p71 = p.then(() => undefined, null); >p71 : Promise >p.then(() => undefined, null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >null : null @@ -847,9 +847,9 @@ const p71 = p.then(() => undefined, null); const p72 = p.then(() => undefined, () => 1); >p72 : Promise >p.then(() => undefined, () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >() => 1 : () => number @@ -858,9 +858,9 @@ const p72 = p.then(() => undefined, () => 1); const p73 = p.then(() => undefined, () => x); >p73 : Promise >p.then(() => undefined, () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >() => x : () => any @@ -869,9 +869,9 @@ const p73 = p.then(() => undefined, () => x); const p74 = p.then(() => undefined, () => undefined); >p74 : Promise >p.then(() => undefined, () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >() => undefined : () => undefined @@ -880,9 +880,9 @@ const p74 = p.then(() => undefined, () => undefined); const p75 = p.then(() => undefined, () => null); >p75 : Promise >p.then(() => undefined, () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >() => null : () => null @@ -891,9 +891,9 @@ const p75 = p.then(() => undefined, () => null); const p76 = p.then(() => undefined, () => {}); >p76 : Promise >p.then(() => undefined, () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >() => {} : () => void @@ -901,9 +901,9 @@ const p76 = p.then(() => undefined, () => {}); const p77 = p.then(() => undefined, () => {throw 1}); >p77 : Promise >p.then(() => undefined, () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >() => {throw 1} : () => never @@ -912,39 +912,39 @@ const p77 = p.then(() => undefined, () => {throw 1}); const p78 = p.then(() => undefined, () => Promise.resolve(1)); >p78 : Promise >p.then(() => undefined, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p79 = p.then(() => undefined, () => Promise.reject(1)); >p79 : Promise >p.then(() => undefined, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => undefined : () => undefined >undefined : undefined >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p80 = p.then(() => null, undefined); >p80 : Promise >p.then(() => null, undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >undefined : undefined @@ -952,9 +952,9 @@ const p80 = p.then(() => null, undefined); const p81 = p.then(() => null, null); >p81 : Promise >p.then(() => null, null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >null : null @@ -962,9 +962,9 @@ const p81 = p.then(() => null, null); const p82 = p.then(() => null, () => 1); >p82 : Promise >p.then(() => null, () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >() => 1 : () => number @@ -973,9 +973,9 @@ const p82 = p.then(() => null, () => 1); const p83 = p.then(() => null, () => x); >p83 : Promise >p.then(() => null, () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >() => x : () => any @@ -984,9 +984,9 @@ const p83 = p.then(() => null, () => x); const p84 = p.then(() => null, () => undefined); >p84 : Promise >p.then(() => null, () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >() => undefined : () => undefined @@ -995,9 +995,9 @@ const p84 = p.then(() => null, () => undefined); const p85 = p.then(() => null, () => null); >p85 : Promise >p.then(() => null, () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >() => null : () => null @@ -1006,9 +1006,9 @@ const p85 = p.then(() => null, () => null); const p86 = p.then(() => null, () => {}); >p86 : Promise >p.then(() => null, () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >() => {} : () => void @@ -1016,9 +1016,9 @@ const p86 = p.then(() => null, () => {}); const p87 = p.then(() => null, () => {throw 1}); >p87 : Promise >p.then(() => null, () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >() => {throw 1} : () => never @@ -1027,57 +1027,57 @@ const p87 = p.then(() => null, () => {throw 1}); const p88 = p.then(() => null, () => Promise.resolve(1)); >p88 : Promise >p.then(() => null, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p89 = p.then(() => null, () => Promise.reject(1)); >p89 : Promise >p.then(() => null, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => null : () => null >null : null >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const p90 = p.then(() => {}, undefined); >p90 : Promise >p.then(() => {}, undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >undefined : undefined const p91 = p.then(() => {}, null); >p91 : Promise >p.then(() => {}, null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >null : null const p92 = p.then(() => {}, () => 1); >p92 : Promise >p.then(() => {}, () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >() => 1 : () => number >1 : 1 @@ -1085,9 +1085,9 @@ const p92 = p.then(() => {}, () => 1); const p93 = p.then(() => {}, () => x); >p93 : Promise >p.then(() => {}, () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >() => x : () => any >x : any @@ -1095,9 +1095,9 @@ const p93 = p.then(() => {}, () => x); const p94 = p.then(() => {}, () => undefined); >p94 : Promise >p.then(() => {}, () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >() => undefined : () => undefined >undefined : undefined @@ -1105,9 +1105,9 @@ const p94 = p.then(() => {}, () => undefined); const p95 = p.then(() => {}, () => null); >p95 : Promise >p.then(() => {}, () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >() => null : () => null >null : null @@ -1115,18 +1115,18 @@ const p95 = p.then(() => {}, () => null); const p96 = p.then(() => {}, () => {}); >p96 : Promise >p.then(() => {}, () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >() => {} : () => void const p97 = p.then(() => {}, () => {throw 1}); >p97 : Promise >p.then(() => {}, () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >() => {throw 1} : () => never >1 : 1 @@ -1134,37 +1134,37 @@ const p97 = p.then(() => {}, () => {throw 1}); const p98 = p.then(() => {}, () => Promise.resolve(1)); >p98 : Promise >p.then(() => {}, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const p99 = p.then(() => {}, () => Promise.reject(1)); >p99 : Promise >p.then(() => {}, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {} : () => void >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const pa0 = p.then(() => {throw 1}, undefined); >pa0 : Promise >p.then(() => {throw 1}, undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >undefined : undefined @@ -1172,9 +1172,9 @@ const pa0 = p.then(() => {throw 1}, undefined); const pa1 = p.then(() => {throw 1}, null); >pa1 : Promise >p.then(() => {throw 1}, null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >null : null @@ -1182,9 +1182,9 @@ const pa1 = p.then(() => {throw 1}, null); const pa2 = p.then(() => {throw 1}, () => 1); >pa2 : Promise >p.then(() => {throw 1}, () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => 1 : () => number @@ -1193,9 +1193,9 @@ const pa2 = p.then(() => {throw 1}, () => 1); const pa3 = p.then(() => {throw 1}, () => x); >pa3 : Promise >p.then(() => {throw 1}, () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => x : () => any @@ -1204,9 +1204,9 @@ const pa3 = p.then(() => {throw 1}, () => x); const pa4 = p.then(() => {throw 1}, () => undefined); >pa4 : Promise >p.then(() => {throw 1}, () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => undefined : () => undefined @@ -1215,9 +1215,9 @@ const pa4 = p.then(() => {throw 1}, () => undefined); const pa5 = p.then(() => {throw 1}, () => null); >pa5 : Promise >p.then(() => {throw 1}, () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => null : () => null @@ -1226,9 +1226,9 @@ const pa5 = p.then(() => {throw 1}, () => null); const pa6 = p.then(() => {throw 1}, () => {}); >pa6 : Promise >p.then(() => {throw 1}, () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => {} : () => void @@ -1236,9 +1236,9 @@ const pa6 = p.then(() => {throw 1}, () => {}); const pa7 = p.then(() => {throw 1}, () => {throw 1}); >pa7 : Promise >p.then(() => {throw 1}, () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => {throw 1} : () => never @@ -1247,72 +1247,72 @@ const pa7 = p.then(() => {throw 1}, () => {throw 1}); const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >pa8 : Promise >p.then(() => {throw 1}, () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >pa9 : Promise >p.then(() => {throw 1}, () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => {throw 1} : () => never >1 : 1 >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const pb0 = p.then(() => Promise.resolve("1"), undefined); >pb0 : Promise >p.then(() => Promise.resolve("1"), undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >undefined : undefined const pb1 = p.then(() => Promise.resolve("1"), null); >pb1 : Promise >p.then(() => Promise.resolve("1"), null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >null : null const pb2 = p.then(() => Promise.resolve("1"), () => 1); >pb2 : Promise >p.then(() => Promise.resolve("1"), () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => 1 : () => number >1 : 1 @@ -1320,14 +1320,14 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); const pb3 = p.then(() => Promise.resolve("1"), () => x); >pb3 : Promise >p.then(() => Promise.resolve("1"), () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => x : () => any >x : any @@ -1335,14 +1335,14 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >pb4 : Promise >p.then(() => Promise.resolve("1"), () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => undefined : () => undefined >undefined : undefined @@ -1350,14 +1350,14 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); const pb5 = p.then(() => Promise.resolve("1"), () => null); >pb5 : Promise >p.then(() => Promise.resolve("1"), () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => null : () => null >null : null @@ -1365,28 +1365,28 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); const pb6 = p.then(() => Promise.resolve("1"), () => {}); >pb6 : Promise >p.then(() => Promise.resolve("1"), () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => {} : () => void const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >pb7 : Promise >p.then(() => Promise.resolve("1"), () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => {throw 1} : () => never >1 : 1 @@ -1394,80 +1394,80 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >pb8 : Promise >p.then(() => Promise.resolve("1"), () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >pb9 : Promise >p.then(() => Promise.resolve("1"), () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 const pc0 = p.then(() => Promise.reject("1"), undefined); >pc0 : Promise >p.then(() => Promise.reject("1"), undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >undefined : undefined const pc1 = p.then(() => Promise.reject("1"), null); >pc1 : Promise >p.then(() => Promise.reject("1"), null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >null : null const pc2 = p.then(() => Promise.reject("1"), () => 1); >pc2 : Promise >p.then(() => Promise.reject("1"), () => 1) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => 1 : () => number >1 : 1 @@ -1475,14 +1475,14 @@ const pc2 = p.then(() => Promise.reject("1"), () => 1); const pc3 = p.then(() => Promise.reject("1"), () => x); >pc3 : Promise >p.then(() => Promise.reject("1"), () => x) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => x : () => any >x : any @@ -1490,14 +1490,14 @@ const pc3 = p.then(() => Promise.reject("1"), () => x); const pc4 = p.then(() => Promise.reject("1"), () => undefined); >pc4 : Promise >p.then(() => Promise.reject("1"), () => undefined) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => undefined : () => undefined >undefined : undefined @@ -1505,14 +1505,14 @@ const pc4 = p.then(() => Promise.reject("1"), () => undefined); const pc5 = p.then(() => Promise.reject("1"), () => null); >pc5 : Promise >p.then(() => Promise.reject("1"), () => null) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => null : () => null >null : null @@ -1520,28 +1520,28 @@ const pc5 = p.then(() => Promise.reject("1"), () => null); const pc6 = p.then(() => Promise.reject("1"), () => {}); >pc6 : Promise >p.then(() => Promise.reject("1"), () => {}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => {} : () => void const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >pc7 : Promise >p.then(() => Promise.reject("1"), () => {throw 1}) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => {throw 1} : () => never >1 : 1 @@ -1549,38 +1549,38 @@ const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >pc8 : Promise >p.then(() => Promise.reject("1"), () => Promise.resolve(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >pc9 : Promise >p.then(() => Promise.reject("1"), () => Promise.reject(1)) : Promise ->p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>p.then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >p : Promise ->then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: boolean) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise | Awaited> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise ->Promise.reject : { (reason: any): Promise; (reason: any): Promise; } +>Promise.reject : (reason: any) => Promise> >Promise : PromiseConstructor ->reject : { (reason: any): Promise; (reason: any): Promise; } +>reject : (reason: any) => Promise> >1 : 1 diff --git a/tests/baselines/reference/promiseVoidErrorCallback.types b/tests/baselines/reference/promiseVoidErrorCallback.types index bd1b3a87c2603..b72283e7f65c2 100644 --- a/tests/baselines/reference/promiseVoidErrorCallback.types +++ b/tests/baselines/reference/promiseVoidErrorCallback.types @@ -27,9 +27,9 @@ function f1(): Promise { return Promise.resolve({ __t1: "foo_t1" }); >Promise.resolve({ __t1: "foo_t1" }) : Promise<{ __t1: string; }> ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >{ __t1: "foo_t1" } : { __t1: string; } >__t1 : string >"foo_t1" : "foo_t1" @@ -54,14 +54,14 @@ function f2(x: T1): T2 { var x3 = f1() >x3 : Promise<{ __t3: string; }> >f1() .then(f2, (e: Error) => { throw e;}) .then((x: T2) => { return { __t3: x.__t2 + "bar" };}) : Promise<{ __t3: string; }> ->f1() .then(f2, (e: Error) => { throw e;}) .then : (onfulfilled?: (value: T2) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>f1() .then(f2, (e: Error) => { throw e;}) .then : (onfulfilled?: (value: T2) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >f1() .then(f2, (e: Error) => { throw e;}) : Promise ->f1() .then : (onfulfilled?: (value: T1) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>f1() .then : (onfulfilled?: (value: T1) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >f1() : Promise >f1 : () => Promise .then(f2, (e: Error) => { ->then : (onfulfilled?: (value: T1) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: T1) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >f2 : (x: T1) => T2 >(e: Error) => { throw e;} : (e: Error) => never >e : Error @@ -72,7 +72,7 @@ var x3 = f1() }) .then((x: T2) => { ->then : (onfulfilled?: (value: T2) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: T2) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >(x: T2) => { return { __t3: x.__t2 + "bar" };} : (x: T2) => { __t3: string; } >x : T2 >T2 : T2 diff --git a/tests/baselines/reference/promises.types b/tests/baselines/reference/promises.types index 7d255a05ffb82..8667fd3d2d6ec 100644 --- a/tests/baselines/reference/promises.types +++ b/tests/baselines/reference/promises.types @@ -4,7 +4,7 @@ interface Promise { >T : T then(success?: (value: T) => U): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } >U : U >success : (value: T) => U >value : T @@ -14,7 +14,7 @@ interface Promise { >U : U then(success?: (value: T) => Promise): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } >U : U >success : (value: T) => Promise >value : T diff --git a/tests/baselines/reference/promisesWithConstraints.types b/tests/baselines/reference/promisesWithConstraints.types index a7f2d1e678778..a6c82620fd663 100644 --- a/tests/baselines/reference/promisesWithConstraints.types +++ b/tests/baselines/reference/promisesWithConstraints.types @@ -4,7 +4,7 @@ interface Promise { >T : T then(cb: (x: T) => Promise): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (cb: (x: T) => Promise): Promise; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (cb: (x: T) => Promise): Promise; } >U : U >cb : (x: T) => Promise >x : T diff --git a/tests/baselines/reference/specializationError.types b/tests/baselines/reference/specializationError.types index 07cbc3d76d0ef..f8db7c3c5078e 100644 --- a/tests/baselines/reference/specializationError.types +++ b/tests/baselines/reference/specializationError.types @@ -4,7 +4,7 @@ interface Promise { >T : T then(value: T): void; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (value: T): void; } +>then : { (onfulfilled?: (value: Awaited) => TResult1, onrejected?: (reason: any) => TResult2): Promise | Awaited>; (value: T): void; } >U : U >value : T >T : T diff --git a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types index 3f1ef83a0ae9c..dc1a333509528 100644 --- a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types +++ b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types @@ -9,10 +9,10 @@ export = packageExport; === tests/cases/compiler/index.ts === import("package").then(({default: foo}) => foo(42)); >import("package").then(({default: foo}) => foo(42)) : Promise ->import("package").then : string; }, TResult2 = never>(onfulfilled?: (value: { default: (x: number) => string; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>import("package").then : string; }, TResult2 = never>(onfulfilled?: (value: { default: (x: number) => string; }) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >import("package") : Promise<{ default: (x: number) => string; }> >"package" : "package" ->then : string; }, TResult2 = never>(onfulfilled?: (value: { default: (x: number) => string; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : string; }, TResult2 = never>(onfulfilled?: (value: { default: (x: number) => string; }) => TResult1, onrejected?: (reason: any) => TResult2) => Promise | Awaited> >({default: foo}) => foo(42) : ({ default: foo }: { default: (x: number) => string; }) => string >default : any >foo : (x: number) => string diff --git a/tests/baselines/reference/transformNestedGeneratorsWithTry.types b/tests/baselines/reference/transformNestedGeneratorsWithTry.types index 3e4ef3f0852cf..d1ffa3ef1457b 100644 --- a/tests/baselines/reference/transformNestedGeneratorsWithTry.types +++ b/tests/baselines/reference/transformNestedGeneratorsWithTry.types @@ -18,9 +18,9 @@ async function a(): Bluebird { await Bluebird.resolve(); // -- remove this and it compiles >await Bluebird.resolve() : void >Bluebird.resolve() : Promise ->Bluebird.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Bluebird.resolve : { (value: T): Promise>; (): Promise; } >Bluebird : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } } catch (error) { } >error : any diff --git a/tests/baselines/reference/types.asyncGenerators.esnext.1.types b/tests/baselines/reference/types.asyncGenerators.esnext.1.types index 6e29e9cc95cab..02e953d85f0f4 100644 --- a/tests/baselines/reference/types.asyncGenerators.esnext.1.types +++ b/tests/baselines/reference/types.asyncGenerators.esnext.1.types @@ -21,9 +21,9 @@ async function * inferReturnType4() { yield Promise.resolve(1); >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } async function * inferReturnType5() { @@ -36,9 +36,9 @@ async function * inferReturnType5() { yield Promise.resolve(2); >yield Promise.resolve(2) : any >Promise.resolve(2) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >2 : 2 } async function * inferReturnType6() { @@ -57,9 +57,9 @@ async function * inferReturnType7() { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } async function * inferReturnType8() { @@ -91,9 +91,9 @@ const assignability2: () => AsyncIterableIterator = async function * () yield Promise.resolve(1); >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 }; @@ -118,9 +118,9 @@ const assignability4: () => AsyncIterableIterator = async function * () >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 }; @@ -156,9 +156,9 @@ const assignability7: () => AsyncIterable = async function * () { yield Promise.resolve(1); >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 }; @@ -183,9 +183,9 @@ const assignability9: () => AsyncIterable = async function * () { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 }; @@ -221,9 +221,9 @@ const assignability12: () => AsyncIterator = async function * () { yield Promise.resolve(1); >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 }; @@ -248,9 +248,9 @@ const assignability14: () => AsyncIterator = async function * () { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 }; @@ -283,9 +283,9 @@ async function * explicitReturnType2(): AsyncIterableIterator { yield Promise.resolve(1); >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } async function * explicitReturnType3(): AsyncIterableIterator { @@ -306,9 +306,9 @@ async function * explicitReturnType4(): AsyncIterableIterator { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } async function * explicitReturnType5(): AsyncIterableIterator { @@ -338,9 +338,9 @@ async function * explicitReturnType7(): AsyncIterable { yield Promise.resolve(1); >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } async function * explicitReturnType8(): AsyncIterable { @@ -361,9 +361,9 @@ async function * explicitReturnType9(): AsyncIterable { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } async function * explicitReturnType10(): AsyncIterable { @@ -393,9 +393,9 @@ async function * explicitReturnType12(): AsyncIterator { yield Promise.resolve(1); >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } async function * explicitReturnType13(): AsyncIterator { @@ -416,9 +416,9 @@ async function * explicitReturnType14(): AsyncIterator { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } async function * explicitReturnType15(): AsyncIterator { @@ -455,8 +455,8 @@ async function * awaitedType2() { >x : number >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >1 : 1 } diff --git a/tests/baselines/reference/types.asyncGenerators.esnext.2.types b/tests/baselines/reference/types.asyncGenerators.esnext.2.types index c9f8e9216c4a8..4573c9a6ab00e 100644 --- a/tests/baselines/reference/types.asyncGenerators.esnext.2.types +++ b/tests/baselines/reference/types.asyncGenerators.esnext.2.types @@ -20,9 +20,9 @@ async function * inferReturnType3() { yield* Promise.resolve([1, 2]); >yield* Promise.resolve([1, 2]) : any >Promise.resolve([1, 2]) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >[1, 2] : number[] >1 : 1 >2 : 2 diff --git a/tests/baselines/reference/uniqueSymbols.types b/tests/baselines/reference/uniqueSymbols.types index 6516ee25dd06b..363ff2173f129 100644 --- a/tests/baselines/reference/uniqueSymbols.types +++ b/tests/baselines/reference/uniqueSymbols.types @@ -404,9 +404,9 @@ const constInitToLReadonlyNestedTypeWithIndexedAccess: L["nested"]["readonlyNest const promiseForConstCall = Promise.resolve(constCall); >promiseForConstCall : Promise >Promise.resolve(constCall) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >constCall : unique symbol const arrayOfConstCall = [constCall]; diff --git a/tests/baselines/reference/uniqueSymbolsDeclarations.types b/tests/baselines/reference/uniqueSymbolsDeclarations.types index c4975d497cc11..2ff1eb013f36c 100644 --- a/tests/baselines/reference/uniqueSymbolsDeclarations.types +++ b/tests/baselines/reference/uniqueSymbolsDeclarations.types @@ -404,9 +404,9 @@ const constInitToLReadonlyNestedTypeWithIndexedAccess: L["nested"]["readonlyNest const promiseForConstCall = Promise.resolve(constCall); >promiseForConstCall : Promise >Promise.resolve(constCall) : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>resolve : { (value: T): Promise>; (): Promise; } >constCall : unique symbol const arrayOfConstCall = [constCall]; diff --git a/tests/cases/compiler/asyncFunctionReturnType.ts b/tests/cases/compiler/asyncFunctionReturnType.ts index 3bd7a0e998ac2..c937a22ef2087 100644 --- a/tests/cases/compiler/asyncFunctionReturnType.ts +++ b/tests/cases/compiler/asyncFunctionReturnType.ts @@ -47,7 +47,7 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: return Promise.resolve(obj.stringProp); } -async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise { +async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise> { return Promise.resolve(obj.stringProp); } @@ -67,10 +67,10 @@ async function fGenericIndexedTypeForKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise> { return Promise.resolve(obj[key]); } -async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise> { return Promise.resolve(obj[key]); } \ No newline at end of file