From 88254eb7d21b3b7fafc5409c46f9a9527e4d4870 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Sun, 25 Aug 2019 08:28:50 -0700 Subject: [PATCH] Better typings for Promise.resolve(), like #31117 --- src/lib/es2015.promise.d.ts | 2 +- .../reference/asyncArrowFunction11_es5.types | 4 +- .../reference/asyncFunctionReturnType.js | 7 +- .../reference/asyncFunctionReturnType.symbols | 15 +++- .../reference/asyncFunctionReturnType.types | 57 ++++++------ .../awaitCallExpressionInSyncFunction.types | 4 +- .../classStaticBlock23(target=es2022).types | 4 +- .../classStaticBlock23(target=esnext).types | 4 +- .../es5-asyncFunctionLongObjectLiteral.types | 60 ++++++------- .../exportDefaultAsyncFunction2.types | 4 +- .../generatorReturnContextualType.types | 8 +- .../reference/genericFunctionInference1.types | 4 +- ...inferFromGenericFunctionReturnTypes3.types | 4 +- .../instantiateContextualTypes.types | 12 +-- .../intersectionWithConflictingPrivates.types | 4 +- ...jsDeclarationsJSDocRedirectedLookups.types | 4 +- .../jsFileCompilationAwaitModifier.types | 8 +- .../jsdocArrayObjectPromiseImplicitAny.types | 8 +- ...jsdocArrayObjectPromiseNoImplicitAny.types | 8 +- .../reference/noImplicitReturnsInAsync1.types | 4 +- .../reference/privateNameMethodAsync.types | 8 +- .../privateNameStaticMethodAsync.types | 8 +- tests/baselines/reference/promiseType.types | 88 +++++++++---------- .../reference/promiseTypeStrictNull.types | 88 +++++++++---------- .../reference/promiseVoidErrorCallback.types | 4 +- ...Await.1(module=es2022,target=es2015).types | 4 +- ...Await.1(module=es2022,target=es2017).types | 4 +- ...Await.1(module=esnext,target=es2015).types | 4 +- ...Await.1(module=esnext,target=es2017).types | 4 +- ...Await.1(module=system,target=es2015).types | 4 +- ...Await.1(module=system,target=es2017).types | 4 +- ...opLevelAwaitNonModule(module=es2022).types | 4 +- ...opLevelAwaitNonModule(module=esnext).types | 4 +- .../transformNestedGeneratorsWithTry.types | 4 +- .../types.asyncGenerators.es2018.1.types | 64 +++++++------- .../types.asyncGenerators.es2018.2.types | 4 +- .../unionAndIntersectionInference1.types | 4 +- tests/baselines/reference/uniqueSymbols.types | 4 +- .../reference/uniqueSymbolsDeclarations.types | 4 +- tests/baselines/reference/user/fp-ts.log | 12 +++ .../cases/compiler/asyncFunctionReturnType.ts | 6 +- 41 files changed, 290 insertions(+), 265 deletions(-) create mode 100644 tests/baselines/reference/user/fp-ts.log diff --git a/src/lib/es2015.promise.d.ts b/src/lib/es2015.promise.d.ts index ac8f36de4b911..e13518a92f312 100644 --- a/src/lib/es2015.promise.d.ts +++ b/src/lib/es2015.promise.d.ts @@ -52,7 +52,7 @@ 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 ? U : T>; } declare var Promise: PromiseConstructor; diff --git a/tests/baselines/reference/asyncArrowFunction11_es5.types b/tests/baselines/reference/asyncArrowFunction11_es5.types index ac144c61b8b87..2948485e1b32c 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } const obj = { ["a"]: () => this }; // computed property name after `await` triggers case >obj : { a: () => this; } diff --git a/tests/baselines/reference/asyncFunctionReturnType.js b/tests/baselines/reference/asyncFunctionReturnType.js index 04b3a04a036d3..30826de671fe7 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..f954b79555bf9 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,11 @@ 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)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) +>U : Symbol(U, Decl(asyncFunctionReturnType.ts, 68, 153)) +>U : Symbol(U, Decl(asyncFunctionReturnType.ts, 68, 153)) +>TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 68, 52)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 68, 69)) return Promise.resolve(obj[key]); @@ -262,7 +267,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 +279,11 @@ 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)) +>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --)) +>U : Symbol(U, Decl(asyncFunctionReturnType.ts, 72, 161)) +>U : Symbol(U, Decl(asyncFunctionReturnType.ts, 72, 161)) +>TObj : Symbol(TObj, Decl(asyncFunctionReturnType.ts, 72, 60)) >K : Symbol(K, Decl(asyncFunctionReturnType.ts, 72, 77)) return Promise.resolve(obj[key]); @@ -285,3 +295,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 3c48607ce516c..3b51419ee0621 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >obj.stringProp : string >obj : Obj >stringProp : string @@ -82,9 +82,9 @@ async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): PromisePromise.resolve(obj.anyProp) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve(obj.stringProp) : Promise ? U : TObj["stringProp"]> +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve(obj.anyProp) : Promise ? U : TObj["anyProp"]> +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve(obj[key]) : Promise ? U : TObj[K]> +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve(obj[key]) : Promise ? U : TObj[K]> +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >obj[key] : TObj[K] >obj : TObj >key : K } + diff --git a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types index d3aeb8a72368f..952e06b7b80ec 100644 --- a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types +++ b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types @@ -7,9 +7,9 @@ function foo() { >await(Promise.resolve(1)) : any >await : any >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 return foo; diff --git a/tests/baselines/reference/classStaticBlock23(target=es2022).types b/tests/baselines/reference/classStaticBlock23(target=es2022).types index 421336fa087c9..28a9fa0e9c491 100644 --- a/tests/baselines/reference/classStaticBlock23(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock23(target=es2022).types @@ -11,9 +11,9 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >n => Promise.resolve(n) : (n: number) => Promise >n : number >Promise.resolve(n) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >n : number class C { diff --git a/tests/baselines/reference/classStaticBlock23(target=esnext).types b/tests/baselines/reference/classStaticBlock23(target=esnext).types index 421336fa087c9..28a9fa0e9c491 100644 --- a/tests/baselines/reference/classStaticBlock23(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock23(target=esnext).types @@ -11,9 +11,9 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >n => Promise.resolve(n) : (n: number) => Promise >n : number >Promise.resolve(n) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >n : number class C { diff --git a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types index cd05ad7f3e965..27c240b9d1ec6 100644 --- a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types +++ b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types @@ -12,45 +12,45 @@ const fooShort = async () => { >a : number >await Promise.resolve(0) : number >Promise.resolve(0) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >0 : 0 b: await Promise.resolve(1), >b : number >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 c: await Promise.resolve(2), >c : number >await Promise.resolve(2) : number >Promise.resolve(2) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >2 : 2 d: await Promise.resolve(3), >d : number >await Promise.resolve(3) : number >Promise.resolve(3) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >3 : 3 e: await Promise.resolve(4), >e : number >await Promise.resolve(4) : number >Promise.resolve(4) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >4 : 4 }; @@ -67,90 +67,90 @@ const fooLong = async () => { >a : number >await Promise.resolve(0) : number >Promise.resolve(0) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >0 : 0 b: await Promise.resolve(1), >b : number >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 c: await Promise.resolve(2), >c : number >await Promise.resolve(2) : number >Promise.resolve(2) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >2 : 2 d: await Promise.resolve(3), >d : number >await Promise.resolve(3) : number >Promise.resolve(3) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >3 : 3 e: await Promise.resolve(4), >e : number >await Promise.resolve(4) : number >Promise.resolve(4) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >4 : 4 f: await Promise.resolve(5), >f : number >await Promise.resolve(5) : number >Promise.resolve(5) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >5 : 5 g: await Promise.resolve(6), >g : number >await Promise.resolve(6) : number >Promise.resolve(6) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >6 : 6 h: await Promise.resolve(7), >h : number >await Promise.resolve(7) : number >Promise.resolve(7) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >7 : 7 i: await Promise.resolve(8), >i : number >await Promise.resolve(8) : number >Promise.resolve(8) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >8 : 8 j: await Promise.resolve(9), >j : number >await Promise.resolve(9) : number >Promise.resolve(9) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >9 : 9 }; diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.types b/tests/baselines/reference/exportDefaultAsyncFunction2.types index 4a3a20286db70..f1e3c01f47c22 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 === tests/cases/compiler/b.ts === diff --git a/tests/baselines/reference/generatorReturnContextualType.types b/tests/baselines/reference/generatorReturnContextualType.types index 4731414abb876..b1c2b2b07799f 100644 --- a/tests/baselines/reference/generatorReturnContextualType.types +++ b/tests/baselines/reference/generatorReturnContextualType.types @@ -27,9 +27,9 @@ async function* f3(): AsyncGenerator { return Promise.resolve({ x: 'x' }); >Promise.resolve({ x: 'x' }) : Promise<{ x: "x"; }> ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >{ x: 'x' } : { x: "x"; } >x : "x" >'x' : "x" @@ -47,9 +47,9 @@ async function* f4(): AsyncGenerator { return Promise.resolve(ret); // Error >Promise.resolve(ret) : Promise<{ x: string; }> ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >ret : { x: string; } } diff --git a/tests/baselines/reference/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types index 9ce0b1b2b24bb..59e794292fa7c 100644 --- a/tests/baselines/reference/genericFunctionInference1.types +++ b/tests/baselines/reference/genericFunctionInference1.types @@ -835,9 +835,9 @@ const fn30: Fn = pipe( const promise = Promise.resolve(1); >promise : Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 promise.then( diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types index bd2164e99e1d6..784d822dbfa1e 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >true : true } diff --git a/tests/baselines/reference/instantiateContextualTypes.types b/tests/baselines/reference/instantiateContextualTypes.types index ff6154c78589c..490b68e4791dd 100644 --- a/tests/baselines/reference/instantiateContextualTypes.types +++ b/tests/baselines/reference/instantiateContextualTypes.types @@ -342,9 +342,9 @@ class Interesting { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; }) : Promise<"SOMETHING" | "ELSE"> >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; } : () => "SOMETHING" | "ELSE" @@ -369,9 +369,9 @@ class Interesting { >Promise.resolve().then(() => { return 'ELSE'; }) : Promise<"SOMETHING" | "ELSE"> >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => { return 'ELSE'; } : () => "ELSE" @@ -388,9 +388,9 @@ class Interesting { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; }) : Promise<"SOMETHING" | "ELSE"> >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; } : () => "SOMETHING" diff --git a/tests/baselines/reference/intersectionWithConflictingPrivates.types b/tests/baselines/reference/intersectionWithConflictingPrivates.types index 62861bb4ec597..20db51a84e164 100644 --- a/tests/baselines/reference/intersectionWithConflictingPrivates.types +++ b/tests/baselines/reference/intersectionWithConflictingPrivates.types @@ -144,9 +144,9 @@ class Foo { return Promise.resolve(undefined); >Promise.resolve(undefined) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >undefined : undefined } } diff --git a/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types b/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types index f86bca410ef66..8b3013ae0fad6 100644 --- a/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types +++ b/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types @@ -43,9 +43,9 @@ /** @type {promise} */const j = Promise.resolve(0); >j : Promise >Promise.resolve(0) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >0 : 0 /** @type {Object} */const k = {x: "x"}; diff --git a/tests/baselines/reference/jsFileCompilationAwaitModifier.types b/tests/baselines/reference/jsFileCompilationAwaitModifier.types index 3cbc18ccbd10b..aa3330d72d616 100644 --- a/tests/baselines/reference/jsFileCompilationAwaitModifier.types +++ b/tests/baselines/reference/jsFileCompilationAwaitModifier.types @@ -8,9 +8,9 @@ class Foo { await Promise.resolve(1); >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 } @@ -21,9 +21,9 @@ class Foo { await Promise.resolve(1); >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 } } diff --git a/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types b/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types index 3e7a475d66aee..0433e6045c42e 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >5 : 5 /** @type {Promise} */ var numberPromise = Promise.resolve(5); >numberPromise : Promise >Promise.resolve(5) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >5 : 5 /** diff --git a/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types b/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types index 875f56ad9ca59..756bf23664ee2 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >5 : 5 /** @type {Promise} */ var numberPromise = Promise.resolve(5); >numberPromise : Promise >Promise.resolve(5) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >5 : 5 /** diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.types b/tests/baselines/reference/noImplicitReturnsInAsync1.types index d6ae47e213ff7..58ab8b2deea78 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"The test is passed without an error." : "The test is passed without an error." } diff --git a/tests/baselines/reference/privateNameMethodAsync.types b/tests/baselines/reference/privateNameMethodAsync.types index 3ac547af0404c..4083784205156 100644 --- a/tests/baselines/reference/privateNameMethodAsync.types +++ b/tests/baselines/reference/privateNameMethodAsync.types @@ -7,9 +7,9 @@ const C = class { >#bar : () => Promise >await Promise.resolve(42) : number >Promise.resolve(42) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >42 : 42 async foo() { @@ -64,9 +64,9 @@ const C = class { >(await Promise.resolve(42)) : number >await Promise.resolve(42) : number >Promise.resolve(42) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >42 : 42 } } diff --git a/tests/baselines/reference/privateNameStaticMethodAsync.types b/tests/baselines/reference/privateNameStaticMethodAsync.types index 6da52fd602fc2..0b8f097eddedb 100644 --- a/tests/baselines/reference/privateNameStaticMethodAsync.types +++ b/tests/baselines/reference/privateNameStaticMethodAsync.types @@ -7,9 +7,9 @@ const C = class { >#bar : () => Promise >await Promise.resolve(42) : number >Promise.resolve(42) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >42 : 42 static async foo() { @@ -64,9 +64,9 @@ const C = class { >(await Promise.resolve(42)) : number >await Promise.resolve(42) : number >Promise.resolve(42) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >42 : 42 } async static *#bazBad() { yield 42; } diff --git a/tests/baselines/reference/promiseType.types b/tests/baselines/reference/promiseType.types index c459a02d36b13..529522b58876a 100644 --- a/tests/baselines/reference/promiseType.types +++ b/tests/baselines/reference/promiseType.types @@ -283,9 +283,9 @@ const p19 = p.catch(() => Promise.resolve(1)); >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p20 = p.then(undefined); @@ -365,9 +365,9 @@ const p28 = p.then(() => Promise.resolve(1)); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p29 = p.then(() => Promise.reject(1)); @@ -469,9 +469,9 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p39 = p.then(undefined, () => Promise.reject(1)); @@ -574,9 +574,9 @@ const p48 = p.then(null, () => Promise.resolve(1)); >null : null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p49 = p.then(null, () => Promise.reject(1)); @@ -688,9 +688,9 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p59 = p.then(() => "1", () => Promise.reject(1)); @@ -803,9 +803,9 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >x : any >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p69 = p.then(() => x, () => Promise.reject(1)); @@ -918,9 +918,9 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p79 = p.then(() => undefined, () => Promise.reject(1)); @@ -1033,9 +1033,9 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >null : null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p89 = p.then(() => null, () => Promise.reject(1)); @@ -1139,9 +1139,9 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >() => {} : () => void >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p99 = p.then(() => {}, () => Promise.reject(1)); @@ -1253,9 +1253,9 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >1 : 1 >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); @@ -1281,9 +1281,9 @@ const pb0 = p.then(() => Promise.resolve("1"), undefined); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >undefined : undefined @@ -1295,9 +1295,9 @@ const pb1 = p.then(() => Promise.resolve("1"), null); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >null : null @@ -1309,9 +1309,9 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => 1 : () => number >1 : 1 @@ -1324,9 +1324,9 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => x : () => any >x : any @@ -1339,9 +1339,9 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => undefined : () => any >undefined : undefined @@ -1354,9 +1354,9 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => null : () => any >null : null @@ -1369,9 +1369,9 @@ const pb6 = p.then(() => Promise.resolve("1"), () => {}); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => {} : () => void @@ -1383,9 +1383,9 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => {throw 1} : () => never >1 : 1 @@ -1398,15 +1398,15 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); @@ -1417,9 +1417,9 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -1559,9 +1559,9 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); diff --git a/tests/baselines/reference/promiseTypeStrictNull.types b/tests/baselines/reference/promiseTypeStrictNull.types index 97038aeb4e533..649982ea23236 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.types +++ b/tests/baselines/reference/promiseTypeStrictNull.types @@ -283,9 +283,9 @@ const p19 = p.catch(() => Promise.resolve(1)); >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p20 = p.then(undefined); @@ -365,9 +365,9 @@ const p28 = p.then(() => Promise.resolve(1)); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p29 = p.then(() => Promise.reject(1)); @@ -469,9 +469,9 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p39 = p.then(undefined, () => Promise.reject(1)); @@ -574,9 +574,9 @@ const p48 = p.then(null, () => Promise.resolve(1)); >null : null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p49 = p.then(null, () => Promise.reject(1)); @@ -688,9 +688,9 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p59 = p.then(() => "1", () => Promise.reject(1)); @@ -803,9 +803,9 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >x : any >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p69 = p.then(() => x, () => Promise.reject(1)); @@ -918,9 +918,9 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p79 = p.then(() => undefined, () => Promise.reject(1)); @@ -1033,9 +1033,9 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >null : null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p89 = p.then(() => null, () => Promise.reject(1)); @@ -1139,9 +1139,9 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >() => {} : () => void >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const p99 = p.then(() => {}, () => Promise.reject(1)); @@ -1253,9 +1253,9 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >1 : 1 >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); @@ -1281,9 +1281,9 @@ const pb0 = p.then(() => Promise.resolve("1"), undefined); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >undefined : undefined @@ -1295,9 +1295,9 @@ const pb1 = p.then(() => Promise.resolve("1"), null); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >null : null @@ -1309,9 +1309,9 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => 1 : () => number >1 : 1 @@ -1324,9 +1324,9 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => x : () => any >x : any @@ -1339,9 +1339,9 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => undefined : () => undefined >undefined : undefined @@ -1354,9 +1354,9 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => null : () => null >null : null @@ -1369,9 +1369,9 @@ const pb6 = p.then(() => Promise.resolve("1"), () => {}); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => {} : () => void @@ -1383,9 +1383,9 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => {throw 1} : () => never >1 : 1 @@ -1398,15 +1398,15 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); @@ -1417,9 +1417,9 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -1559,9 +1559,9 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >1 : 1 const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); diff --git a/tests/baselines/reference/promiseVoidErrorCallback.types b/tests/baselines/reference/promiseVoidErrorCallback.types index b7539cdbf1d89..086b212a7d4b0 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >{ __t1: "foo_t1" } : { __t1: string; } >__t1 : string >"foo_t1" : "foo_t1" diff --git a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types index c3d2a0c0a9bb5..dda585fe2ef89 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types @@ -181,9 +181,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types index c3d2a0c0a9bb5..dda585fe2ef89 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types @@ -181,9 +181,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types index c3d2a0c0a9bb5..dda585fe2ef89 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types @@ -181,9 +181,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types index c3d2a0c0a9bb5..dda585fe2ef89 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types @@ -181,9 +181,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types index c3d2a0c0a9bb5..dda585fe2ef89 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types @@ -181,9 +181,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types index c3d2a0c0a9bb5..dda585fe2ef89 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types @@ -181,9 +181,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types b/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types index a6d2b7ed32c07..49699faededed 100644 --- a/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types +++ b/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types @@ -7,9 +7,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types b/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types index a6d2b7ed32c07..49699faededed 100644 --- a/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types +++ b/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types @@ -7,9 +7,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/transformNestedGeneratorsWithTry.types b/tests/baselines/reference/transformNestedGeneratorsWithTry.types index cc6b2288391c0..6514bee673614 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Bluebird.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Bluebird : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } } 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 10f961da0a2bf..4dc65ed11a726 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >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 15e7936ba6351..303107be89e38 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >[1, 2] : number[] >1 : 1 >2 : 2 diff --git a/tests/baselines/reference/unionAndIntersectionInference1.types b/tests/baselines/reference/unionAndIntersectionInference1.types index 51683684f2a57..2cc92015f0f6f 100644 --- a/tests/baselines/reference/unionAndIntersectionInference1.types +++ b/tests/baselines/reference/unionAndIntersectionInference1.types @@ -192,9 +192,9 @@ const createTestAsync = (): Promise => Promise.resolve().then(() => ({ na >Promise.resolve().then(() => ({ name: 'test' })) : Promise >Promise.resolve().then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => ({ name: 'test' }) : () => { name: "test"; } >({ name: 'test' }) : { name: "test"; } diff --git a/tests/baselines/reference/uniqueSymbols.types b/tests/baselines/reference/uniqueSymbols.types index 4a89412efae38..1905911aeb278 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >constCall : unique symbol const arrayOfConstCall = [constCall]; diff --git a/tests/baselines/reference/uniqueSymbolsDeclarations.types b/tests/baselines/reference/uniqueSymbolsDeclarations.types index 56ab89dea9cf1..a2b3b955428ac 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 : { (): Promise; (value: T | PromiseLike): Promise; } +>Promise.resolve : { (): Promise; (value: T): Promise ? U : T>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T | PromiseLike): Promise; } +>resolve : { (): Promise; (value: T): Promise ? U : T>; } >constCall : unique symbol const arrayOfConstCall = [constCall]; diff --git a/tests/baselines/reference/user/fp-ts.log b/tests/baselines/reference/user/fp-ts.log new file mode 100644 index 0000000000000..202a60ba3dd17 --- /dev/null +++ b/tests/baselines/reference/user/fp-ts.log @@ -0,0 +1,12 @@ +Exit Code: 1 +Standard output: +src/Task.ts(90,16): error TS2322: Type 'Promise ? U : A>' is not assignable to type 'Promise'. + Type 'A extends PromiseLike ? U : A' is not assignable to type 'A'. + Type 'unknown' is not assignable to type 'A'. +src/Task.ts(99,16): error TS2322: Type 'Promise ? U : A>' is not assignable to type 'Promise'. + Type 'A extends PromiseLike ? U : A' is not assignable to type 'A'. + Type 'unknown' is not assignable to type 'A'. + + + +Standard error: diff --git a/tests/cases/compiler/asyncFunctionReturnType.ts b/tests/cases/compiler/asyncFunctionReturnType.ts index 3bd7a0e998ac2..2abc768a6c557 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 +}