diff --git a/src/lib/es2015.iterable.d.ts b/src/lib/es2015.iterable.d.ts index 937f99d3409a4..b79cfe48ab5a3 100644 --- a/src/lib/es2015.iterable.d.ts +++ b/src/lib/es2015.iterable.d.ts @@ -203,15 +203,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: Iterable>): Promise; - - /** - * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved - * or rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - race(values: Iterable>): Promise; + all(values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; } declare namespace Reflect { diff --git a/src/lib/es2015.promise.d.ts b/src/lib/es2015.promise.d.ts index 45b0fa5dc59d9..f90db5d249017 100644 --- a/src/lib/es2015.promise.d.ts +++ b/src/lib/es2015.promise.d.ts @@ -1,3 +1,9 @@ +// The undefined case is for strictNullChecks false, in which case +// undefined extends PromiseLike is true, which would otherwise +// make Awaited -> unknown. When strictNullChecks is false +// and T is undefined, should infer U be undefined, instead of unknown? +type Awaited = T extends undefined ? T : T extends PromiseLike ? U : T; + interface PromiseConstructor { /** * A reference to the prototype. @@ -18,87 +24,7 @@ interface PromiseConstructor { * @param values An array of Promises. * @returns A new Promise. */ - all(values: readonly [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]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly [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]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly [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]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike , T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike ]): Promise<[T1, T2, T3, T4]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: readonly (T | PromiseLike)[]): Promise; - - /** - * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved - * or rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - race(values: readonly T[]): Promise ? U : T>; + all(values: T): Promise<{ -readonly [P in keyof T]: Awaited }>; /** * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved @@ -106,7 +32,7 @@ interface PromiseConstructor { * @param values An iterable of Promises. * @returns A new Promise. */ - race(values: Iterable): Promise ? U : T>; + race(values: Iterable): Promise>; /** * Creates a new rejected promise for the provided reason. @@ -120,10 +46,10 @@ interface PromiseConstructor { * @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 . + * Creates a new resolved promise. * @returns A resolved promise. */ resolve(): Promise; diff --git a/src/lib/es2018.asyncgenerator.d.ts b/src/lib/es2018.asyncgenerator.d.ts index f6966264c8be4..7ced8e7ae492c 100644 --- a/src/lib/es2018.asyncgenerator.d.ts +++ b/src/lib/es2018.asyncgenerator.d.ts @@ -2,9 +2,9 @@ interface AsyncGenerator extends AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. - next(...args: [] | [TNext]): Promise>; - return(value: TReturn | PromiseLike): Promise>; - throw(e: any): Promise>; + next(...args: [] | [TNext]): Promise ? UReturn : TReturn>>; + return(value: TReturn): Promise ? UReturn : TReturn>>; + throw(e: any): Promise ? UReturn : TReturn>>; [Symbol.asyncIterator](): AsyncGenerator; } diff --git a/src/lib/es2018.asynciterable.d.ts b/src/lib/es2018.asynciterable.d.ts index 19a31c72ca4a9..8a39d29f3fb55 100644 --- a/src/lib/es2018.asynciterable.d.ts +++ b/src/lib/es2018.asynciterable.d.ts @@ -11,9 +11,9 @@ interface SymbolConstructor { interface AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. - next(...args: [] | [TNext]): Promise>; - return?(value?: TReturn | PromiseLike): Promise>; - throw?(e?: any): Promise>; + next(...args: [] | [TNext]): Promise ? UReturn : TReturn>>; + return?(value?: TReturn): Promise ? UReturn : TReturn>>; + throw?(e?: any): Promise ? UReturn : TReturn>>; } interface AsyncIterable { @@ -22,4 +22,4 @@ interface AsyncIterable { interface AsyncIterableIterator extends AsyncIterator { [Symbol.asyncIterator](): AsyncIterableIterator; -} \ No newline at end of file +} diff --git a/src/lib/es5.d.ts b/src/lib/es5.d.ts index 8c11be587a10f..994431db28c6d 100644 --- a/src/lib/es5.d.ts +++ b/src/lib/es5.d.ts @@ -1387,7 +1387,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: T) => TResult1) | null, onrejected?: ((reason: any) => TResult2) | null): PromiseLike<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; } /** @@ -1400,14 +1400,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: T) => TResult1) | null, onrejected?: ((reason: any) => TResult2) | null): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; /** * 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 ? UResult : TResult)>; } interface ArrayLike { diff --git a/tests/baselines/reference/asyncArrowFunction11_es5.types b/tests/baselines/reference/asyncArrowFunction11_es5.types index 7fd9d53af7228..9e2c406ea1a11 100644 --- a/tests/baselines/reference/asyncArrowFunction11_es5.types +++ b/tests/baselines/reference/asyncArrowFunction11_es5.types @@ -11,9 +11,9 @@ class A { await Promise.resolve(); >await Promise.resolve() : void >Promise.resolve() : 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; } const obj = { ["a"]: () => this }; // computed property name after `await` triggers case >obj : { a: () => this; } diff --git a/tests/baselines/reference/asyncArrowFunction5_es2017.errors.txt b/tests/baselines/reference/asyncArrowFunction5_es2017.errors.txt index 26601467324e6..93a42d014abff 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es2017.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction5_es2017.errors.txt @@ -16,7 +16,7 @@ tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction5_es20 !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. -!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:78:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt index cf82d765a566a..0a584f7a2e3f8 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt @@ -16,7 +16,7 @@ tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts( !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. -!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:78:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction5_es6.errors.txt b/tests/baselines/reference/asyncArrowFunction5_es6.errors.txt index 909efc3c97eec..999dd9d4639b9 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es6.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction5_es6.errors.txt @@ -16,7 +16,7 @@ tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction5_es6.ts( !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. -!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:78:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction9_es2017.errors.txt b/tests/baselines/reference/asyncArrowFunction9_es2017.errors.txt index 0be88de28681a..7088e40bae2c0 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es2017.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction9_es2017.errors.txt @@ -16,7 +16,7 @@ tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction9_es20 !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. -!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:78:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt index 085b3b50884b7..bd89949dbc1f8 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt @@ -16,7 +16,7 @@ tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts( !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. -!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:78:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction9_es6.errors.txt b/tests/baselines/reference/asyncArrowFunction9_es6.errors.txt index 6949aad5cea0c..3335bebfa817c 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es6.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction9_es6.errors.txt @@ -16,7 +16,7 @@ tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction9_es6.ts( !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. -!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:78:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt b/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt index 7e3595ec6f4e0..b3adb44b7dbf5 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es5.errors.txt @@ -7,7 +7,7 @@ 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. Construct signature return types 'Thenable' and 'PromiseLike' are incompatible. The types returned by 'then(...)' are incompatible between these types. - Type 'void' is not assignable to type 'PromiseLike'. + Type 'void' is not assignable to type 'PromiseLike<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>'. 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. @@ -39,7 +39,7 @@ 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: Construct signature return types 'Thenable' and 'PromiseLike' are incompatible. !!! error TS1055: The types returned by 'then(...)' are incompatible between these types. -!!! error TS1055: Type 'void' is not assignable to type 'PromiseLike'. +!!! error TS1055: Type 'void' is not assignable to type 'PromiseLike<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>'. 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 04b3a04a036d3..0966578a05bc6 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.js +++ b/tests/baselines/reference/asyncFunctionReturnType.js @@ -67,13 +67,14 @@ async function fGenericIndexedTypeForKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise ? U : TObj[K]> { return Promise.resolve(obj[key]); } -async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise ? U : TObj[K]> { return Promise.resolve(obj[key]); -} +} + //// [asyncFunctionReturnType.js] var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { diff --git a/tests/baselines/reference/asyncFunctionReturnType.symbols b/tests/baselines/reference/asyncFunctionReturnType.symbols index 25a7e944c6a7a..507f4e631ab81 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.symbols +++ b/tests/baselines/reference/asyncFunctionReturnType.symbols @@ -240,7 +240,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 ? U : TObj[K]> { >fGenericIndexedTypeForPromiseOfKProp : Symbol(fGenericIndexedTypeForPromiseOfKProp, Decl(asyncFunctionReturnType.ts, 66, 1)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) @@ -252,6 +252,15 @@ async function fGenericIndexedTypeForPromiseOfKPropK : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) +>K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) +>TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) +>K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) +>TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) +>K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) +>U : Symbol(U, Decl(asyncFunctionReturnType.ts, 68, 191)) +>U : Symbol(U, Decl(asyncFunctionReturnType.ts, 68, 191)) +>TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) return Promise.resolve(obj[key]); @@ -262,7 +271,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 ? U : TObj[K]> { >fGenericIndexedTypeForExplicitPromiseOfKProp : Symbol(fGenericIndexedTypeForExplicitPromiseOfKProp, Decl(asyncFunctionReturnType.ts, 70, 1)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) >Obj : Symbol(Obj, Decl(asyncFunctionReturnType.ts, 8, 1)) @@ -274,6 +283,15 @@ async function fGenericIndexedTypeForExplicitPromiseOfKPropK : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) +>K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) +>TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) +>K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) +>TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) +>K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) +>U : Symbol(U, Decl(asyncFunctionReturnType.ts, 72, 199)) +>U : Symbol(U, Decl(asyncFunctionReturnType.ts, 72, 199)) +>TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) return Promise.resolve(obj[key]); @@ -285,3 +303,4 @@ async function fGenericIndexedTypeForExplicitPromiseOfKPropobj : Symbol(obj, Decl(asyncFunctionReturnType.ts, 72, 100)) >key : Symbol(key, Decl(asyncFunctionReturnType.ts, 72, 110)) } + diff --git a/tests/baselines/reference/asyncFunctionReturnType.types b/tests/baselines/reference/asyncFunctionReturnType.types index d2cb63e0a35f3..c6c9505250ebb 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.types +++ b/tests/baselines/reference/asyncFunctionReturnType.types @@ -44,9 +44,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 @@ -58,9 +58,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.stringProp : string >obj : Obj >stringProp : string @@ -82,9 +82,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 @@ -96,9 +96,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.anyProp : any >obj : Obj >anyProp : any @@ -120,9 +120,9 @@ 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 @@ -133,10 +133,10 @@ async function fGenericIndexedTypeForExplicitPromiseOfStringPropobj : 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; } >obj.stringProp : string >obj : TObj >stringProp : string @@ -158,9 +158,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 @@ -171,10 +171,10 @@ async function fGenericIndexedTypeForExplicitPromiseOfAnyProp( >obj : 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; } >obj.anyProp : any >obj : TObj >anyProp : any @@ -191,32 +191,33 @@ 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 ? U : TObj[K]> { +>fGenericIndexedTypeForPromiseOfKProp : (obj: TObj, key: K) => Promise ? U : TObj[K]> >obj : TObj >key : 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 ? U : TObj[K]> { +>fGenericIndexedTypeForExplicitPromiseOfKProp : (obj: TObj, key: K) => Promise ? U : TObj[K]> >obj : TObj >key : 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 } + diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.js b/tests/baselines/reference/correctOrderOfPromiseMethod.js index fadda95374f3e..535365b55421f 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.js +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.js @@ -15,7 +15,7 @@ async function countEverything(): Promise { const [resultA, resultB] = await Promise.all([ providerA(), providerB(), - ] as const); + ]); const dataA: A[] = resultA; const dataB: B[] = resultB; @@ -24,6 +24,10 @@ async function countEverything(): Promise { } return 0; } + +// #31179 + +const result: Promise<[0, 1, '']> = Promise.all(undefined as readonly [0, 1, '']); //// [correctOrderOfPromiseMethod.js] @@ -92,3 +96,5 @@ function countEverything() { }); }); } +// #31179 +var result = Promise.all(undefined); diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.symbols b/tests/baselines/reference/correctOrderOfPromiseMethod.symbols index 1e67e9444c67f..22296a221aa99 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.symbols +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.symbols @@ -33,9 +33,9 @@ async function countEverything(): Promise { const [resultA, resultB] = await Promise.all([ >resultA : Symbol(resultA, Decl(correctOrderOfPromiseMethod.ts, 13, 11)) >resultB : Symbol(resultB, Decl(correctOrderOfPromiseMethod.ts, 13, 19)) ->Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) +>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) providerA(), >providerA : Symbol(providerA, Decl(correctOrderOfPromiseMethod.ts, 10, 9)) @@ -43,7 +43,7 @@ async function countEverything(): Promise { providerB(), >providerB : Symbol(providerB, Decl(correctOrderOfPromiseMethod.ts, 11, 9)) - ] as const); + ]); const dataA: A[] = resultA; >dataA : Symbol(dataA, Decl(correctOrderOfPromiseMethod.ts, 18, 9)) @@ -70,3 +70,13 @@ async function countEverything(): Promise { return 0; } +// #31179 + +const result: Promise<[0, 1, '']> = Promise.all(undefined as readonly [0, 1, '']); +>result : Symbol(result, Decl(correctOrderOfPromiseMethod.ts, 28, 5)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>undefined : Symbol(undefined) + diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.types b/tests/baselines/reference/correctOrderOfPromiseMethod.types index a6f2c46782e0a..0807af50f72dd 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.types +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.types @@ -28,13 +28,12 @@ async function countEverything(): Promise { const [resultA, resultB] = await Promise.all([ >resultA : A[] >resultB : B[] ->await Promise.all([ providerA(), providerB(), ] as const) : [A[], B[]] ->Promise.all([ providerA(), providerB(), ] as const) : Promise<[A[], B[]]> ->Promise.all : { (values: Iterable>): Promise; (values: readonly [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: readonly [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: readonly [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: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: readonly (T | PromiseLike)[]): Promise; } +>await Promise.all([ providerA(), providerB(), ]) : [A[], B[]] +>Promise.all([ providerA(), providerB(), ]) : Promise<[A[], B[]]> +>Promise.all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise; (values: readonly [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: readonly [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: readonly [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: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: readonly (T | PromiseLike)[]): Promise; } ->[ providerA(), providerB(), ] as const : readonly [Promise, Promise] ->[ providerA(), providerB(), ] : readonly [Promise, Promise] +>all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>[ providerA(), providerB(), ] : [Promise, Promise] providerA(), >providerA() : Promise @@ -44,7 +43,7 @@ async function countEverything(): Promise { >providerB() : Promise >providerB : () => Promise - ] as const); + ]); const dataA: A[] = resultA; >dataA : A[] @@ -72,3 +71,14 @@ async function countEverything(): Promise { >0 : 0 } +// #31179 + +const result: Promise<[0, 1, '']> = Promise.all(undefined as readonly [0, 1, '']); +>result : Promise<[0, 1, ""]> +>Promise.all(undefined as readonly [0, 1, '']) : Promise<[0, 1, ""]> +>Promise.all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise : PromiseConstructor +>all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>undefined as readonly [0, 1, ''] : readonly [0, 1, ""] +>undefined : undefined + diff --git a/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types b/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types index bf9666f3082b1..eeff4dbb834d8 100644 --- a/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types +++ b/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types @@ -28,10 +28,10 @@ export let lazyCard = () => import('./Card').then(a => a.default); >lazyCard : () => Promise<(suit: import("tests/cases/compiler/Types").Suit, rank: import("tests/cases/compiler/Types").Rank) => { suit: import("tests/cases/compiler/Types").Suit; rank: import("tests/cases/compiler/Types").Rank; }> >() => import('./Card').then(a => a.default) : () => Promise<(suit: import("tests/cases/compiler/Types").Suit, rank: import("tests/cases/compiler/Types").Rank) => { suit: import("tests/cases/compiler/Types").Suit; rank: import("tests/cases/compiler/Types").Rank; }> >import('./Card').then(a => a.default) : Promise<(suit: import("tests/cases/compiler/Types").Suit, rank: import("tests/cases/compiler/Types").Rank) => { suit: import("tests/cases/compiler/Types").Suit; rank: import("tests/cases/compiler/Types").Rank; }> ->import('./Card').then : (onfulfilled?: (value: typeof import("tests/cases/compiler/Card")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>import('./Card').then : (onfulfilled?: (value: typeof import("tests/cases/compiler/Card")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >import('./Card') : Promise >'./Card' : "./Card" ->then : (onfulfilled?: (value: typeof import("tests/cases/compiler/Card")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/compiler/Card")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >a => a.default : (a: typeof import("tests/cases/compiler/Card")) => (suit: import("tests/cases/compiler/Types").Suit, rank: import("tests/cases/compiler/Types").Rank) => { suit: import("tests/cases/compiler/Types").Suit; rank: import("tests/cases/compiler/Types").Rank; } >a : typeof import("tests/cases/compiler/Card") >a.default : (suit: import("tests/cases/compiler/Types").Suit, rank: import("tests/cases/compiler/Types").Rank) => { suit: import("tests/cases/compiler/Types").Suit; rank: import("tests/cases/compiler/Types").Rank; } diff --git a/tests/baselines/reference/docker/azure-sdk.log b/tests/baselines/reference/docker/azure-sdk.log index 6967ae47f5dde..8d3742718d75a 100644 --- a/tests/baselines/reference/docker/azure-sdk.log +++ b/tests/baselines/reference/docker/azure-sdk.log @@ -33,15 +33,6 @@ npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log ERROR: "build:lib" exited with 1. XX of XX: [@azure/core-asynciterator-polyfill] completed successfully in ? seconds XX of XX: [@azure/core-paging] completed successfully in ? seconds -Warning: You have changed the public API signature for this project. Updating review/event-processor-host.api.md -Warning: typings/src/eventProcessorHost.d.ts:32:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/eventProcessorHost.d.ts:36:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/eventProcessorHost.d.ts:66:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionContext.d.ts:22:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionContext.d.ts:27:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionContext.d.ts:32:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionPump.d.ts:17:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionPump.d.ts:18:9 - (TS1086) An accessor cannot be declared in an ambient context. XX of XX: [@azure/test-utils-recorder] completed successfully in ? seconds Warning: You have changed the public API signature for this project. Updating review/cosmos.api.md Warning: dist-esm/ChangeFeedIterator.d.ts:27:9 - (TS1056) Accessors are only available when targeting ECMAScript 5 and higher. @@ -87,17 +78,7 @@ os-name (imported by dist-esm/utils/user-agent.js) Use output.globals to specify browser global variable names corresponding to external modules os-name (guessing 'osName') created dist/index.js in ?s -Warning: You have changed the public API signature for this project. Updating review/service-bus.api.md -Warning: typings/src/receiver.d.ts:28:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:34:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:153:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:159:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:165:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:175:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/sender.d.ts:24:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/serviceBusMessage.d.ts:453:9 - (TS1086) An accessor cannot be declared in an ambient context. -XX of XX: [testhub] completed successfully in ? seconds -SUCCESS (7) +SUCCESS (6) ================================ @azure/abort-controller (? seconds) @azure/core-tracing (? seconds) @@ -105,24 +86,13 @@ SUCCESS (7) @azure/core-asynciterator-polyfill (? seconds) @azure/core-paging (? seconds) @azure/test-utils-recorder (? seconds) -testhub (? seconds) ================================ -SUCCESS WITH WARNINGS (4) +SUCCESS WITH WARNINGS (2) ================================ @azure/core-auth (? seconds) Warning: /azure-sdk/sdk/core/abort-controller/types/src/AbortController.d.ts:73:9 - (TS1086) An accessor cannot be declared in an ambient context. Warning: /azure-sdk/sdk/core/abort-controller/types/src/AbortSignal.d.ts:44:9 - (TS1086) An accessor cannot be declared in an ambient context. Warning: /azure-sdk/sdk/core/abort-controller/types/src/AbortSignal.d.ts:53:16 - (TS1086) An accessor cannot be declared in an ambient context. -@azure/event-processor-host (? seconds) -Warning: You have changed the public API signature for this project. Updating review/event-processor-host.api.md -Warning: typings/src/eventProcessorHost.d.ts:32:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/eventProcessorHost.d.ts:36:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/eventProcessorHost.d.ts:66:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionContext.d.ts:22:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionContext.d.ts:27:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionContext.d.ts:32:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionPump.d.ts:17:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/partitionPump.d.ts:18:9 - (TS1086) An accessor cannot be declared in an ambient context. @azure/cosmos (? seconds) Warning: You have changed the public API signature for this project. Updating review/cosmos.api.md Warning: dist-esm/ChangeFeedIterator.d.ts:27:9 - (TS1056) Accessors are only available when targeting ECMAScript 5 and higher. @@ -155,38 +125,30 @@ os-name (imported by dist-esm/utils/user-agent.js) Use output.globals to specify browser global variable names corresponding to external modules os-name (guessing 'osName') created dist/index.js in ?s -@azure/service-bus (? seconds) -Warning: You have changed the public API signature for this project. Updating review/service-bus.api.md -Warning: typings/src/receiver.d.ts:28:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:34:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:153:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:159:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:165:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/receiver.d.ts:175:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/sender.d.ts:24:9 - (TS1086) An accessor cannot be declared in an ambient context. -Warning: typings/src/serviceBusMessage.d.ts:453:9 - (TS1086) An accessor cannot be declared in an ambient context. ================================ -BLOCKED (15) +BLOCKED (17) ================================ +@azure/core-arm @azure/identity @azure/core-amqp -@azure/core-arm @azure/core-lro @azure/event-hubs +@azure/keyvault-keys +@azure/keyvault-secrets @azure/app-configuration @azure/cognitiveservices-inkrecognizer @azure/eventhubs-checkpointstore-blob @azure/keyvault-certificates -@azure/keyvault-keys -@azure/keyvault-secrets +@azure/service-bus @azure/storage-blob @azure/storage-file-share @azure/storage-queue @azure/template +testhub ================================ -FAILURE (1) +FAILURE (2) ================================ -@azure/core-http ( ? seconds) +@azure/core-http (? seconds) npm ERR! code ELIFECYCLE npm ERR! errno 2 npm ERR! @azure/core-http@X.X.X build:tsc: `tsc -p tsconfig.es.json` @@ -207,6 +169,16 @@ npm ERR! This is probably not a problem with npm. There is likely additional log npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log ERROR: "build:lib" exited with 1. +@azure/event-processor-host (? seconds) +>>> @azure/event-processor-host +tsc -p . && rollup -c 2>&1 && npm run extract-api +src/partitionScanner.ts(382,54): error TS2345: Argument of type 'Promise[]' is not assignable to parameter of type 'Iterable'. + The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. + Type 'IteratorResult, any>' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult>' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult>' is not assignable to type 'IteratorYieldResult'. + Type 'Promise' is not assignable to type 'boolean'. +src/partitionScanner.ts(386,41): error TS7006: Parameter 'x' implicitly has an 'any' type. ================================ Error: Project(s) failed to build rush rebuild - Errors! ( ? seconds) @@ -221,17 +193,19 @@ XX of XX: [@azure/cognitiveservices-inkrecognizer] blocked by [@azure/core-http] XX of XX: [@azure/core-arm] blocked by [@azure/core-http]! XX of XX: [@azure/core-lro] blocked by [@azure/core-http]! XX of XX: [@azure/keyvault-keys] blocked by [@azure/core-http]! +XX of XX: [@azure/keyvault-certificates] blocked by [@azure/core-http]! XX of XX: [@azure/keyvault-secrets] blocked by [@azure/core-http]! XX of XX: [@azure/storage-blob] blocked by [@azure/core-http]! -XX of XX: [@azure/keyvault-certificates] blocked by [@azure/core-http]! XX of XX: [@azure/identity] blocked by [@azure/core-http]! XX of XX: [@azure/core-amqp] blocked by [@azure/core-http]! XX of XX: [@azure/event-hubs] blocked by [@azure/core-http]! XX of XX: [@azure/eventhubs-checkpointstore-blob] blocked by [@azure/core-http]! XX of XX: [@azure/storage-queue] blocked by [@azure/core-http]! +XX of XX: [@azure/service-bus] blocked by [@azure/core-http]! XX of XX: [@azure/storage-file-share] blocked by [@azure/core-http]! XX of XX: [@azure/template] blocked by [@azure/core-http]! -XX of XX: [@azure/event-processor-host] completed with warnings in ? seconds +XX of XX: [@azure/event-processor-host] failed to build! +XX of XX: [testhub] blocked by [@azure/event-processor-host]! XX of XX: [@azure/cosmos] completed with warnings in ? seconds -XX of XX: [@azure/service-bus] completed with warnings in ? seconds [@azure/core-http] Returned error code: 1 +[@azure/event-processor-host] Returned error code: 2 diff --git a/tests/baselines/reference/docker/office-ui-fabric.log b/tests/baselines/reference/docker/office-ui-fabric.log index f9dd067367f90..b130f147be6ef 100644 --- a/tests/baselines/reference/docker/office-ui-fabric.log +++ b/tests/baselines/reference/docker/office-ui-fabric.log @@ -12,9 +12,25 @@ Standard output: @uifabric/example-data: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib-commonjs --module commonjs --project "/office-ui-fabric-react/packages/example-data/tsconfig.json" @uifabric/example-data: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/example-data/tsconfig.json @uifabric/example-data: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/example-data/tsconfig.json" -@uifabric/example-data: [XX:XX:XX XM] ■ Running Webpack -@uifabric/example-data: [XX:XX:XX XM] ■ Webpack Config Path: /office-ui-fabric-react/packages/example-data/webpack.config.js +@uifabric/example-data: [XX:XX:XX XM] ■ Running webpack-cli as a node process +@uifabric/example-data: [XX:XX:XX XM] ■ webpack-cli arguments: /usr/local/bin/node --max-old-space-size=4096 /office-ui-fabric-react/node_modules/webpack-cli/bin/cli.js @uifabric/example-data: Webpack version: 4.29.5 +@uifabric/example-data: Hash: eb7eacffb3eced977b0a +@uifabric/example-data: Version: webpack 4.29.5 +@uifabric/example-data: Child +@uifabric/example-data: Hash: eb7eacffb3eced977b0a +@uifabric/example-data: Time: ?s +@uifabric/example-data: Built at: 11/05/2019 7:59:49 PM +@uifabric/example-data: Asset Size Chunks Chunk Names +@uifabric/example-data: example-data.js 34.2 KiB example-data [emitted] example-data +@uifabric/example-data: example-data.js.map 30.3 KiB example-data [emitted] example-data +@uifabric/example-data: Entrypoint example-data = example-data.js example-data.js.map +@uifabric/example-data: [./lib/facepile.js] 6.54 KiB {example-data} [built] +@uifabric/example-data: [./lib/index.js] 415 bytes {example-data} [built] +@uifabric/example-data: [./lib/listItems.js] 1.9 KiB {example-data} [built] +@uifabric/example-data: [./lib/lorem.js] 733 bytes {example-data} [built] +@uifabric/example-data: [./lib/people.js] 13.8 KiB {example-data} [built] +@uifabric/example-data: [./lib/testImages.js] 938 bytes {example-data} [built] @uifabric/example-data: [XX:XX:XX XM] ■ Extracting Public API surface from '/office-ui-fabric-react/packages/example-data/lib/index.d.ts' @uifabric/example-data: Done in ?s. @uifabric/migration: yarn run vX.X.X @@ -40,9 +56,6 @@ Standard output: @uifabric/set-version: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib-commonjs --module commonjs --project "/office-ui-fabric-react/packages/set-version/tsconfig.json" @uifabric/set-version: [XX:XX:XX XM] ■ Running /office-ui-fabric-react/node_modules/typescript/lib/tsc.js with /office-ui-fabric-react/packages/set-version/tsconfig.json @uifabric/set-version: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/set-version/tsconfig.json" -@uifabric/set-version: [XX:XX:XX XM] ■ Running Webpack -@uifabric/set-version: [XX:XX:XX XM] ■ Webpack Config Path: null -@uifabric/set-version: [XX:XX:XX XM] ■ webpack.config.js not found, skipping webpack @uifabric/set-version: Done in ?s. @uifabric/webpack-utils: yarn run vX.X.X @uifabric/webpack-utils: $ just-scripts build @@ -63,9 +76,60 @@ Standard output: @uifabric/merge-styles: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/merge-styles/tsconfig.json" @uifabric/merge-styles: [XX:XX:XX XM] ■ Running Jest @uifabric/merge-styles: [XX:XX:XX XM] ■ /usr/local/bin/node "/office-ui-fabric-react/node_modules/jest/bin/jest.js" --config "/office-ui-fabric-react/packages/merge-styles/jest.config.js" --passWithNoTests --colors --forceExit -@uifabric/merge-styles: [XX:XX:XX XM] ■ Running Webpack -@uifabric/merge-styles: [XX:XX:XX XM] ■ Webpack Config Path: /office-ui-fabric-react/packages/merge-styles/webpack.config.js +@uifabric/merge-styles: [XX:XX:XX XM] ■ Running webpack-cli as a node process +@uifabric/merge-styles: [XX:XX:XX XM] ■ webpack-cli arguments: /usr/local/bin/node --max-old-space-size=4096 /office-ui-fabric-react/node_modules/webpack-cli/bin/cli.js @uifabric/merge-styles: Webpack version: 4.29.5 +@uifabric/merge-styles: Hash: ed8f86d8971b86a2aa2ddd842a61de4cda15862f +@uifabric/merge-styles: Version: webpack 4.29.5 +@uifabric/merge-styles: Child +@uifabric/merge-styles: Hash: ed8f86d8971b86a2aa2d +@uifabric/merge-styles: Time: ?s +@uifabric/merge-styles: Built at: 11/05/2019 8:00:22 PM +@uifabric/merge-styles: Asset Size Chunks Chunk Names +@uifabric/merge-styles: merge-styles.js 63.7 KiB merge-styles [emitted] merge-styles +@uifabric/merge-styles: merge-styles.js.map 70.3 KiB merge-styles [emitted] merge-styles +@uifabric/merge-styles: Entrypoint merge-styles = merge-styles.js merge-styles.js.map +@uifabric/merge-styles: [../set-version/lib/index.js] 112 bytes {merge-styles} [built] +@uifabric/merge-styles: [../set-version/lib/setVersion.js] 945 bytes {merge-styles} [built] +@uifabric/merge-styles: [./lib/StyleOptionsState.js] 485 bytes {merge-styles} [built] +@uifabric/merge-styles: [./lib/Stylesheet.js] 8.36 KiB {merge-styles} [built] +@uifabric/merge-styles: [./lib/concatStyleSets.js] 3.42 KiB {merge-styles} [built] +@uifabric/merge-styles: [./lib/concatStyleSetsWithProps.js] 1.2 KiB {merge-styles} [built] +@uifabric/merge-styles: [./lib/extractStyleParts.js] 1.61 KiB {merge-styles} [built] +@uifabric/merge-styles: [./lib/fontFace.js] 353 bytes {merge-styles} [built] +@uifabric/merge-styles: [./lib/index.js] 448 bytes {merge-styles} [built] +@uifabric/merge-styles: [./lib/keyframes.js] 763 bytes {merge-styles} [built] +@uifabric/merge-styles: [./lib/mergeStyleSets.js] 2.56 KiB {merge-styles} [built] +@uifabric/merge-styles: [./lib/mergeStyles.js] 967 bytes {merge-styles} [built] +@uifabric/merge-styles: [./lib/styleToClassName.js] 9.64 KiB {merge-styles} [built] +@uifabric/merge-styles: [./lib/transforms/kebabRules.js] 197 bytes {merge-styles} [built] +@uifabric/merge-styles: [./lib/version.js] 247 bytes {merge-styles} [built] +@uifabric/merge-styles: + 5 hidden modules +@uifabric/merge-styles: Child +@uifabric/merge-styles: Hash: dd842a61de4cda15862f +@uifabric/merge-styles: Time: ?s +@uifabric/merge-styles: Built at: 11/05/2019 8:00:22 PM +@uifabric/merge-styles: Asset Size Chunks Chunk Names +@uifabric/merge-styles: merge-styles.min.js 11.7 KiB 0 [emitted] merge-styles +@uifabric/merge-styles: merge-styles.min.js.map 3.05 KiB 0 [emitted] merge-styles +@uifabric/merge-styles: Entrypoint merge-styles = merge-styles.min.js merge-styles.min.js.map +@uifabric/merge-styles: [0] ./lib/index.js + 19 modules 45.2 KiB {0} [built] +@uifabric/merge-styles: | ./lib/index.js 448 bytes [built] +@uifabric/merge-styles: | ./lib/Stylesheet.js 8.36 KiB [built] +@uifabric/merge-styles: | ./lib/StyleOptionsState.js 485 bytes [built] +@uifabric/merge-styles: | ./lib/mergeStyles.js 967 bytes [built] +@uifabric/merge-styles: | ./lib/concatStyleSets.js 3.42 KiB [built] +@uifabric/merge-styles: | ./lib/mergeStyleSets.js 2.56 KiB [built] +@uifabric/merge-styles: | ./lib/concatStyleSetsWithProps.js 1.2 KiB [built] +@uifabric/merge-styles: | ./lib/fontFace.js 353 bytes [built] +@uifabric/merge-styles: | ./lib/keyframes.js 763 bytes [built] +@uifabric/merge-styles: | ./lib/version.js 247 bytes [built] +@uifabric/merge-styles: | ./lib/extractStyleParts.js 1.61 KiB [built] +@uifabric/merge-styles: | ./lib/styleToClassName.js 9.64 KiB [built] +@uifabric/merge-styles: | ../set-version/lib/index.js 112 bytes [built] +@uifabric/merge-styles: | ./lib/transforms/kebabRules.js 197 bytes [built] +@uifabric/merge-styles: | ./lib/transforms/prefixRules.js 803 bytes [built] +@uifabric/merge-styles: | + 5 hidden modules @uifabric/merge-styles: PASS src/styleToClassName.test.ts @uifabric/merge-styles: PASS src/mergeStyleSets.test.ts @uifabric/merge-styles: PASS src/mergeStyles.test.ts @@ -111,9 +175,6 @@ Standard output: @uifabric/utilities: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --outDir lib --module esnext --project "/office-ui-fabric-react/packages/utilities/tsconfig.json" @uifabric/utilities: [XX:XX:XX XM] ■ Running Jest @uifabric/utilities: [XX:XX:XX XM] ■ /usr/local/bin/node "/office-ui-fabric-react/node_modules/jest/bin/jest.js" --config "/office-ui-fabric-react/packages/utilities/jest.config.js" --passWithNoTests --colors --forceExit -@uifabric/utilities: [XX:XX:XX XM] ■ Running Webpack -@uifabric/utilities: [XX:XX:XX XM] ■ Webpack Config Path: null -@uifabric/utilities: [XX:XX:XX XM] ■ webpack.config.js not found, skipping webpack @uifabric/utilities: PASS src/warn/warnControlledUsage.test.ts @uifabric/utilities: PASS src/focus.test.tsx @uifabric/utilities: PASS src/styled.test.tsx @@ -176,7 +237,15 @@ lerna info Executing command in 42 packages: "yarn run build" @uifabric/utilities: Warning: You have changed the public API signature for this project. Please copy the file "temp/utilities.api.md" to "etc/utilities.api.md", or perform a local build (which does this automatically). See the Git repo documentation for more info. @uifabric/utilities: [XX:XX:XX XM] x Error detected while running '_wrapFunction' @uifabric/utilities: [XX:XX:XX XM] x ------------------------------------ -@uifabric/utilities: [XX:XX:XX XM] x The public API file is out of date. Please run the API snapshot and commit the updated API file. +@uifabric/utilities: [XX:XX:XX XM] x Error: The public API file is out of date. Please run the API snapshot and commit the updated API file. +@uifabric/utilities: at apiExtractorVerify (/office-ui-fabric-react/node_modules/just-scripts/lib/tasks/apiExtractorTask.js:26:19) +@uifabric/utilities: at _wrapFunction (/office-ui-fabric-react/node_modules/just-task/lib/wrapTask.js:13:36) +@uifabric/utilities: at verify-api-extractor (/office-ui-fabric-react/node_modules/undertaker/lib/set-task.js:13:15) +@uifabric/utilities: at _wrapFunction (/office-ui-fabric-react/node_modules/just-task/lib/wrapTask.js:10:16) +@uifabric/utilities: at bound (domain.js:420:14) +@uifabric/utilities: at runBound (domain.js:433:12) +@uifabric/utilities: at asyncRunner (/office-ui-fabric-react/node_modules/async-done/index.js:55:18) +@uifabric/utilities: at processTicksAndRejections (internal/process/task_queues.js:75:11) @uifabric/utilities: [XX:XX:XX XM] x ------------------------------------ @uifabric/utilities: [XX:XX:XX XM] x Error previously detected. See above for error messages. @uifabric/utilities: error Command failed with exit code 1. diff --git a/tests/baselines/reference/docker/vscode.log b/tests/baselines/reference/docker/vscode.log index c1a5c3eb6f905..3455d4d6a05fd 100644 --- a/tests/baselines/reference/docker/vscode.log +++ b/tests/baselines/reference/docker/vscode.log @@ -4,15 +4,93 @@ yarn run vX.X.X $ gulp compile --max_old_space_size=4095 [XX:XX:XX] Node flags detected: --max_old_space_size=4095 [XX:XX:XX] Using gulpfile /vscode/gulpfile.js -[XX:XX:XX] Error: /vscode/extensions/typescript-language-features/src/features/fileConfigurationManager.ts(170,4): Type 'string | undefined' is not assignable to type 'SemicolonPreference | undefined'. - Type 'string' is not assignable to type 'SemicolonPreference | undefined'. +[XX:XX:XX] Error: /vscode/src/vs/base/common/async.ts(42,4): TResult2)>' is not assignable to type 'Promise'. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(182,39): Argument of type 'Thenable[]' is not assignable to parameter of type 'Iterable'. + The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. + Type 'IteratorResult, any>' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult>' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult>' is not assignable to type 'IteratorYieldResult'. + Property 'items' is missing in type 'Thenable' but required in type 'CompletionList'. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(182,88): Binding element 'result1' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(182,97): Binding element 'result2' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(243,39): Argument of type 'Thenable[]' is not assignable to parameter of type 'Iterable'. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(243,88): Binding element 'result1' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(243,97): Binding element 'result2' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(302,39): Argument of type 'Thenable[]' is not assignable to parameter of type 'Iterable'. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(302,88): Binding element 'result1' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(302,97): Binding element 'result2' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(360,39): Argument of type 'Thenable[]' is not assignable to parameter of type 'Iterable'. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(360,88): Binding element 'result1' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(360,97): Binding element 'result2' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(420,39): Argument of type 'Thenable[]' is not assignable to parameter of type 'Iterable'. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(420,128): Binding element 'result1' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(420,137): Binding element 'result2' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(420,146): Binding element 'result3' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/emmet/src/test/cssAbbreviationAction.test.ts(420,155): Binding element 'result4' implicitly has an 'any' type. +[XX:XX:XX] Error: /vscode/extensions/git/src/commands.ts(189,60): Argument of type 'Promise[]' is not assignable to parameter of type 'Iterable'. + The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. + Type 'IteratorResult, any>' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult>' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult>' is not assignable to type 'IteratorYieldResult'. + Type 'Promise' is not assignable to type 'boolean'. +[XX:XX:XX] Error: /vscode/extensions/merge-conflict/src/delayer.ts(33,4): Type 'Promise<(T extends undefined ? T : T extends PromiseLike ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike ? UResult2 : T)>' is not assignable to type 'Promise'. + Type '(T extends undefined ? T : T extends PromiseLike ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike ? UResult2 : T)' is not assignable to type 'T'. + Type 'T extends undefined ? T : T extends PromiseLike ? UResult1 : T' is not assignable to type 'T'. + Type 'T | (T extends PromiseLike ? UResult1 : T)' is not assignable to type 'T'. + Type 'T extends PromiseLike ? UResult1 : T' is not assignable to type 'T'. + Type 'unknown' is not assignable to type 'T'. +[XX:XX:XX] Error: /vscode/extensions/merge-conflict/src/delayer.ts(51,3): Type 'Promise | null' is not assignable to type 'Promise'. + Type 'null' is not assignable to type 'Promise'. +[XX:XX:XX] Error: /vscode/extensions/php-language-features/src/features/utils/async.ts(124,4): Type 'Promise<(T extends undefined ? T : T extends PromiseLike ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike ? UResult2 : T)>' is not assignable to type 'Promise'. + Type '(T extends undefined ? T : T extends PromiseLike ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike ? UResult2 : T)' is not assignable to type 'T'. + Type 'T extends undefined ? T : T extends PromiseLike ? UResult1 : T' is not assignable to type 'T'. + Type 'T | (T extends PromiseLike ? UResult1 : T)' is not assignable to type 'T'. + Type 'T extends PromiseLike ? UResult1 : T' is not assignable to type 'T'. + Type 'unknown' is not assignable to type 'T'. +[XX:XX:XX] Error: /vscode/extensions/php-language-features/src/features/utils/async.ts(142,3): Type 'Promise | null' is not assignable to type 'Promise'. + Type 'null' is not assignable to type 'Promise'. +[XX:XX:XX] Error: /vscode/extensions/typescript-language-features/src/utils/async.ts(33,4): Type 'Promise<(T extends undefined ? T : T extends PromiseLike ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike ? UResult2 : T) | null>' is not assignable to type 'Promise'. + Type '(T extends undefined ? T : T extends PromiseLike ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike ? UResult2 : T) | null' is not assignable to type 'T | null'. + Type 'T extends undefined ? T : T extends PromiseLike ? UResult1 : T' is not assignable to type 'T | null'. + Type 'T | (T extends PromiseLike ? UResult1 : T)' is not assignable to type 'T | null'. + Type 'T extends PromiseLike ? UResult1 : T' is not assignable to type 'T | null'. + Type 'unknown' is not assignable to type 'T | null'. + Type 'unknown' is not assignable to type 'T'. + Type 'T extends PromiseLike ? UResult1 : T' is not assignable to type 'T'. + Type 'T extends undefined ? T : T extends PromiseLike ? UResult1 : T' is not assignable to type 'T'. + Type 'T | (T extends PromiseLike ? UResult1 : T)' is not assignable to type 'T'. + Type 'T extends PromiseLike ? UResult1 : T' is not assignable to type 'T'. + Type 'unknown' is not assignable to type 'T'. +[XX:XX:XX] Error: /vscode/extensions/typescript-language-features/src/utils/async.ts(53,3): Type 'Promise | null' is not assignable to type 'Promise'. + Type 'null' is not assignable to type 'Promise'. +[XX:XX:XX] Error: /vscode/extensions/typescript-language-features/src/tsServer/cachedResponse.ts(31,4): Type 'Promise ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike<...> ? UResult2 : T)>' is not assignable to type 'Promise>'. +[XX:XX:XX] Error: /vscode/extensions/typescript-language-features/src/tsServer/cachedResponse.ts(31,11): Type 'Promise ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike<...> ? UResult2 : T)>' is not assignable to type 'Promise>'. + Type 'Cancelled | (Anonymous class) | T | (T extends undefined ? T : T extends PromiseLike ? UResult1 : T) | (T extends undefined ? T : T extends PromiseLike<...> ? UResult2 : T)' is not assignable to type 'Response'. + Type 'T extends undefined ? T : T extends PromiseLike ? UResult1 : T' is not assignable to type 'Response'. + Type 'T | (T extends PromiseLike ? UResult1 : T)' is not assignable to type 'Response'. + Type 'T extends PromiseLike ? UResult1 : T' is not assignable to type 'Response'. + Type 'unknown' is not assignable to type 'Response'. + Type 'unknown' is not assignable to type 'T'. + Type 'Response' is not assignable to type 'Response'. + Type 'Response' is not assignable to type 'T'. + 'Response' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Response'. + Type 'T extends PromiseLike ? UResult1 : T' is not assignable to type 'Cancelled'. + Type 'Response' is not assignable to type 'Response'. + Type 'Response' is not assignable to type 'T'. + 'Response' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Response'. + Type 'T extends undefined ? T : T extends PromiseLike ? UResult1 : T' is not assignable to type 'Cancelled'. + Type 'T | (T extends PromiseLike ? UResult1 : T)' is not assignable to type 'Cancelled'. + Type 'T extends PromiseLike ? UResult1 : T' is not assignable to type 'Cancelled'. + Type 'unknown' is not assignable to type 'Cancelled'. + Type 'Response' is not assignable to type 'Cancelled'. + Property 'reason' is missing in type 'Response' but required in type 'Cancelled'. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. Standard error: [XX:XX:XX] 'compile' errored after ?s -[XX:XX:XX] Error: Found 1 errors +[XX:XX:XX] Error: Found 2 errors at Stream. (/vscode/build/lib/reporter.js:74:29) at _end (/vscode/node_modules/through/index.js:65:9) at Stream.stream.end (/vscode/node_modules/through/index.js:74:5) diff --git a/tests/baselines/reference/docker/xterm.js.log b/tests/baselines/reference/docker/xterm.js.log index f75353111523d..6024f04e09d8b 100644 --- a/tests/baselines/reference/docker/xterm.js.log +++ b/tests/baselines/reference/docker/xterm.js.log @@ -1,24 +1,9 @@ -Exit Code: 2 +Exit Code: 0 Standard output: > xterm@X.X.X build /xtermjs > tsc -b ./tsconfig.all.json -src/browser/Clipboard.ts(85,5): error TS2322: Type 'null' is not assignable to type 'string'. -src/browser/Clipboard.ts(86,5): error TS2322: Type 'null' is not assignable to type 'string'. -src/browser/Clipboard.ts(87,5): error TS2322: Type 'null' is not assignable to type 'string'. -src/browser/Clipboard.ts(88,5): error TS2322: Type 'null' is not assignable to type 'string'. -src/browser/Clipboard.ts(89,5): error TS2322: Type 'null' is not assignable to type 'string'. -src/browser/Clipboard.ts(90,5): error TS2322: Type 'null' is not assignable to type 'string'. Standard error: -npm ERR! code ELIFECYCLE -npm ERR! errno 2 -npm ERR! xterm@X.X.X build: `tsc -b ./tsconfig.all.json` -npm ERR! Exit status 2 -npm ERR! -npm ERR! Failed at the xterm@X.X.X build script. -npm ERR! This is probably not a problem with npm. There is likely additional logging output above. -npm ERR! A complete log of this run can be found in: -npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log diff --git a/tests/baselines/reference/esModuleInteropImportCall.types b/tests/baselines/reference/esModuleInteropImportCall.types index 59d1de3076822..fafa6a5af360b 100644 --- a/tests/baselines/reference/esModuleInteropImportCall.types +++ b/tests/baselines/reference/esModuleInteropImportCall.types @@ -9,10 +9,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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 0e6ad89ccdfe6..76194df7b18ef 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.types +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.types @@ -19,9 +19,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/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types index 1974fe17bea80..b5e1c174d0a86 100644 --- a/tests/baselines/reference/genericFunctionInference1.types +++ b/tests/baselines/reference/genericFunctionInference1.types @@ -835,16 +835,16 @@ const fn30: Fn = pipe( const promise = Promise.resolve(1); >promise : 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.then( >promise.then( pipe( x => x + 1, x => x * 2, ),) : Promise ->promise.then : (onfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>promise.then : (onfulfilled?: ((value: number) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >promise : Promise ->then : (onfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>then : (onfulfilled?: ((value: number) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> pipe( >pipe( x => x + 1, x => x * 2, ) : (x: number) => number diff --git a/tests/baselines/reference/importCallExpression1ESNext.types b/tests/baselines/reference/importCallExpression1ESNext.types index 30fe9acd605ea..a840527d0cb63 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpression2ESNext.types b/tests/baselines/reference/importCallExpression2ESNext.types index 80580e35d5362..d82479f9e9d24 100644 --- a/tests/baselines/reference/importCallExpression2ESNext.types +++ b/tests/baselines/reference/importCallExpression2ESNext.types @@ -14,9 +14,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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 82ddbf1db6571..cb2873d5f89d8 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionES5AMD.types b/tests/baselines/reference/importCallExpressionES5AMD.types index ceb6a6fe29962..238767f5ba281 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionES5CJS.types b/tests/baselines/reference/importCallExpressionES5CJS.types index ceb6a6fe29962..238767f5ba281 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionES5System.types b/tests/baselines/reference/importCallExpressionES5System.types index ceb6a6fe29962..238767f5ba281 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionES5UMD.types b/tests/baselines/reference/importCallExpressionES5UMD.types index ceb6a6fe29962..238767f5ba281 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionES6AMD.types b/tests/baselines/reference/importCallExpressionES6AMD.types index ceb6a6fe29962..238767f5ba281 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionES6CJS.types b/tests/baselines/reference/importCallExpressionES6CJS.types index ceb6a6fe29962..238767f5ba281 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionES6System.types b/tests/baselines/reference/importCallExpressionES6System.types index ceb6a6fe29962..238767f5ba281 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionES6UMD.types b/tests/baselines/reference/importCallExpressionES6UMD.types index ceb6a6fe29962..238767f5ba281 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionErrorInES2015.types b/tests/baselines/reference/importCallExpressionErrorInES2015.types index f0a055e7a0626..99ed37d7058eb 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionInAMD1.types b/tests/baselines/reference/importCallExpressionInAMD1.types index 6d270e686edf2..842530fac1cfc 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionInAMD2.types b/tests/baselines/reference/importCallExpressionInAMD2.types index 875118acbac1a..3112e58b477e3 100644 --- a/tests/baselines/reference/importCallExpressionInAMD2.types +++ b/tests/baselines/reference/importCallExpressionInAMD2.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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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 afedd6f4b815f..22e4ec7b71749 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionInCJS1.types b/tests/baselines/reference/importCallExpressionInCJS1.types index 6d270e686edf2..842530fac1cfc 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionInCJS3.types b/tests/baselines/reference/importCallExpressionInCJS3.types index 875118acbac1a..3112e58b477e3 100644 --- a/tests/baselines/reference/importCallExpressionInCJS3.types +++ b/tests/baselines/reference/importCallExpressionInCJS3.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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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 aea65c1407070..60c571ea34e87 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionInSystem1.types b/tests/baselines/reference/importCallExpressionInSystem1.types index 6d270e686edf2..842530fac1cfc 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionInSystem2.types b/tests/baselines/reference/importCallExpressionInSystem2.types index 875118acbac1a..3112e58b477e3 100644 --- a/tests/baselines/reference/importCallExpressionInSystem2.types +++ b/tests/baselines/reference/importCallExpressionInSystem2.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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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 afedd6f4b815f..22e4ec7b71749 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionInUMD1.types b/tests/baselines/reference/importCallExpressionInUMD1.types index 6d270e686edf2..842530fac1cfc 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>p1.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo();} : (zero: typeof import("tests/cases/conformance/dynamicImport/0")) => string >zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionInUMD2.types b/tests/baselines/reference/importCallExpressionInUMD2.types index 875118acbac1a..3112e58b477e3 100644 --- a/tests/baselines/reference/importCallExpressionInUMD2.types +++ b/tests/baselines/reference/importCallExpressionInUMD2.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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >x : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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 afedd6f4b815f..22e4ec7b71749 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types index ef8cdaec2fa72..e3ec654cf1fa4 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 import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>this.myModule.then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.myModule : Promise >this : this >myModule : Promise ->then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: typeof import("tests/cases/conformance/dynamicImport/0")) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("tests/cases/conformance/dynamicImport/0")) => void >Zero : typeof import("tests/cases/conformance/dynamicImport/0") diff --git a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types index b5f526adc8e89..28a6bd8f0b6a7 100644 --- a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types +++ b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types @@ -66,9 +66,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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..16e2e74bccb4b 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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..03a4cdc383875 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p1 : Promise ->then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >zero => { return zero.foo(); // ok, zero is any} : (zero: any) => any >zero : any diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.symbols b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.symbols index ecf867a2bf715..099c5761978d6 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.symbols +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.symbols @@ -381,9 +381,9 @@ const f1: F = () => { >F : Symbol(F, Decl(inferFromGenericFunctionReturnTypes3.ts, 153, 2)) return Promise.all([ ->Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) +>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) { name: "David Gomes", >name : Symbol(name, Decl(inferFromGenericFunctionReturnTypes3.ts, 159, 9)) diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types index f9192dd11baad..54e9b00cdd868 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types @@ -7,9 +7,9 @@ function truePromise(): Promise { return Promise.resolve(true); >Promise.resolve(true) : 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; } >true : true } @@ -409,14 +409,14 @@ type F = () => Promise>; const f1: F = () => { >f1 : F ->() => { return Promise.all([ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ]);} : () => Promise<[{ name: string; age: number; position: "GOALKEEPER"; }, { name: string; age: number; position: "STRIKER"; }]> +>() => { return Promise.all([ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ]);} : () => Promise<({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[]> return Promise.all([ ->Promise.all([ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ]) : Promise<[{ name: string; age: number; position: "GOALKEEPER"; }, { name: string; age: number; position: "STRIKER"; }]> ->Promise.all : { (values: Iterable>): Promise; (values: readonly [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: readonly [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: readonly [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: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: readonly (T | PromiseLike)[]): Promise; } +>Promise.all([ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ]) : Promise<({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[]> +>Promise.all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise; (values: readonly [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: readonly [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: readonly [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: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: readonly (T | PromiseLike)[]): Promise; } ->[ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ] : [{ name: string; age: number; position: "GOALKEEPER"; }, { name: string; age: number; position: "STRIKER"; }] +>all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>[ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ] : ({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[] { >{ name: "David Gomes", age: 23, position: "GOALKEEPER", } : { name: string; age: number; position: "GOALKEEPER"; } diff --git a/tests/baselines/reference/inferenceLimit.symbols b/tests/baselines/reference/inferenceLimit.symbols index 4b7091a05857e..2c2a43c35bb52 100644 --- a/tests/baselines/reference/inferenceLimit.symbols +++ b/tests/baselines/reference/inferenceLimit.symbols @@ -61,9 +61,9 @@ export class BrokenClass { return Promise.all(result.map(populateItems)) >Promise.all(result.map(populateItems)) .then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) ->Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) ->all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --) ... and 6 more) +>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) >result.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) >result : Symbol(result, Decl(file1.ts, 10, 7)) >map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) diff --git a/tests/baselines/reference/inferenceLimit.types b/tests/baselines/reference/inferenceLimit.types index fc2836e6dea9c..d3e80631e5a08 100644 --- a/tests/baselines/reference/inferenceLimit.types +++ b/tests/baselines/reference/inferenceLimit.types @@ -42,7 +42,7 @@ export class BrokenClass { 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >this.doStuff(order.id) : Promise >this.doStuff : (id: number) => Promise >this : this @@ -52,7 +52,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >(items) => { order.items = items; resolve(order); } : (items: void) => void >items : void @@ -74,11 +74,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: unknown[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>Promise.all(result.map(populateItems)) .then : (onfulfilled?: (value: unknown[]) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Promise.all(result.map(populateItems)) : Promise ->Promise.all : { (values: Iterable>): Promise; (values: readonly [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: readonly [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: readonly [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: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: readonly (T | PromiseLike)[]): Promise; } +>Promise.all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise; (values: readonly [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: readonly [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: readonly [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: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike, T7 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6, T7]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike, T6 | PromiseLike]): Promise<[T1, T2, T3, T4, T5, T6]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike, T5 | PromiseLike]): Promise<[T1, T2, T3, T4, T5]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike, T4 | PromiseLike]): Promise<[T1, T2, T3, T4]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike, T3 | PromiseLike]): Promise<[T1, T2, T3]>; (values: readonly [T1 | PromiseLike, T2 | PromiseLike]): Promise<[T1, T2]>; (values: readonly (T | PromiseLike)[]): Promise; } +>all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } >result.map(populateItems) : Promise[] >result.map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] >result : MyModule.MyModel[] @@ -86,7 +86,7 @@ export class BrokenClass { >populateItems : (order: any) => Promise .then((orders: Array) => { ->then : (onfulfilled?: (value: unknown[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: unknown[]) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >(orders: Array) => { resolve(orders); } : (orders: MyModule.MyModel[]) => void >orders : MyModule.MyModel[] >MyModule : any diff --git a/tests/baselines/reference/instantiateContextualTypes.types b/tests/baselines/reference/instantiateContextualTypes.types index b5317b6f7561f..17b1e1ed513f8 100644 --- a/tests/baselines/reference/instantiateContextualTypes.types +++ b/tests/baselines/reference/instantiateContextualTypes.types @@ -340,12 +340,12 @@ class Interesting { return Promise.resolve().then(() => { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; }) : Promise ->Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Promise.resolve() : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>resolve : { (value: T): Promise>; (): Promise; } +>then : (onfulfilled?: ((value: void) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; } : () => "SOMETHING" | "ELSE" if (1 < 2) { @@ -367,12 +367,12 @@ class Interesting { return Promise.resolve().then(() => { >Promise.resolve().then(() => { return 'ELSE'; }) : Promise ->Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Promise.resolve() : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>resolve : { (value: T): Promise>; (): Promise; } +>then : (onfulfilled?: ((value: void) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => { return 'ELSE'; } : () => "ELSE" return 'ELSE'; @@ -386,12 +386,12 @@ class Interesting { return Promise.resolve().then(() => { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; }) : Promise ->Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Promise.resolve() : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise +>resolve : { (value: T): Promise>; (): Promise; } +>then : (onfulfilled?: ((value: void) => TResult1) | null | undefined, onrejected?: ((reason: any) => TResult2) | null | undefined) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; } : () => "SOMETHING" if (1 < 2) { diff --git a/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types b/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types index 3fab5033c2305..8b481ff7a35af 100644 --- a/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types +++ b/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types @@ -27,18 +27,18 @@ function returnAnyArray(arr) { var anyPromise = Promise.resolve(5); >anyPromise : Promise >Promise.resolve(5) : 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; } >5 : 5 /** @type {Promise} */ var numberPromise = Promise.resolve(5); >numberPromise : Promise >Promise.resolve(5) : 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; } >5 : 5 /** diff --git a/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types b/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types index 82ff886f1ec68..a8d71f243f5c5 100644 --- a/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types +++ b/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types @@ -27,18 +27,18 @@ function returnNotAnyArray(arr) { var notAnyPromise = Promise.resolve(5); >notAnyPromise : Promise >Promise.resolve(5) : 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; } >5 : 5 /** @type {Promise} */ var numberPromise = Promise.resolve(5); >numberPromise : Promise >Promise.resolve(5) : 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; } >5 : 5 /** diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index c9a0476c2adcf..b70266ed0f783 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -148,10 +148,10 @@ declare var console: any; out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise ->out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>out().then : (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >out() : Promise >out : () => Promise ->then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => { console.log("Yea!");} : () => void console.log("Yea!"); diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index a695213a42ccd..d07d55eaaead7 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -148,10 +148,10 @@ declare var console: any; out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise ->out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>out().then : (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >out() : Promise >out : () => Promise ->then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => { console.log("Yea!");} : () => void console.log("Yea!"); diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index 3e7c23fde87ac..ae8d82d67a127 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -148,10 +148,10 @@ declare var console: any; out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise ->out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>out().then : (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >out() : Promise >out : () => Promise ->then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => { 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 a1975cc3645e0..0634fc921855d 100644 --- a/tests/baselines/reference/optionalFunctionArgAssignability.types +++ b/tests/baselines/reference/optionalFunctionArgAssignability.types @@ -1,7 +1,7 @@ === tests/cases/compiler/optionalFunctionArgAssignability.ts === interface Promise { 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; } >onFulfill : (value: T) => U >value : T >onReject : (reason: any) => U diff --git a/tests/baselines/reference/promisePermutations.errors.txt b/tests/baselines/reference/promisePermutations.errors.txt index 8b70977a0e5a2..f222550dce20c 100644 --- a/tests/baselines/reference/promisePermutations.errors.txt +++ b/tests/baselines/reference/promisePermutations.errors.txt @@ -124,7 +124,7 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2769: No overload m Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. Call signature return types 'Promise' and 'IPromise' are incompatible. The types of 'then' are incompatible between these types. - 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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'. @@ -483,7 +483,7 @@ tests/cases/compiler/promisePermutations.ts(160,21): error TS2769: No overload m !!! error TS2769: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2769: Call signature return types 'Promise' and 'IPromise' are incompatible. !!! error TS2769: The types of 'then' are incompatible between these types. -!!! error TS2769: 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 TS2769: Type '{ (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 TS2769: Types of parameters 'onfulfilled' and 'success' are incompatible. !!! error TS2769: Types of parameters 'value' and 'value' are incompatible. !!! error TS2769: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/promisePermutations.types b/tests/baselines/reference/promisePermutations.types index 0dbe5f7ec0eb0..1e27c36e2bdb0 100644 --- a/tests/baselines/reference/promisePermutations.types +++ b/tests/baselines/reference/promisePermutations.types @@ -1,7 +1,7 @@ === tests/cases/compiler/promisePermutations.ts === interface Promise { 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } >success : (value: T) => Promise >value : T >error : (error: any) => Promise @@ -10,7 +10,7 @@ interface Promise { >progress : any 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } >success : (value: T) => Promise >value : T >error : (error: any) => U @@ -19,7 +19,7 @@ interface Promise { >progress : any 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } >success : (value: T) => U >value : T >error : (error: any) => Promise @@ -28,7 +28,7 @@ interface Promise { >progress : any 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -272,9 +272,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -282,9 +282,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -292,9 +292,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -302,15 +302,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -352,9 +352,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -362,9 +362,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -372,9 +372,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -382,15 +382,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: IPromise<{ x: number; }>) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise<{ x: number; }>) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -430,9 +430,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -440,9 +440,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -450,9 +450,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -460,15 +460,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -516,9 +516,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -526,9 +526,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -536,9 +536,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -546,15 +546,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -594,9 +594,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -604,9 +604,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -614,9 +614,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -624,15 +624,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -672,9 +672,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -682,9 +682,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -692,9 +692,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -702,15 +702,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -836,9 +836,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -846,9 +846,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -856,9 +856,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -866,15 +866,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -944,9 +944,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -954,9 +954,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -964,9 +964,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -974,9 +974,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -984,9 +984,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -994,9 +994,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -1004,15 +1004,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -1092,9 +1092,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => 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 @@ -1102,9 +1102,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => 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 @@ -1112,9 +1112,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => 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 @@ -1122,9 +1122,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1132,9 +1132,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nPromise : (x: any) => Promise >nIPromise : (x: any) => IPromise @@ -1142,9 +1142,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1152,15 +1152,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => 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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -1184,9 +1184,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } @@ -1194,9 +1194,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } @@ -1204,9 +1204,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 bc676c9dd5e85..b61a0be3ad186 100644 --- a/tests/baselines/reference/promisePermutations2.errors.txt +++ b/tests/baselines/reference/promisePermutations2.errors.txt @@ -82,7 +82,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'. Call signature return types 'Promise' and 'IPromise' are incompatible. The types of 'then' are incompatible between these types. - 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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'. @@ -378,7 +378,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: Call signature return types 'Promise' and 'IPromise' are incompatible. !!! error TS2345: The types of 'then' are incompatible between these types. -!!! 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 957b548a284b8..bc5339e6a8d2b 100644 --- a/tests/baselines/reference/promisePermutations2.types +++ b/tests/baselines/reference/promisePermutations2.types @@ -3,7 +3,7 @@ interface Promise { 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -247,9 +247,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -257,9 +257,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunctionP : () => Promise >testFunctionP : () => Promise @@ -267,9 +267,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise @@ -277,15 +277,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -327,9 +327,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -337,9 +337,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -347,9 +347,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -357,15 +357,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: IPromise<{ x: number; }>) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise<{ x: number; }>) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -405,9 +405,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -415,9 +415,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -425,9 +425,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -435,15 +435,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -491,9 +491,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -501,9 +501,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -511,9 +511,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -521,15 +521,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -569,9 +569,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -579,9 +579,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -589,9 +589,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -599,15 +599,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: Promise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: Promise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -647,9 +647,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -657,9 +657,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -667,9 +667,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -677,15 +677,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: Promise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: Promise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -811,9 +811,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -821,9 +821,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -831,9 +831,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -841,15 +841,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -919,9 +919,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -929,9 +929,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -939,9 +939,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -949,9 +949,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -959,9 +959,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -969,9 +969,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -979,15 +979,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -1067,9 +1067,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => 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 @@ -1077,9 +1077,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => 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 @@ -1087,9 +1087,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => 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 @@ -1097,9 +1097,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1107,9 +1107,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nPromise : (x: any) => Promise >nIPromise : (x: any) => IPromise @@ -1117,9 +1117,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1127,15 +1127,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => 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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -1159,9 +1159,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } @@ -1169,9 +1169,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } @@ -1179,9 +1179,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 7467009abce93..1b481a4175627 100644 --- a/tests/baselines/reference/promisePermutations3.errors.txt +++ b/tests/baselines/reference/promisePermutations3.errors.txt @@ -103,7 +103,7 @@ tests/cases/compiler/promisePermutations3.ts(159,21): error TS2769: No overload Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. Call signature return types 'Promise' and 'IPromise' are incompatible. The types of 'then' are incompatible between these types. - 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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'. @@ -431,7 +431,7 @@ tests/cases/compiler/promisePermutations3.ts(165,21): error TS2345: Argument of !!! error TS2769: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2769: Call signature return types 'Promise' and 'IPromise' are incompatible. !!! error TS2769: The types of 'then' are incompatible between these types. -!!! error TS2769: 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 TS2769: Type '{ (onfulfilled?: (value: number) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 TS2769: Types of parameters 'onfulfilled' and 'success' are incompatible. !!! error TS2769: Types of parameters 'value' and 'value' are incompatible. !!! error TS2769: Type 'number' is not assignable to type 'string'. diff --git a/tests/baselines/reference/promisePermutations3.types b/tests/baselines/reference/promisePermutations3.types index a643b89b23ba9..c9ac22dbd4bf3 100644 --- a/tests/baselines/reference/promisePermutations3.types +++ b/tests/baselines/reference/promisePermutations3.types @@ -3,7 +3,7 @@ interface Promise { 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } >success : (value: T) => Promise >value : T >error : (error: any) => Promise @@ -12,7 +12,7 @@ interface Promise { >progress : any 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } >success : (value: T) => Promise >value : T >error : (error: any) => U @@ -21,7 +21,7 @@ interface Promise { >progress : any 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } >success : (value: T) => U >value : T >error : (error: any) => Promise @@ -30,7 +30,7 @@ interface Promise { >progress : any 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -247,9 +247,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -257,9 +257,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -267,9 +267,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -277,15 +277,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -327,9 +327,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -337,9 +337,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -347,9 +347,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -357,15 +357,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: IPromise<{ x: number; }>) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise<{ x: number; }>) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; }> @@ -405,9 +405,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -415,9 +415,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -425,9 +425,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -435,15 +435,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -491,9 +491,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -501,9 +501,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -511,9 +511,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -521,15 +521,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -569,9 +569,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -579,9 +579,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -589,9 +589,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -599,15 +599,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -647,9 +647,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -657,9 +657,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -667,9 +667,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -677,15 +677,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -811,9 +811,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -821,9 +821,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -831,9 +831,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -841,15 +841,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -919,9 +919,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -929,9 +929,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -939,9 +939,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -949,9 +949,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -959,9 +959,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -969,9 +969,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -979,15 +979,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -1067,9 +1067,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => 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 @@ -1077,9 +1077,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => 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 @@ -1087,9 +1087,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => 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 @@ -1097,9 +1097,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1107,9 +1107,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nPromise : (x: any) => Promise >nIPromise : (x: any) => IPromise @@ -1117,9 +1117,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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1127,15 +1127,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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => 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: IPromise) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 @@ -1159,9 +1159,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } @@ -1169,9 +1169,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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; } @@ -1179,9 +1179,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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 3d250c11c1f87..6bbc6ac302784 100644 --- a/tests/baselines/reference/promiseTest.types +++ b/tests/baselines/reference/promiseTest.types @@ -1,12 +1,12 @@ === tests/cases/compiler/promiseTest.ts === interface Promise { 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } >success : (value: T) => Promise >value : T 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } >success : (value: T) => B >value : T @@ -21,9 +21,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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.js b/tests/baselines/reference/promiseType.js index 84d9d713b4810..bb0104f2f46eb 100644 --- a/tests/baselines/reference/promiseType.js +++ b/tests/baselines/reference/promiseType.js @@ -217,6 +217,18 @@ const pc6 = p.then(() => Promise.reject("1"), () => {}); const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); + +const result: undefined = undefined as Awaited; + +// #28427 + +Promise.all([undefined as Promise | string]); + +Promise.resolve(undefined as Promise | string); + +// #30390 + +(undefined as Promise).then(undefined as () => Promise | string); //// [promiseType.js] @@ -440,3 +452,9 @@ const pc6 = p.then(() => Promise.reject("1"), () => { }); const pc7 = p.then(() => Promise.reject("1"), () => { throw 1; }); const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); +const result = undefined; +// #28427 +Promise.all([undefined]); +Promise.resolve(undefined); +// #30390 +undefined.then(undefined); diff --git a/tests/baselines/reference/promiseType.symbols b/tests/baselines/reference/promiseType.symbols index cec81cd7d8266..6d3457c949b62 100644 --- a/tests/baselines/reference/promiseType.symbols +++ b/tests/baselines/reference/promiseType.symbols @@ -1089,3 +1089,34 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --)) +const result: undefined = undefined as Awaited; +>result : Symbol(result, Decl(promiseType.ts, 219, 5)) +>undefined : Symbol(undefined) +>Awaited : Symbol(Awaited, Decl(lib.es2015.promise.d.ts, --, --)) + +// #28427 + +Promise.all([undefined as Promise | string]); +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>undefined : Symbol(undefined) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +Promise.resolve(undefined as Promise | string); +>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.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>undefined : Symbol(undefined) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +// #30390 + +(undefined as Promise).then(undefined as () => Promise | string); +>(undefined as Promise).then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>undefined : Symbol(undefined) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>undefined : Symbol(undefined) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + diff --git a/tests/baselines/reference/promiseType.types b/tests/baselines/reference/promiseType.types index dd20fb656ea5a..3055dba599d7e 100644 --- a/tests/baselines/reference/promiseType.types +++ b/tests/baselines/reference/promiseType.types @@ -182,92 +182,92 @@ 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >() => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >() => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >() => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >() => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >() => {} : () => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >() => {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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise >Promise.reject : (reason?: any) => Promise @@ -278,104 +278,104 @@ const p18 = p.catch(() => Promise.reject(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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise +>catch : (onrejected?: (reason: any) => TResult) => Promise ? UResult : TResult)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise >Promise.reject : (reason?: any) => Promise @@ -386,27 +386,27 @@ const p29 = p.then(() => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => 1 : () => number >1 : 1 @@ -414,9 +414,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => x : () => any >x : any @@ -424,9 +424,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => undefined : () => any >undefined : undefined @@ -434,9 +434,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => null : () => any >null : null @@ -444,18 +444,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => {throw 1} : () => never >1 : 1 @@ -463,23 +463,23 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -491,27 +491,27 @@ const p39 = p.then(undefined, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => 1 : () => number >1 : 1 @@ -519,9 +519,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => x : () => any >x : any @@ -529,9 +529,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => undefined : () => any >undefined : undefined @@ -539,9 +539,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => null : () => any >null : null @@ -549,18 +549,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => {throw 1} : () => never >1 : 1 @@ -568,23 +568,23 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -596,9 +596,9 @@ const p49 = p.then(null, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >undefined : undefined @@ -606,9 +606,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >null : null @@ -616,9 +616,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => 1 : () => number @@ -627,9 +627,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => x : () => any @@ -638,9 +638,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => undefined : () => any @@ -649,9 +649,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => null : () => any @@ -660,9 +660,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => {} : () => void @@ -670,9 +670,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => {throw 1} : () => never @@ -681,24 +681,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => Promise.reject(1) : () => Promise @@ -711,9 +711,9 @@ const p59 = p.then(() => "1", () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >undefined : undefined @@ -721,9 +721,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >null : null @@ -731,9 +731,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => 1 : () => number @@ -742,9 +742,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => x : () => any @@ -753,9 +753,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => undefined : () => any @@ -764,9 +764,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => null : () => any @@ -775,9 +775,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => {} : () => void @@ -785,9 +785,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => {throw 1} : () => never @@ -796,24 +796,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => Promise.reject(1) : () => Promise @@ -826,9 +826,9 @@ const p69 = p.then(() => x, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >undefined : undefined @@ -836,9 +836,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >null : null @@ -846,9 +846,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >() => 1 : () => number @@ -857,9 +857,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >() => x : () => any @@ -868,9 +868,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >() => undefined : () => any @@ -879,9 +879,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >() => null : () => any @@ -890,9 +890,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >() => {} : () => void @@ -900,9 +900,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >() => {throw 1} : () => never @@ -911,24 +911,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => any >undefined : undefined >() => Promise.reject(1) : () => Promise @@ -941,9 +941,9 @@ const p79 = p.then(() => undefined, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >undefined : undefined @@ -951,9 +951,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >null : null @@ -961,9 +961,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >() => 1 : () => number @@ -972,9 +972,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >() => x : () => any @@ -983,9 +983,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >() => undefined : () => any @@ -994,9 +994,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >() => null : () => any @@ -1005,9 +1005,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >() => {} : () => void @@ -1015,9 +1015,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >() => {throw 1} : () => never @@ -1026,24 +1026,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => any >null : null >() => Promise.reject(1) : () => Promise @@ -1056,27 +1056,27 @@ const p89 = p.then(() => null, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => 1 : () => number >1 : 1 @@ -1084,9 +1084,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => x : () => any >x : any @@ -1094,9 +1094,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => undefined : () => any >undefined : undefined @@ -1104,9 +1104,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => null : () => any >null : null @@ -1114,18 +1114,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => {throw 1} : () => never >1 : 1 @@ -1133,23 +1133,23 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -1161,9 +1161,9 @@ const p99 = p.then(() => {}, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >undefined : undefined @@ -1171,9 +1171,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >null : null @@ -1181,9 +1181,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => 1 : () => number @@ -1192,9 +1192,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => x : () => any @@ -1203,9 +1203,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => undefined : () => any @@ -1214,9 +1214,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => null : () => any @@ -1225,9 +1225,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => {} : () => void @@ -1235,9 +1235,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => {throw 1} : () => never @@ -1246,24 +1246,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => Promise.reject(1) : () => Promise @@ -1276,42 +1276,42 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1319,14 +1319,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1334,14 +1334,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1349,14 +1349,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1364,28 +1364,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1393,33 +1393,33 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1431,9 +1431,9 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1445,9 +1445,9 @@ const pc0 = p.then(() => Promise.reject("1"), 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1459,9 +1459,9 @@ const pc1 = p.then(() => Promise.reject("1"), 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1474,9 +1474,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1489,9 +1489,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1504,9 +1504,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1519,9 +1519,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1533,9 +1533,9 @@ const pc6 = p.then(() => Promise.reject("1"), () => {}); 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1548,9 +1548,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1559,17 +1559,17 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >"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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >p : Promise ->then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>then : (onfulfilled?: (value: boolean) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1583,3 +1583,39 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >reject : (reason?: any) => Promise >1 : 1 +const result: undefined = undefined as Awaited; +>result : undefined +>undefined as Awaited : undefined +>undefined : undefined + +// #28427 + +Promise.all([undefined as Promise | string]); +>Promise.all([undefined as Promise | string]) : Promise<(string | number)[]> +>Promise.all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise : PromiseConstructor +>all : { (values: Iterable): Promise<(TAll extends undefined ? TAll : TAll extends PromiseLike ? UAll : TAll)[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>[undefined as Promise | string] : (string | Promise)[] +>undefined as Promise | string : string | Promise +>undefined : undefined + +Promise.resolve(undefined as Promise | string); +>Promise.resolve(undefined as Promise | string) : Promise +>Promise.resolve : { (value: T): Promise>; (): Promise; } +>Promise : PromiseConstructor +>resolve : { (value: T): Promise>; (): Promise; } +>undefined as Promise | string : string | Promise +>undefined : undefined + +// #30390 + +(undefined as Promise).then(undefined as () => Promise | string); +>(undefined as Promise).then(undefined as () => Promise | string) : Promise +>(undefined as Promise).then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> +>(undefined as Promise) : Promise +>undefined as Promise : Promise +>undefined : undefined +>then : (onfulfilled?: (value: any) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> +>undefined as () => Promise | string : () => string | Promise +>undefined : undefined + diff --git a/tests/baselines/reference/promiseTypeInference.errors.txt b/tests/baselines/reference/promiseTypeInference.errors.txt deleted file mode 100644 index ada81bfb4962b..0000000000000 --- a/tests/baselines/reference/promiseTypeInference.errors.txt +++ /dev/null @@ -1,38 +0,0 @@ -tests/cases/compiler/promiseTypeInference.ts(10,39): error TS2769: No overload matches this call. - Overload 1 of 2, '(success?: (value: string) => Promise): Promise', gave the following error. - Property 'catch' is missing in type 'IPromise' but required in type 'Promise'. - Overload 2 of 2, '(onfulfilled?: (value: string) => number | PromiseLike, onrejected?: (reason: any) => PromiseLike): Promise', gave the following error. - Type 'IPromise' is not assignable to type 'number | PromiseLike'. - Type 'IPromise' is not assignable to type 'PromiseLike'. - Types of property 'then' are incompatible. - 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 TS2769: No overload matches this call. -!!! error TS2769: Overload 1 of 2, '(success?: (value: string) => Promise): Promise', gave the following error. -!!! error TS2769: Property 'catch' is missing in type 'IPromise' but required in type 'Promise'. -!!! error TS2769: Overload 2 of 2, '(onfulfilled?: (value: string) => number | PromiseLike, onrejected?: (reason: any) => PromiseLike): Promise', gave the following error. -!!! error TS2769: Type 'IPromise' is not assignable to type 'number | PromiseLike'. -!!! error TS2769: Type 'IPromise' is not assignable to type 'PromiseLike'. -!!! error TS2769: Types of property 'then' are incompatible. -!!! error TS2769: Types of parameters 'success' and 'onfulfilled' are incompatible. -!!! error TS2769: Type 'TResult1 | PromiseLike' is not assignable to type 'IPromise'. -!!! error TS2769: Type 'TResult1' is not assignable to type 'IPromise'. -!!! related TS2728 /.ts/lib.es5.d.ts:1430:5: 'catch' is declared here. -!!! related TS6502 tests/cases/compiler/promiseTypeInference.ts:2:23: The expected type comes from the return type of this signature. -!!! related TS6502 /.ts/lib.es5.d.ts:1423:57: The expected type comes from the return type of this signature. - \ No newline at end of file diff --git a/tests/baselines/reference/promiseTypeInference.types b/tests/baselines/reference/promiseTypeInference.types index 36b3bdadd28ce..b67a9664067da 100644 --- a/tests/baselines/reference/promiseTypeInference.types +++ b/tests/baselines/reference/promiseTypeInference.types @@ -3,7 +3,7 @@ declare class Promise { >Promise : Promise 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: T) => Promise): Promise; } >success : (value: T) => Promise >value : T } @@ -22,13 +22,13 @@ declare function convert(s: string): IPromise; >s : string 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: string) => Promise): Promise; } >s => convert(s) : (s: string) => IPromise >s : string >convert(s) : IPromise diff --git a/tests/baselines/reference/promiseTypeStrictNull.types b/tests/baselines/reference/promiseTypeStrictNull.types index 73d2f70346135..f9d9e628c6f9a 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.types +++ b/tests/baselines/reference/promiseTypeStrictNull.types @@ -182,92 +182,92 @@ 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >() => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >() => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >() => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >() => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >() => {} : () => 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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >() => {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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise >Promise.reject : (reason?: any) => Promise @@ -278,104 +278,104 @@ const p18 = p.catch(() => Promise.reject(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 ? UResult : TResult)> >p : Promise ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +>catch : (onrejected?: ((reason: any) => TResult) | null | undefined) => Promise ? UResult : TResult)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise >Promise.reject : (reason?: any) => Promise @@ -386,27 +386,27 @@ const p29 = p.then(() => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => 1 : () => number >1 : 1 @@ -414,9 +414,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => x : () => any >x : any @@ -424,9 +424,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => undefined : () => undefined >undefined : undefined @@ -434,9 +434,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => null : () => null >null : null @@ -444,18 +444,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => {throw 1} : () => never >1 : 1 @@ -463,23 +463,23 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >undefined : undefined >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -491,27 +491,27 @@ const p39 = p.then(undefined, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => 1 : () => number >1 : 1 @@ -519,9 +519,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => x : () => any >x : any @@ -529,9 +529,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => undefined : () => undefined >undefined : undefined @@ -539,9 +539,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => null : () => null >null : null @@ -549,18 +549,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => {throw 1} : () => never >1 : 1 @@ -568,23 +568,23 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >null : null >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -596,9 +596,9 @@ const p49 = p.then(null, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >undefined : undefined @@ -606,9 +606,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >null : null @@ -616,9 +616,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => 1 : () => number @@ -627,9 +627,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => x : () => any @@ -638,9 +638,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => undefined : () => undefined @@ -649,9 +649,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => null : () => null @@ -660,9 +660,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => {} : () => void @@ -670,9 +670,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => {throw 1} : () => never @@ -681,24 +681,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => "1" : () => string >"1" : "1" >() => Promise.reject(1) : () => Promise @@ -711,9 +711,9 @@ const p59 = p.then(() => "1", () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >undefined : undefined @@ -721,9 +721,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >null : null @@ -731,9 +731,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => 1 : () => number @@ -742,9 +742,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => x : () => any @@ -753,9 +753,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => undefined : () => undefined @@ -764,9 +764,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => null : () => null @@ -775,9 +775,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => {} : () => void @@ -785,9 +785,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => {throw 1} : () => never @@ -796,24 +796,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => x : () => any >x : any >() => Promise.reject(1) : () => Promise @@ -826,9 +826,9 @@ const p69 = p.then(() => x, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >undefined : undefined @@ -836,9 +836,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >null : null @@ -846,9 +846,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >() => 1 : () => number @@ -857,9 +857,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >() => x : () => any @@ -868,9 +868,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >() => undefined : () => undefined @@ -879,9 +879,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >() => null : () => null @@ -890,9 +890,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >() => {} : () => void @@ -900,9 +900,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >() => {throw 1} : () => never @@ -911,24 +911,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => undefined : () => undefined >undefined : undefined >() => Promise.reject(1) : () => Promise @@ -941,9 +941,9 @@ const p79 = p.then(() => undefined, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >undefined : undefined @@ -951,9 +951,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >null : null @@ -961,9 +961,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >() => 1 : () => number @@ -972,9 +972,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >() => x : () => any @@ -983,9 +983,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >() => undefined : () => undefined @@ -994,9 +994,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >() => null : () => null @@ -1005,9 +1005,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >() => {} : () => void @@ -1015,9 +1015,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >() => {throw 1} : () => never @@ -1026,24 +1026,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => null : () => null >null : null >() => Promise.reject(1) : () => Promise @@ -1056,27 +1056,27 @@ const p89 = p.then(() => null, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => 1 : () => number >1 : 1 @@ -1084,9 +1084,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => x : () => any >x : any @@ -1094,9 +1094,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => undefined : () => undefined >undefined : undefined @@ -1104,9 +1104,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => null : () => null >null : null @@ -1114,18 +1114,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => {throw 1} : () => never >1 : 1 @@ -1133,23 +1133,23 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {} : () => void >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -1161,9 +1161,9 @@ const p99 = p.then(() => {}, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >undefined : undefined @@ -1171,9 +1171,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >null : null @@ -1181,9 +1181,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => 1 : () => number @@ -1192,9 +1192,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => x : () => any @@ -1203,9 +1203,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => undefined : () => undefined @@ -1214,9 +1214,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => null : () => null @@ -1225,9 +1225,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => {} : () => void @@ -1235,9 +1235,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => {throw 1} : () => never @@ -1246,24 +1246,24 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => {throw 1} : () => never >1 : 1 >() => Promise.reject(1) : () => Promise @@ -1276,42 +1276,42 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1319,14 +1319,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1334,14 +1334,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1349,14 +1349,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1364,28 +1364,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1393,33 +1393,33 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => 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 @@ -1431,9 +1431,9 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1445,9 +1445,9 @@ const pc0 = p.then(() => Promise.reject("1"), 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1459,9 +1459,9 @@ const pc1 = p.then(() => Promise.reject("1"), 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1474,9 +1474,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1489,9 +1489,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1504,9 +1504,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1519,9 +1519,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1533,9 +1533,9 @@ const pc6 = p.then(() => Promise.reject("1"), () => {}); 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1548,9 +1548,9 @@ 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise @@ -1559,17 +1559,17 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >"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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => Promise.reject("1") : () => Promise >Promise.reject("1") : Promise >Promise.reject : (reason?: any) => Promise diff --git a/tests/baselines/reference/promiseVoidErrorCallback.types b/tests/baselines/reference/promiseVoidErrorCallback.types index a1388cb04ef69..949fe3208e335 100644 --- a/tests/baselines/reference/promiseVoidErrorCallback.types +++ b/tests/baselines/reference/promiseVoidErrorCallback.types @@ -19,9 +19,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" @@ -44,14 +44,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >f2 : (x: T1) => T2 >(e: Error) => { throw e;} : (e: Error) => never >e : Error @@ -61,7 +61,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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >(x: T2) => { return { __t3: x.__t2 + "bar" };} : (x: T2) => { __t3: string; } >x : T2 diff --git a/tests/baselines/reference/promises.types b/tests/baselines/reference/promises.types index 0640f0135498f..efbcb5454b089 100644 --- a/tests/baselines/reference/promises.types +++ b/tests/baselines/reference/promises.types @@ -1,12 +1,12 @@ === tests/cases/compiler/promises.ts === interface Promise { 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } >success : (value: T) => U >value : T 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } >success : (value: T) => Promise >value : T diff --git a/tests/baselines/reference/promisesWithConstraints.types b/tests/baselines/reference/promisesWithConstraints.types index 367cd6a61a677..61694f6891afa 100644 --- a/tests/baselines/reference/promisesWithConstraints.types +++ b/tests/baselines/reference/promisesWithConstraints.types @@ -1,7 +1,7 @@ === tests/cases/compiler/promisesWithConstraints.ts === interface Promise { 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: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (cb: (x: T) => Promise): Promise; } >cb : (x: T) => Promise >x : T } diff --git a/tests/baselines/reference/specializationError.types b/tests/baselines/reference/specializationError.types index 8f0b5747bfa9d..eb113a8d23db8 100644 --- a/tests/baselines/reference/specializationError.types +++ b/tests/baselines/reference/specializationError.types @@ -1,7 +1,7 @@ === tests/cases/compiler/specializationError.ts === interface Promise { then(value: T): void; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (value: T): void; } +>then : { (onfulfilled?: (value: T) => TResult1, onrejected?: (reason: any) => TResult2): Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)>; (value: T): void; } >value : T } diff --git a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types index 3f1ef83a0ae9c..1f6c76d62f634 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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >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<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >({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 061342eaf44b0..f6c66bb291c9c 100644 --- a/tests/baselines/reference/transformNestedGeneratorsWithTry.types +++ b/tests/baselines/reference/transformNestedGeneratorsWithTry.types @@ -16,9 +16,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.es2018.1.types b/tests/baselines/reference/types.asyncGenerators.es2018.1.types index 3c6e51c56d220..0d3a4e64201f7 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.1.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.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() { @@ -89,9 +89,9 @@ const assignability2: () => AsyncIterableIterator = async function * () yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >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 }; @@ -114,9 +114,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 }; @@ -149,9 +149,9 @@ const assignability7: () => AsyncIterable = async function * () { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >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 }; @@ -174,9 +174,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 }; @@ -209,9 +209,9 @@ const assignability12: () => AsyncIterator = async function * () { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >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 }; @@ -234,9 +234,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 }; @@ -266,9 +266,9 @@ async function * explicitReturnType2(): AsyncIterableIterator { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >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 { @@ -287,9 +287,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 { @@ -316,9 +316,9 @@ async function * explicitReturnType7(): AsyncIterable { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >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 { @@ -337,9 +337,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 { @@ -366,9 +366,9 @@ async function * explicitReturnType12(): AsyncIterator { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >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 { @@ -387,9 +387,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 { @@ -425,9 +425,9 @@ 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 } async function * nextType1(): { next(...args: [] | [number | PromiseLike]): any } { diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.types b/tests/baselines/reference/types.asyncGenerators.es2018.2.types index 8352487119937..da0ec5438da50 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.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/unionAndIntersectionInference1.types b/tests/baselines/reference/unionAndIntersectionInference1.types index 72d60545e6a51..868c5c51bdbda 100644 --- a/tests/baselines/reference/unionAndIntersectionInference1.types +++ b/tests/baselines/reference/unionAndIntersectionInference1.types @@ -190,12 +190,12 @@ const createTestAsync = (): Promise => Promise.resolve().then(() => ({ na >createTestAsync : () => Promise >(): Promise => Promise.resolve().then(() => ({ name: 'test' })) : () => Promise >Promise.resolve().then(() => ({ name: 'test' })) : Promise ->Promise.resolve().then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>Promise.resolve().then : (onfulfilled?: (value: void) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >Promise.resolve() : Promise ->Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; } +>Promise.resolve : { (value: T): Promise>; (): Promise; } >Promise : PromiseConstructor ->resolve : { (value: T | PromiseLike): Promise; (): Promise; } ->then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +>resolve : { (value: T): Promise>; (): Promise; } +>then : (onfulfilled?: (value: void) => TResult1, onrejected?: (reason: any) => TResult2) => Promise<(TResult1 extends undefined ? TResult1 : TResult1 extends PromiseLike ? UResult1 : TResult1) | (TResult2 extends undefined ? TResult2 : TResult2 extends PromiseLike ? UResult2 : TResult2)> >() => ({ name: 'test' }) : () => { name: "test"; } >({ name: 'test' }) : { name: "test"; } >{ name: 'test' } : { name: "test"; } diff --git a/tests/baselines/reference/uniqueSymbols.types b/tests/baselines/reference/uniqueSymbols.types index a321593c11a8c..fca7c24c34fdc 100644 --- a/tests/baselines/reference/uniqueSymbols.types +++ b/tests/baselines/reference/uniqueSymbols.types @@ -400,9 +400,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 bacdafc5680db..f2294efd5aec7 100644 --- a/tests/baselines/reference/uniqueSymbolsDeclarations.types +++ b/tests/baselines/reference/uniqueSymbolsDeclarations.types @@ -393,9 +393,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/user/adonis-framework.log b/tests/baselines/reference/user/adonis-framework.log index b6797d03840d4..443cfcb5ffde4 100644 --- a/tests/baselines/reference/user/adonis-framework.log +++ b/tests/baselines/reference/user/adonis-framework.log @@ -27,9 +27,9 @@ node_modules/adonis-framework/src/Encryption/index.js(71,34): error TS2769: No o node_modules/adonis-framework/src/Encryption/index.js(77,50): error TS2345: Argument of type 'Buffer' is not assignable to parameter of type 'string'. node_modules/adonis-framework/src/Encryption/index.js(85,23): error TS8024: JSDoc '@param' tag has name 'value', but there is no parameter with that name. node_modules/adonis-framework/src/Encryption/index.js(87,15): error TS2304: Cannot find name 'Mixed'. -node_modules/adonis-framework/src/Encryption/index.js(101,21): error TS2769: No overload matches this call. - Overload 1 of 4, '(data: ArrayBufferView, input_encoding: undefined, output_encoding: Utf8AsciiBinaryEncoding): string', gave the following error. - Argument of type '"base64"' is not assignable to parameter of type 'undefined'. +node_modules/adonis-framework/src/Encryption/index.js(101,62): error TS2769: No overload matches this call. + Overload 1 of 4, '(data: ArrayBufferView, input_encoding: "base64" | "binary" | "hex" | undefined, output_encoding: Utf8AsciiBinaryEncoding): string', gave the following error. + Argument of type 'string' is not assignable to parameter of type 'Utf8AsciiBinaryEncoding'. Overload 2 of 4, '(data: string, input_encoding: "base64" | "binary" | "hex" | undefined, output_encoding: Utf8AsciiBinaryEncoding): string', gave the following error. Argument of type 'string' is not assignable to parameter of type 'Utf8AsciiBinaryEncoding'. node_modules/adonis-framework/src/Encryption/index.js(114,15): error TS2304: Cannot find name 'Mixed'. diff --git a/tests/baselines/reference/user/chrome-devtools-frontend.log b/tests/baselines/reference/user/chrome-devtools-frontend.log index c45cbcc183bed..6ca241d440dd3 100644 --- a/tests/baselines/reference/user/chrome-devtools-frontend.log +++ b/tests/baselines/reference/user/chrome-devtools-frontend.log @@ -618,6 +618,7 @@ node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighth node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(9093,57): error TS2554: Expected 0-2 arguments, but got 3. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(9117,73): error TS2554: Expected 0-2 arguments, but got 3. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(9467,15): error TS2339: Property 'axe' does not exist on type 'Window & typeof globalThis'. +node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(9823,40): error TS2488: Type '{ [x: string]: any; }' must have a '[Symbol.iterator]()' method that returns an iterator. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(10092,16): error TS2304: Cannot find name 'd41d8cd98f00b204e9800998ecf8427e_LibraryDetectorTests'. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(10513,19): error TS2488: Type 'NodeListOf' must have a '[Symbol.iterator]()' method that returns an iterator. node_modules/chrome-devtools-frontend/front_end/audits2_worker/lighthouse/lighthouse-background.js(10811,19): error TS2304: Cannot find name 'getElementsInDocument'. @@ -5044,21 +5045,7 @@ node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js( node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(52,56): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(58,78): error TS2555: Expected at least 2 arguments, but got 1. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(73,12): error TS2339: Property '_filterRegex' does not exist on type 'ComputedStyleWidget'. -node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(91,24): error TS2769: No overload matches this call. - The last overload gave the following error. - Argument of type '(Promise | Promise)[]' is not assignable to parameter of type 'Iterable>'. - The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. - Type 'IteratorResult | Promise, any>' is not assignable to type 'IteratorResult, any>'. - Type 'IteratorYieldResult | Promise>' is not assignable to type 'IteratorResult, any>'. - Type 'IteratorYieldResult | Promise>' is not assignable to type 'IteratorYieldResult>'. - Type 'Promise | Promise' is not assignable to type 'ComputedStyle | PromiseLike'. - Type 'Promise' is not assignable to type 'ComputedStyle | PromiseLike'. - Type 'Promise' is not assignable to type 'PromiseLike'. - Types of property 'then' are incompatible. - Type '(onfulfilled?: (value: CSSMatchedStyles) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike<...>) => Promise<...>' is not assignable to type '(onfulfilled?: (value: ComputedStyle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike<...>) => PromiseLike<...>'. - Types of parameters 'onfulfilled' and 'onfulfilled' are incompatible. - Types of parameters 'value' and 'value' are incompatible. - Property 'computedStyle' is missing in type 'CSSMatchedStyles' but required in type 'ComputedStyle'. +node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(91,34): error TS2339: Property 'spread' does not exist on type 'Promise<(CSSMatchedStyles | ComputedStyle)[]>'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(147,52): error TS2339: Property 'keysArray' does not exist on type 'Map'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(179,50): error TS2339: Property 'createChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/elements/ComputedStyleWidget.js(200,74): error TS2339: Property 'consume' does not exist on type 'Event'. @@ -5347,21 +5334,6 @@ node_modules/chrome-devtools-frontend/front_end/elements/InspectElementModeContr Type 'T' is not assignable to type 'OverlayModel'. node_modules/chrome-devtools-frontend/front_end/elements/InspectElementModeController.js(91,24): error TS2694: Namespace 'Protocol' has no exported member 'Overlay'. node_modules/chrome-devtools-frontend/front_end/elements/MetricsSidebarPane.js(56,27): error TS2339: Property 'removeChildren' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/elements/MetricsSidebarPane.js(82,24): error TS2769: No overload matches this call. - The last overload gave the following error. - Argument of type '(Promise> | Promise)[]' is not assignable to parameter of type 'Iterable | PromiseLike>>'. - The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. - Type 'IteratorResult> | Promise, any>' is not assignable to type 'IteratorResult | PromiseLike>, any>'. - Type 'IteratorYieldResult> | Promise>' is not assignable to type 'IteratorResult | PromiseLike>, any>'. - Type 'IteratorYieldResult> | Promise>' is not assignable to type 'IteratorYieldResult | PromiseLike>>'. - Type 'Promise> | Promise' is not assignable to type 'Map | PromiseLike>'. - Type 'Promise' is not assignable to type 'Map | PromiseLike>'. - Type 'Promise' is not assignable to type 'PromiseLike>'. - Types of property 'then' are incompatible. - Type '(onfulfilled?: (value: InlineStyleResult) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike<...>) => Promise<...>' is not assignable to type ', TResult2 = never>(onfulfilled?: (value: Map) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike<...>) => PromiseLike<...>'. - Types of parameters 'onfulfilled' and 'onfulfilled' are incompatible. - Types of parameters 'value' and 'value' are incompatible. - Type 'InlineStyleResult' is missing the following properties from type 'Map': clear, delete, forEach, get, and 8 more. node_modules/chrome-devtools-frontend/front_end/elements/MetricsSidebarPane.js(120,11): error TS2339: Property 'consume' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/elements/MetricsSidebarPane.js(164,22): error TS2339: Property 'toFixedIfFloating' does not exist on type 'NumberConstructor'. node_modules/chrome-devtools-frontend/front_end/elements/MetricsSidebarPane.js(179,18): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. @@ -10935,8 +10907,8 @@ node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(363,62 node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(368,34): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(372,42): error TS2339: Property 'result' does not exist on type '{ response: RemoteObject; exceptionDetails: any; }'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(381,35): error TS2694: Namespace 'Protocol' has no exported member 'Runtime'. -node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(503,30): error TS2345: Argument of type 'Function' is not assignable to parameter of type '(value: any[]) => any[] | PromiseLike'. - Type 'Function' provides no match for the signature '(value: any[]): any[] | PromiseLike'. +node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(503,30): error TS2345: Argument of type 'Function' is not assignable to parameter of type '(value: any[]) => any[]'. + Type 'Function' provides no match for the signature '(value: any[]): any[]'. node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(641,59): error TS2551: Property 'testRunner' does not exist on type 'Window & typeof globalThis'. Did you mean 'TestRunner'? node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(641,92): error TS2551: Property 'testRunner' does not exist on type 'Window & typeof globalThis'. Did you mean 'TestRunner'? node_modules/chrome-devtools-frontend/front_end/test_runner/TestRunner.js(642,3): error TS2322: Type '1' is not assignable to type 'boolean'. @@ -12658,27 +12630,9 @@ node_modules/chrome-devtools-frontend/front_end/ui/View.js(326,21): error TS2339 node_modules/chrome-devtools-frontend/front_end/ui/View.js(371,23): error TS2339: Property 'showView' does not exist on type '_Location'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(440,18): error TS2339: Property 'tabIndex' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(454,38): error TS2339: Property 'hasFocus' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/View.js(461,44): error TS2769: No overload matches this call. - The last overload gave the following error. - Argument of type '(Promise | Promise)[]' is not assignable to parameter of type 'Iterable>'. - The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. - Type 'IteratorResult | Promise, any>' is not assignable to type 'IteratorResult, any>'. - Type 'IteratorYieldResult | Promise>' is not assignable to type 'IteratorResult, any>'. - Type 'IteratorYieldResult | Promise>' is not assignable to type 'IteratorYieldResult>'. - Type 'Promise | Promise' is not assignable to type 'void | PromiseLike'. - Type 'Promise' is not assignable to type 'void | PromiseLike'. - Type 'Promise' is not assignable to type 'PromiseLike'. - Types of property 'then' are incompatible. - Type '(onfulfilled?: (value: ToolbarItem[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike<...>) => Promise<...>' is not assignable to type '(onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => PromiseLike<...>'. - Types of parameters 'onfulfilled' and 'onfulfilled' are incompatible. - Types of parameters 'value' and 'value' are incompatible. - Type 'ToolbarItem[]' is not assignable to type 'void'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(495,24): error TS2339: Property 'createTextChild' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(496,24): error TS2339: Property 'tabIndex' does not exist on type 'Element'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(501,25): error TS2339: Property 'createChild' does not exist on type 'Element'. -node_modules/chrome-devtools-frontend/front_end/ui/View.js(520,44): error TS2769: No overload matches this call. - The last overload gave the following error. - Argument of type '(Promise | Promise)[]' is not assignable to parameter of type 'Iterable>'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(556,36): error TS2339: Property 'keyCode' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(558,22): error TS2339: Property 'key' does not exist on type 'Event'. node_modules/chrome-devtools-frontend/front_end/ui/View.js(560,22): error TS2339: Property 'key' does not exist on type 'Event'. diff --git a/tests/baselines/reference/user/prettier.log b/tests/baselines/reference/user/prettier.log deleted file mode 100644 index 5bd779cfe32dd..0000000000000 --- a/tests/baselines/reference/user/prettier.log +++ /dev/null @@ -1,295 +0,0 @@ -Exit Code: 1 -Standard output: -node_modules/@glimmer/interfaces/dist/types/lib/components.d.ts(1,40): error TS2307: Cannot find module '@glimmer/reference'. -node_modules/@glimmer/interfaces/dist/types/lib/components/component-manager.d.ts(1,45): error TS2307: Cannot find module '@glimmer/reference'. -node_modules/@glimmer/interfaces/dist/types/lib/components/component-manager.d.ts(2,31): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/interfaces/dist/types/lib/dom/attributes.d.ts(8,8): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/interfaces/dist/types/lib/dom/bounds.d.ts(1,43): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/interfaces/dist/types/lib/dom/changes.d.ts(7,8): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/interfaces/dist/types/lib/dom/tree-construction.d.ts(7,8): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/arguments.d.ts(1,45): error TS2307: Cannot find module '@glimmer/reference'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/element.d.ts(1,36): error TS2307: Cannot find module '@glimmer/reference'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(1,76): error TS2307: Cannot find module '@glimmer/reference'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(2,36): error TS2307: Cannot find module '@glimmer/runtime'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(3,46): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/modifier.d.ts(4,21): error TS2307: Cannot find module '@glimmer/reference'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/modifier.d.ts(6,31): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/render.d.ts(1,43): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/scope.d.ts(2,40): error TS2307: Cannot find module '@glimmer/reference'. -node_modules/@glimmer/interfaces/dist/types/lib/runtime/vm.d.ts(2,31): error TS2307: Cannot find module '@glimmer/reference'. -node_modules/@glimmer/util/dist/types/lib/destroy.d.ts(3,69): error TS2677: A type predicate's type must be assignable to its parameter's type. - Type 'SymbolDestroyable' is not assignable to type 'Maybe>'. - Type 'SymbolDestroyable' is not assignable to type 'Dict'. - Index signature is missing in type 'SymbolDestroyable'. -node_modules/@glimmer/util/dist/types/lib/dom.d.ts(1,31): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@glimmer/util/dist/types/lib/is-serialization-first-node.d.ts(1,28): error TS2307: Cannot find module '@simple-dom/interface'. -node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts(1,8): error TS1259: Module '"/prettier/prettier/node_modules/typescript/lib/typescript"' can only be default-imported using the 'esModuleInterop' flag -src/cli/util.js(60,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number | undefined'. -src/cli/util.js(119,38): error TS2339: Property 'sync' does not exist on type '(...args: any[]) => any'. -src/cli/util.js(413,36): error TS2345: Argument of type '{ dot: true; nodir: boolean; }' is not assignable to parameter of type 'GlobbyOptions'. - Object literal may only specify known properties, and 'nodir' does not exist in type 'GlobbyOptions'. -src/cli/util.js(507,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number | undefined'. -src/cli/util.js(528,37): error TS2339: Property 'grey' does not exist on type 'typeof import("/prettier/prettier/node_modules/chalk/types/index")'. -src/cli/util.js(591,16): error TS2339: Property 'type' does not exist on type 'never'. -src/cli/util.js(592,16): error TS2339: Property 'oppositeDescription' does not exist on type 'never'. -src/cli/util.js(593,17): error TS2339: Property 'name' does not exist on type 'never'. -src/cli/util.js(693,22): error TS2339: Property 'name' does not exist on type 'never'. -src/cli/util.js(693,46): error TS2339: Property 'alias' does not exist on type 'never'. -src/common/create-ignorer.js(34,19): error TS2349: This expression is not callable. - Type 'typeof import("/prettier/prettier/node_modules/ignore/index")' has no call signatures. -src/common/get-file-info.js(36,27): error TS2339: Property 'resolveConfig' does not exist on type '{ ignorePath?: string | undefined; withNodeModules?: boolean | undefined; plugins: any; }'. -src/common/get-file-info.js(59,25): error TS2339: Property 'resolveConfig' does not exist on type '{ ignorePath?: string | undefined; withNodeModules?: boolean | undefined; plugins: any; }'. -src/common/parser-create-error.js(8,9): error TS2339: Property 'loc' does not exist on type 'SyntaxError'. -src/config/resolve-config.js(14,12): error TS2571: Object is of type 'unknown'. -src/config/resolve-config.js(50,16): error TS2571: Object is of type 'unknown'. -src/config/resolve-config.js(51,18): error TS2571: Object is of type 'unknown'. -src/config/resolve-config.js(121,32): error TS2345: Argument of type '{ sync: false; }' is not assignable to parameter of type '{ cache: boolean; sync: boolean; }'. - Property 'cache' is missing in type '{ sync: false; }' but required in type '{ cache: boolean; sync: boolean; }'. -src/config/resolve-config.js(128,32): error TS2345: Argument of type '{ sync: true; }' is not assignable to parameter of type '{ cache: boolean; sync: boolean; }'. - Property 'cache' is missing in type '{ sync: true; }' but required in type '{ cache: boolean; sync: boolean; }'. -src/doc/doc-printer.js(7,14): error TS1023: An index signature parameter type must be either 'string' or 'number'. -src/doc/doc-printer.js(7,37): error TS2304: Cannot find name 'MODE'. -src/doc/doc-printer.js(257,17): error TS2532: Object is possibly 'undefined'. -src/doc/doc-printer.js(258,18): error TS2532: Object is possibly 'undefined'. -src/doc/doc-printer.js(259,17): error TS2532: Object is possibly 'undefined'. -src/doc/doc-printer.js(501,37): error TS2345: Argument of type 'any[][]' is not assignable to parameter of type 'never[]'. - Type 'any[]' is not assignable to type 'never'. -src/index.js(3,25): error TS2732: Cannot find module '../package.json'. Consider using '--resolveJsonModule' to import module with '.json' extension -src/index.js(30,17): error TS2339: Property 'sync' does not exist on type '(...args: any[]) => any'. -src/language-css/clean.js(3,30): error TS2307: Cannot find module 'html-tag-names'. -src/language-css/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/CSS'. -src/language-css/index.js(15,26): error TS2307: Cannot find module 'linguist-languages/data/PostCSS'. -src/language-css/index.js(23,26): error TS2307: Cannot find module 'linguist-languages/data/Less'. -src/language-css/index.js(30,26): error TS2307: Cannot find module 'linguist-languages/data/SCSS'. -src/language-css/parser-postcss.js(64,32): error TS2345: Argument of type '{ groups: never[]; type: string; }' is not assignable to parameter of type 'never'. -src/language-css/parser-postcss.js(74,30): error TS2345: Argument of type '{ open: null; close: null; groups: never[]; type: string; }' is not assignable to parameter of type 'never'. -src/language-css/parser-postcss.js(79,30): error TS2345: Argument of type '{ groups: never[]; type: string; }' is not assignable to parameter of type 'never'. -src/language-css/parser-postcss.js(86,30): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'. -src/language-css/parser-postcss.js(90,28): error TS2345: Argument of type '{ groups: never[]; type: string; }' is not assignable to parameter of type 'never'. -src/language-css/parser-postcss.js(449,32): error TS2531: Object is possibly 'null'. -src/language-css/utils.js(3,30): error TS2307: Cannot find module 'html-tag-names'. -src/language-graphql/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/GraphQL'. -src/language-graphql/parser-graphql.js(64,17): error TS2532: Object is possibly 'undefined'. -src/language-graphql/parser-graphql.js(65,19): error TS2532: Object is possibly 'undefined'. -src/language-handlebars/index.js(7,26): error TS2307: Cannot find module 'linguist-languages/data/Handlebars'. -src/language-html/ast.js(53,11): error TS2536: Type 'Extract' cannot be used to index type 'Node'. -src/language-html/ast.js(56,15): error TS2339: Property 'index' does not exist on type 'Node'. -src/language-html/ast.js(56,22): error TS2339: Property 'siblings' does not exist on type 'Node'. -src/language-html/ast.js(56,32): error TS2339: Property 'prev' does not exist on type 'Node'. -src/language-html/ast.js(56,38): error TS2339: Property 'next' does not exist on type 'Node'. -src/language-html/ast.js(56,44): error TS2339: Property 'parent' does not exist on type 'Node'. -src/language-html/ast.js(74,17): error TS2339: Property 'children' does not exist on type 'Node'. -src/language-html/ast.js(74,34): error TS2339: Property 'children' does not exist on type 'Node'. -src/language-html/ast.js(75,14): error TS2339: Property 'children' does not exist on type 'Node'. -src/language-html/ast.js(80,17): error TS2339: Property 'children' does not exist on type 'Node'. -src/language-html/ast.js(80,34): error TS2339: Property 'children' does not exist on type 'Node'. -src/language-html/ast.js(81,14): error TS2339: Property 'children' does not exist on type 'Node'. -src/language-html/ast.js(81,28): error TS2339: Property 'children' does not exist on type 'Node'. -src/language-html/ast.js(87,17): error TS2339: Property 'hasExplicitNamespace' does not exist on type 'Node'. -src/language-html/ast.js(87,61): error TS2339: Property 'name' does not exist on type 'Node'. -src/language-html/ast.js(90,17): error TS2339: Property 'namespace' does not exist on type 'Node'. -src/language-html/ast.js(90,34): error TS2339: Property 'namespace' does not exist on type 'Node'. -src/language-html/ast.js(90,57): error TS2339: Property 'name' does not exist on type 'Node'. -src/language-html/ast.js(90,69): error TS2339: Property 'name' does not exist on type 'Node'. -src/language-html/conditional-comment.js(23,16): error TS2349: This expression is not callable. - Not all constituents of type 'RegExp | ((node: any) => { type: string; sourceSpan: any; })' are callable. - Type 'RegExp' has no call signatures. -src/language-html/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/HTML'. -src/language-html/index.js(18,26): error TS2307: Cannot find module 'linguist-languages/data/HTML'. -src/language-html/index.js(28,26): error TS2307: Cannot find module 'linguist-languages/data/HTML'. -src/language-html/index.js(38,26): error TS2307: Cannot find module 'linguist-languages/data/Vue'. -src/language-html/parser-html.js(52,12): error TS2339: Property 'type' does not exist on type 'Attribute'. -src/language-html/parser-html.js(54,12): error TS2339: Property 'type' does not exist on type 'CDATA'. -src/language-html/parser-html.js(56,12): error TS2339: Property 'type' does not exist on type 'Comment'. -src/language-html/parser-html.js(58,12): error TS2339: Property 'type' does not exist on type 'DocType'. -src/language-html/parser-html.js(60,12): error TS2339: Property 'type' does not exist on type 'Element'. -src/language-html/parser-html.js(62,12): error TS2339: Property 'type' does not exist on type 'Text'. -src/language-html/parser-html.js(89,11): error TS2322: Type 'null' is not assignable to type 'string'. -src/language-html/parser-html.js(114,16): error TS2551: Property 'namespace' does not exist on type 'Element'. Did you mean 'nameSpan'? -src/language-html/parser-html.js(115,16): error TS2551: Property 'namespace' does not exist on type 'Element'. Did you mean 'nameSpan'? -src/language-html/parser-html.js(115,35): error TS2339: Property 'tagDefinition' does not exist on type 'Element'. -src/language-html/parser-html.js(127,21): error TS2551: Property 'namespace' does not exist on type 'Attribute'. Did you mean 'nameSpan'? -src/language-html/parser-html.js(156,15): error TS2551: Property 'namespace' does not exist on type 'Element'. Did you mean 'nameSpan'? -src/language-html/parser-html.js(157,14): error TS2551: Property 'namespace' does not exist on type 'Element'. Did you mean 'nameSpan'? -src/language-html/parser-html.js(159,14): error TS2339: Property 'tagDefinition' does not exist on type 'Element'. -src/language-html/parser-html.js(161,14): error TS2339: Property 'tagDefinition' does not exist on type 'Element'. -src/language-html/parser-html.js(194,29): error TS2345: Argument of type '{ type: any; value: any; raw: any; }' is not assignable to parameter of type 'Node'. - Type '{ type: any; value: any; raw: any; }' is missing the following properties from type 'Node': sourceSpan, visit -src/language-html/preprocess.js(28,19): error TS2554: Expected 0-1 arguments, but got 2. -src/language-html/printer-html.js(314,13): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '"" | ">" | "/>" | "}}" | "]>" | ">" | "[endif]-->" | "]>"' is not assignable to parameter of type 'ConcatArray'. - Type '""' is not assignable to type 'ConcatArray'. - Overload 2 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '"" | ">" | "/>" | "}}" | "]>" | ">" | "[endif]-->" | "]>"' is not assignable to parameter of type 'ConcatArray'. - Type '""' is not assignable to type 'ConcatArray'. -src/language-html/printer-html.js(471,11): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '{ type: string; parts: any; }[]' is not assignable to parameter of type 'ConcatArray'. - The types returned by 'slice(...)' are incompatible between these types. - Type '{ type: string; parts: any; }[]' is not assignable to type 'never[]'. - Type '{ type: string; parts: any; }' is not assignable to type 'never'. - Overload 2 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '{ type: string; parts: any; }[]' is not assignable to parameter of type 'ConcatArray'. -src/language-html/printer-html.js(492,11): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '"" | ">" | "/>" | "}}" | "]>" | ">" | "[endif]-->" | "]>"' is not assignable to parameter of type 'ConcatArray'. - Type '""' is not assignable to type 'ConcatArray'. - Overload 2 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '"" | ">" | "/>" | "}}" | "]>" | ">" | "[endif]-->" | "]>"' is not assignable to parameter of type 'ConcatArray'. - Type '""' is not assignable to type 'ConcatArray'. -src/language-html/printer-html.js(515,11): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '"" | ">" | "/>" | "}}" | "]>" | ">" | "[endif]-->" | "]>"' is not assignable to parameter of type 'ConcatArray'. - Type '""' is not assignable to type 'ConcatArray'. - Overload 2 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '"" | ">" | "/>" | "}}" | "]>" | ">" | "[endif]-->" | "]>"' is not assignable to parameter of type 'ConcatArray'. - Type '""' is not assignable to type 'ConcatArray'. -src/language-html/printer-html.js(638,55): error TS2554: Expected 0 arguments, but got 1. -src/language-html/syntax-vue.js(14,11): error TS2339: Property 'left' does not exist on type '{ left: string; operator: any; right: any; } | undefined'. -src/language-html/syntax-vue.js(14,17): error TS2339: Property 'operator' does not exist on type '{ left: string; operator: any; right: any; } | undefined'. -src/language-html/syntax-vue.js(14,27): error TS2339: Property 'right' does not exist on type '{ left: string; operator: any; right: any; } | undefined'. -src/language-html/utils.js(10,30): error TS2307: Cannot find module 'html-tag-names'. -src/language-html/utils.js(11,39): error TS2307: Cannot find module 'html-element-attributes'. -src/language-html/utils.js(444,17): error TS2554: Expected 0 arguments, but got 1. -src/language-js/comments.js(867,64): error TS2554: Expected 0 arguments, but got 1. -src/language-js/index.js(9,26): error TS2307: Cannot find module 'linguist-languages/data/JavaScript'. -src/language-js/index.js(17,26): error TS2307: Cannot find module 'linguist-languages/data/JavaScript'. -src/language-js/index.js(28,26): error TS2307: Cannot find module 'linguist-languages/data/JSX'. -src/language-js/index.js(35,26): error TS2307: Cannot find module 'linguist-languages/data/TypeScript'. -src/language-js/index.js(42,26): error TS2307: Cannot find module 'linguist-languages/data/TSX'. -src/language-js/index.js(49,26): error TS2307: Cannot find module 'linguist-languages/data/JSON'. -src/language-js/index.js(59,26): error TS2307: Cannot find module 'linguist-languages/data/JSON'. -src/language-js/index.js(67,26): error TS2307: Cannot find module 'linguist-languages/data/JSON with Comments'. -src/language-js/index.js(75,26): error TS2307: Cannot find module 'linguist-languages/data/JSON5'. -src/language-js/needs-parens.js(893,14): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray<(childPath: any) => any>[]): ((childPath: any) => any)[]', gave the following error. - Argument of type '(string | number)[]' is not assignable to parameter of type 'ConcatArray<(childPath: any) => any>'. - The types returned by 'slice(...)' are incompatible between these types. - Type '(string | number)[]' is not assignable to type '((childPath: any) => any)[]'. - Type 'string | number' is not assignable to type '(childPath: any) => any'. - Type 'string' is not assignable to type '(childPath: any) => any'. - Overload 2 of 2, '(...items: (((childPath: any) => any) | ConcatArray<(childPath: any) => any>)[]): ((childPath: any) => any)[]', gave the following error. - Argument of type '(string | number)[]' is not assignable to parameter of type '((childPath: any) => any) | ConcatArray<(childPath: any) => any>'. - Type '(string | number)[]' is not assignable to type 'ConcatArray<(childPath: any) => any>'. -src/language-js/printer-estree.js(263,36): error TS2304: Cannot find name 'Doc'. -src/language-js/printer-estree.js(264,62): error TS2304: Cannot find name 'Doc'. -src/language-js/printer-estree.js(271,12): error TS2304: Cannot find name 'FastPath'. -src/language-js/printer-estree.js(272,12): error TS2304: Cannot find name 'Options'. -src/language-js/printer-estree.js(401,9): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray'. - Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray': length, join, slice - Overload 2 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray'. - Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray'. -src/language-js/printer-estree.js(1929,20): error TS2345: Argument of type '" "' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'. -src/language-js/printer-estree.js(1931,20): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'. - Type '{ type: string; parts: any; }' is missing the following properties from type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }': id, contents, break, expandedStates -src/language-js/printer-estree.js(1933,18): error TS2345: Argument of type '"while ("' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'. -src/language-js/printer-estree.js(1942,9): error TS2345: Argument of type '")"' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'. -src/language-js/printer-estree.js(3467,11): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray'. - Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray'. - Overload 2 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray'. - Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray'. -src/language-js/printer-estree.js(3817,22): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'. -src/language-js/printer-estree.js(4033,23): error TS2532: Object is possibly 'undefined'. -src/language-js/printer-estree.js(4034,24): error TS2532: Object is possibly 'undefined'. -src/language-js/printer-estree.js(4355,5): error TS2345: Argument of type '"" | { type: string; parts: any; } | { type: string; contents: any; }' is not assignable to parameter of type 'string'. - Type '{ type: string; parts: any; }' is not assignable to type 'string'. -src/language-js/printer-estree.js(4359,16): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'. -src/language-js/printer-estree.js(4407,11): error TS2322: Type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }' is not assignable to type 'string'. -src/language-js/printer-estree.js(4422,11): error TS2322: Type '{ type: string; parts: any; }' is not assignable to type 'string'. -src/language-js/printer-estree.js(4434,9): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'. -src/language-js/printer-estree.js(4712,9): error TS2554: Expected 0-2 arguments, but got 3. -src/language-js/printer-estree.js(5728,7): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray<(childPath: any) => any>[]): ((childPath: any) => any)[]', gave the following error. - Argument of type '(string | number)[]' is not assignable to parameter of type 'ConcatArray<(childPath: any) => any>'. - The types returned by 'slice(...)' are incompatible between these types. - Type '(string | number)[]' is not assignable to type '((childPath: any) => any)[]'. - Type 'string | number' is not assignable to type '(childPath: any) => any'. - Type 'string' is not assignable to type '(childPath: any) => any'. - Overload 2 of 2, '(...items: (((childPath: any) => any) | ConcatArray<(childPath: any) => any>)[]): ((childPath: any) => any)[]', gave the following error. - Argument of type '(string | number)[]' is not assignable to parameter of type '((childPath: any) => any) | ConcatArray<(childPath: any) => any>'. - Type '(string | number)[]' is not assignable to type 'ConcatArray<(childPath: any) => any>'. -src/language-js/utils.js(118,55): error TS2554: Expected 0-1 arguments, but got 2. -src/language-js/utils.js(417,14): error TS2339: Property 'comments' does not exist on type 'Expression'. - Property 'comments' does not exist on type 'Identifier'. -src/language-js/utils.js(429,7): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "AwaitExpression"' and '"OptionalMemberExpression"' have no overlap. -src/language-js/utils.js(434,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "AwaitExpression"' and '"OptionalMemberExpression"' have no overlap. -src/language-js/utils.js(437,16): error TS2339: Property 'property' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ... 16 more ... | AwaitExpression'. - Property 'property' does not exist on type 'SimpleLiteral'. -src/language-js/utils.js(438,16): error TS2339: Property 'property' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ... 16 more ... | AwaitExpression'. - Property 'property' does not exist on type 'SimpleLiteral'. -src/language-js/utils.js(439,16): error TS2339: Property 'property' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ... 16 more ... | AwaitExpression'. - Property 'property' does not exist on type 'SimpleLiteral'. -src/language-js/utils.js(440,16): error TS2339: Property 'property' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ... 16 more ... | AwaitExpression'. - Property 'property' does not exist on type 'SimpleLiteral'. -src/language-js/utils.js(444,21): error TS2339: Property 'object' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ... 16 more ... | AwaitExpression'. - Property 'object' does not exist on type 'SimpleLiteral'. -src/language-js/utils.js(445,18): error TS2339: Property 'comments' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ... 16 more ... | AwaitExpression'. - Property 'comments' does not exist on type 'SimpleLiteral'. -src/language-js/utils.js(450,11): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "AwaitExpression"' and '"Identifier"' have no overlap. -src/language-js/utils.js(450,41): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "AwaitExpression"' and '"ThisExpression"' have no overlap. -src/language-markdown/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/Markdown'. -src/language-markdown/index.js(17,26): error TS2307: Cannot find module 'linguist-languages/data/Markdown'. -src/language-markdown/printer-markdown.js(278,18): error TS2532: Object is possibly 'undefined'. -src/language-markdown/printer-markdown.js(279,17): error TS2532: Object is possibly 'undefined'. -src/language-markdown/printer-markdown.js(300,14): error TS2532: Object is possibly 'undefined'. -src/language-markdown/utils.js(203,5): error TS2322: Type 'never[]' is not assignable to type 'null'. -src/language-markdown/utils.js(213,47): error TS2345: Argument of type 'any[]' is not assignable to parameter of type 'null'. -src/language-yaml/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/YAML'. -src/language-yaml/printer-yaml.js(226,41): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '"" | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray'. - Type '""' is not assignable to type 'ConcatArray'. - Overload 2 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type '"" | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray'. - Type '""' is not assignable to type 'ConcatArray'. -src/main/core-options.js(117,9): error TS2322: Type '[{ since: string; value: string; }, { since: string; value: undefined; }]' is not assignable to type 'string | number | boolean | { since: string; value: string | number | boolean; }[] | [{ value: (string | number | boolean)[]; }]'. - Type '[{ since: string; value: string; }, { since: string; value: undefined; }]' is not assignable to type '[{ value: (string | number | boolean)[]; }]'. - Types of property '0' are incompatible. - Type '{ since: string; value: string; }' is not assignable to type '{ value: (string | number | boolean)[]; }'. - Object literal may only specify known properties, and 'since' does not exist in type '{ value: (string | number | boolean)[]; }'. -src/main/core-options.js(158,9): error TS2322: Type 'null' is not assignable to type 'string'. -src/main/core-options.js(250,9): error TS2322: Type '[{ since: string; value: false; }, { since: string; value: undefined; }]' is not assignable to type 'string | number | boolean | { since: string; value: string | number | boolean; }[] | [{ value: (string | number | boolean)[]; }]'. - Type '[{ since: string; value: false; }, { since: string; value: undefined; }]' is not assignable to type '[{ value: (string | number | boolean)[]; }]'. - Types of property '0' are incompatible. - Type '{ since: string; value: false; }' is not assignable to type '{ value: (string | number | boolean)[]; }'. - Object literal may only specify known properties, and 'since' does not exist in type '{ value: (string | number | boolean)[]; }'. -src/main/core.js(303,34): error TS2538: Type 'false' cannot be used as an index type. -src/main/core.js(303,47): error TS2538: Type 'false' cannot be used as an index type. -src/main/core.js(308,28): error TS2538: Type 'false' cannot be used as an index type. -src/main/core.js(308,72): error TS2538: Type 'false' cannot be used as an index type. -src/main/core.js(316,14): error TS2538: Type 'false' cannot be used as an index type. -src/main/options-normalizer.js(35,35): error TS2339: Property 'yellow' does not exist on type 'typeof import("/prettier/prettier/node_modules/chalk/types/index")'. -src/main/options-normalizer.js(36,35): error TS2339: Property 'blue' does not exist on type 'typeof import("/prettier/prettier/node_modules/chalk/types/index")'. -src/main/options-normalizer.js(54,5): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -src/main/options-normalizer.js(74,16): error TS2341: Property '_hasDeprecationWarned' is private and only accessible within class 'Normalizer'. -src/main/options-normalizer.js(80,39): error TS2341: Property '_hasDeprecationWarned' is private and only accessible within class 'Normalizer'. -src/main/options-normalizer.js(99,11): error TS2345: Argument of type '{ name: any; sourceName: any; }' is not assignable to parameter of type 'SchemaHandlers'. - Object literal may only specify known properties, and 'name' does not exist in type 'SchemaHandlers'. -src/main/options-normalizer.js(143,13): error TS2769: No overload matches this call. - Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type 'string | never[]' is not assignable to parameter of type 'ConcatArray'. - Type 'string' is not assignable to type 'ConcatArray'. - Overload 2 of 2, '(...items: ConcatArray[]): never[]', gave the following error. - Argument of type 'string | never[]' is not assignable to parameter of type 'ConcatArray'. - Type 'string' is not assignable to type 'ConcatArray'. -src/main/options-normalizer.js(198,51): error TS2559: Type '{ name: any; }' has no properties in common with type 'SchemaHandlers'. -src/main/parser.js(21,44): error TS2345: Argument of type 'PropertyDescriptor | undefined' is not assignable to parameter of type 'PropertyDescriptor & ThisType'. - Type 'undefined' is not assignable to type 'PropertyDescriptor & ThisType'. - Type 'undefined' is not assignable to type 'PropertyDescriptor'. -src/main/support.js(5,32): error TS2732: Cannot find module '../../package.json'. Consider using '--resolveJsonModule' to import module with '.json' extension -src/main/support.js(38,24): error TS2339: Property 'name' does not exist on type 'never'. -src/main/support.js(38,35): error TS2339: Property 'name' does not exist on type 'never'. -src/main/support.js(38,48): error TS2339: Property 'name' does not exist on type 'never'. -src/main/support.js(38,57): error TS2339: Property 'name' does not exist on type 'never'. -src/standalone.js(3,25): error TS2732: Cannot find module '../package.json'. Consider using '--resolveJsonModule' to import module with '.json' extension - - - -Standard error: diff --git a/tests/baselines/reference/user/uglify-js.log b/tests/baselines/reference/user/uglify-js.log index 3fff1008d8b5e..c14a0e8f6fc6a 100644 --- a/tests/baselines/reference/user/uglify-js.log +++ b/tests/baselines/reference/user/uglify-js.log @@ -9,66 +9,68 @@ node_modules/uglify-js/lib/ast.js(968,25): error TS2339: Property 'self' does no node_modules/uglify-js/lib/ast.js(969,37): error TS2339: Property 'parent' does not exist on type 'TreeWalker'. node_modules/uglify-js/lib/ast.js(985,31): error TS2339: Property 'parent' does not exist on type 'TreeWalker'. node_modules/uglify-js/lib/ast.js(989,29): error TS2339: Property 'parent' does not exist on type 'TreeWalker'. -node_modules/uglify-js/lib/compress.js(184,42): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(535,41): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(861,33): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1122,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1138,51): error TS2349: This expression is not callable. +node_modules/uglify-js/lib/compress.js(185,42): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(536,41): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(862,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1124,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1140,51): error TS2349: This expression is not callable. Not all constituents of type 'true | ((node: any) => any)' are callable. Type 'true' has no call signatures. -node_modules/uglify-js/lib/compress.js(1202,53): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1244,112): error TS2454: Variable 'args' is used before being assigned. -node_modules/uglify-js/lib/compress.js(1245,29): error TS2532: Object is possibly 'undefined'. -node_modules/uglify-js/lib/compress.js(1254,87): error TS2322: Type 'false' is not assignable to type 'number'. -node_modules/uglify-js/lib/compress.js(1262,29): error TS2322: Type 'false' is not assignable to type 'never'. -node_modules/uglify-js/lib/compress.js(1371,53): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1472,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1552,42): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1585,41): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1706,49): error TS2345: Argument of type 'number[]' is not assignable to parameter of type '[number, number, ...never[]]'. +node_modules/uglify-js/lib/compress.js(1204,53): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1246,112): error TS2454: Variable 'args' is used before being assigned. +node_modules/uglify-js/lib/compress.js(1247,29): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(1256,87): error TS2322: Type 'false' is not assignable to type 'number'. +node_modules/uglify-js/lib/compress.js(1264,29): error TS2322: Type 'false' is not assignable to type 'never'. +node_modules/uglify-js/lib/compress.js(1373,53): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1474,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1554,42): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1587,41): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1708,49): error TS2345: Argument of type 'number[]' is not assignable to parameter of type '[number, number, ...never[]]'. Type 'number[]' is missing the following properties from type '[number, number, ...never[]]': 0, 1 -node_modules/uglify-js/lib/compress.js(2029,59): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(2067,53): error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[number, number, ...never[]]'. +node_modules/uglify-js/lib/compress.js(2038,59): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(2076,53): error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[number, number, ...never[]]'. Type 'any[]' is missing the following properties from type '[number, number, ...never[]]': 0, 1 -node_modules/uglify-js/lib/compress.js(2215,34): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(2913,55): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. -node_modules/uglify-js/lib/compress.js(2914,25): error TS2531: Object is possibly 'null'. -node_modules/uglify-js/lib/compress.js(2914,55): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. -node_modules/uglify-js/lib/compress.js(2914,56): error TS2531: Object is possibly 'null'. -node_modules/uglify-js/lib/compress.js(2955,42): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3409,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3433,33): error TS2322: Type '"f"' is not assignable to type 'boolean'. -node_modules/uglify-js/lib/compress.js(3567,33): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3620,29): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3638,29): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3663,75): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3738,63): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3863,12): error TS2339: Property 'push' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3942,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3963,24): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3973,28): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(4207,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. -node_modules/uglify-js/lib/compress.js(4270,45): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4381,33): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4679,17): error TS2403: Subsequent variable declarations must have the same type. Variable 'body' must be of type 'any[]', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(4763,37): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4971,57): error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[string | RegExp, (string | undefined)?]'. +node_modules/uglify-js/lib/compress.js(2224,34): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(2922,55): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +node_modules/uglify-js/lib/compress.js(2923,25): error TS2531: Object is possibly 'null'. +node_modules/uglify-js/lib/compress.js(2923,55): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. +node_modules/uglify-js/lib/compress.js(2923,56): error TS2531: Object is possibly 'null'. +node_modules/uglify-js/lib/compress.js(2964,42): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3044,33): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(3447,38): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3473,29): error TS2322: Type '"f"' is not assignable to type 'boolean'. +node_modules/uglify-js/lib/compress.js(3606,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3659,29): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3677,29): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3702,75): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3777,63): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3902,12): error TS2339: Property 'push' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3981,38): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4002,24): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(4012,28): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(4246,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. +node_modules/uglify-js/lib/compress.js(4309,45): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4420,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4617,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4763,17): error TS2403: Subsequent variable declarations must have the same type. Variable 'body' must be of type 'any[]', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(4848,37): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5056,57): error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[string | RegExp, (string | undefined)?]'. Property '0' is missing in type 'any[]' but required in type '[string | RegExp, (string | undefined)?]'. -node_modules/uglify-js/lib/compress.js(5135,45): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(5142,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'code' must be of type 'string', but here has type '{ get: () => string; toString: () => string; indent: () => void; indentation: () => number; current_width: () => number; should_break: () => boolean; has_parens: () => boolean; newline: () => void; print: (str: any) => void; ... 23 more ...; parent: (n: any) => any; }'. -node_modules/uglify-js/lib/compress.js(5146,36): error TS2532: Object is possibly 'undefined'. -node_modules/uglify-js/lib/compress.js(5151,41): error TS2339: Property 'get' does not exist on type 'string'. -node_modules/uglify-js/lib/compress.js(5668,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned. -node_modules/uglify-js/lib/compress.js(6203,25): error TS2367: This condition will always return 'false' since the types 'boolean' and 'string' have no overlap. -node_modules/uglify-js/lib/compress.js(6231,47): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6306,39): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6378,39): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6384,41): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6829,43): error TS2454: Variable 'property' is used before being assigned. -node_modules/uglify-js/lib/compress.js(6844,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(6847,46): error TS2339: Property 'has_side_effects' does not exist on type 'number'. -node_modules/uglify-js/lib/compress.js(6853,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(6891,34): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5220,45): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5227,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'code' must be of type 'string', but here has type '{ get: () => string; toString: () => string; indent: () => void; indentation: () => number; current_width: () => number; should_break: () => boolean; has_parens: () => boolean; newline: () => void; print: (str: any) => void; ... 23 more ...; parent: (n: any) => any; }'. +node_modules/uglify-js/lib/compress.js(5231,36): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(5236,41): error TS2339: Property 'get' does not exist on type 'string'. +node_modules/uglify-js/lib/compress.js(5753,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned. +node_modules/uglify-js/lib/compress.js(6303,25): error TS2367: This condition will always return 'false' since the types 'boolean' and 'string' have no overlap. +node_modules/uglify-js/lib/compress.js(6331,47): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6406,39): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6478,39): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6484,41): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6944,43): error TS2454: Variable 'property' is used before being assigned. +node_modules/uglify-js/lib/compress.js(6959,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(6962,46): error TS2339: Property 'has_side_effects' does not exist on type 'number'. +node_modules/uglify-js/lib/compress.js(6968,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(7006,34): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/minify.js(186,75): error TS2339: Property 'compress' does not exist on type 'Compressor'. node_modules/uglify-js/lib/mozilla-ast.js(566,33): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/output.js(232,25): error TS2554: Expected 0 arguments, but got 2. @@ -96,12 +98,12 @@ node_modules/uglify-js/lib/parse.js(950,23): error TS2345: Argument of type 'any node_modules/uglify-js/lib/parse.js(1064,9): error TS2322: Type 'any[]' is not assignable to type 'never[]'. Type 'any' is not assignable to type 'never'. node_modules/uglify-js/lib/parse.js(1121,17): error TS2531: Object is possibly 'null'. -node_modules/uglify-js/lib/parse.js(1289,32): error TS2531: Object is possibly 'null'. -node_modules/uglify-js/lib/parse.js(1389,20): error TS2531: Object is possibly 'null'. -node_modules/uglify-js/lib/parse.js(1395,20): error TS2531: Object is possibly 'null'. -node_modules/uglify-js/lib/parse.js(1481,48): error TS2531: Object is possibly 'null'. -node_modules/uglify-js/lib/parse.js(1507,35): error TS2531: Object is possibly 'null'. -node_modules/uglify-js/lib/parse.js(1552,52): error TS2531: Object is possibly 'null'. +node_modules/uglify-js/lib/parse.js(1291,32): error TS2531: Object is possibly 'null'. +node_modules/uglify-js/lib/parse.js(1391,20): error TS2531: Object is possibly 'null'. +node_modules/uglify-js/lib/parse.js(1397,20): error TS2531: Object is possibly 'null'. +node_modules/uglify-js/lib/parse.js(1483,48): error TS2531: Object is possibly 'null'. +node_modules/uglify-js/lib/parse.js(1509,35): error TS2531: Object is possibly 'null'. +node_modules/uglify-js/lib/parse.js(1554,52): error TS2531: Object is possibly 'null'. node_modules/uglify-js/lib/propmangle.js(69,18): error TS2339: Property 'prototype' does not exist on type 'ObjectConstructor | FunctionConstructor | StringConstructor | BooleanConstructor | NumberConstructor | ... 4 more ... | ArrayConstructor'. Property 'prototype' does not exist on type 'Math'. node_modules/uglify-js/lib/propmangle.js(70,45): error TS2339: Property 'prototype' does not exist on type 'ObjectConstructor | FunctionConstructor | StringConstructor | BooleanConstructor | NumberConstructor | ... 4 more ... | ArrayConstructor'. diff --git a/tests/cases/compiler/asyncFunctionReturnType.ts b/tests/cases/compiler/asyncFunctionReturnType.ts index 3bd7a0e998ac2..0deeae118fbf9 100644 --- a/tests/cases/compiler/asyncFunctionReturnType.ts +++ b/tests/cases/compiler/asyncFunctionReturnType.ts @@ -67,10 +67,10 @@ async function fGenericIndexedTypeForKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise ? U : TObj[K]> { return Promise.resolve(obj[key]); } -async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise { +async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj: TObj, key: K): Promise ? U : TObj[K]> { return Promise.resolve(obj[key]); -} \ No newline at end of file +} diff --git a/tests/cases/compiler/correctOrderOfPromiseMethod.ts b/tests/cases/compiler/correctOrderOfPromiseMethod.ts index 70c730c6b20b1..6c7136f062b35 100644 --- a/tests/cases/compiler/correctOrderOfPromiseMethod.ts +++ b/tests/cases/compiler/correctOrderOfPromiseMethod.ts @@ -17,7 +17,7 @@ async function countEverything(): Promise { const [resultA, resultB] = await Promise.all([ providerA(), providerB(), - ] as const); + ]); const dataA: A[] = resultA; const dataB: B[] = resultB; @@ -26,3 +26,7 @@ async function countEverything(): Promise { } return 0; } + +// #31179 + +const result: Promise<[0, 1, '']> = Promise.all(undefined as readonly [0, 1, '']); diff --git a/tests/cases/compiler/promiseType.ts b/tests/cases/compiler/promiseType.ts index ba4a7f6041396..dfc37be05f36d 100644 --- a/tests/cases/compiler/promiseType.ts +++ b/tests/cases/compiler/promiseType.ts @@ -217,3 +217,15 @@ const pc6 = p.then(() => Promise.reject("1"), () => {}); const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); + +const result: undefined = undefined as Awaited; + +// #28427 + +Promise.all([undefined as Promise | string]); + +Promise.resolve(undefined as Promise | string); + +// #30390 + +(undefined as Promise).then(undefined as () => Promise | string);