Comments (10)
What's the practical difference to #42
I think that's difference. It's just a combination of them:
Unpromise<ReturnType<typeof asyncFunction>>
ResolvedType<typeof asyncFunction>
Funny thing is that all the examples in #38 and #42 are exactly:
Unpromise<ReturnType<typeof asyncFunction>>
So perhaps ResolvedType
makes more sense than a standalone Unpromise
.
Also maybe it should be called AsyncReturnType
instead of ResolvedType
from type-fest.
PR welcome for
AsyncReturnType
.
@sindresorhus Since you're accepting PRs for this, do you want me to submit one for this after PromiseValue
has been merged?
from type-fest.
@resynth1943 Yes. That would be great. 🙌
from type-fest.
What's the practical difference to #42 (apart from the fact that ResolvedType
is a combination of ReturnType
and the proposed Unpromise
)?
from type-fest.
@dylang ⬆️
from type-fest.
This is what I'm using currently:
type Unpromise<MaybePromise> = MaybePromise extends Promise<infer Type> ? Type : MaybePromise;
type AsyncReturnType<T extends (...args: any) => any> = Unpromise<ReturnType<T>>
You can probably merge the two and avoid Unpromise
but I don't know how 😳
from type-fest.
I still think Unpromise
makes sense as an independent building block.
PR welcome for AsyncReturnType
.
from type-fest.
Relevant TypeScript issue: microsoft/TypeScript#28105
from type-fest.
@sindresorhus I think that's more about Unpromise
and AsyncReturnType
A PR for that issue has been opened: microsoft/TypeScript#35998
from type-fest.
Gotcha. When you get a chance, @sindresorhus, could you check out #75?
from type-fest.
Related Issues (20)
- `NonEmptyObject` fails for objects with dynamic properties HOT 2
- Proposal: `ValueOfDeep<Type, 'key.deepKey'>` HOT 1
- Questions about the types located in the file `/source/basic.d.ts`
- ReadonlyDeep: add test for function or method returning an object? HOT 1
- `RepeatString` type
- `ArraySlice` should support spread array HOT 3
- TS 5.4.2 breaks `ConditionalKeys` and `SetParameterType` HOT 16
- `ReadonlyDeep` / `WritableDeep` not modifying arrays as of TS 5.3.3 HOT 3
- Run `tsc` on all test files HOT 25
- Set up dependabot / renovate HOT 2
- IfAny circular constraint in TS 5.4+ HOT 2
- Make the second argument to RequireAllOrNone optional HOT 1
- Use `NoInfer`?
- Type for serializable objects? HOT 3
- Proposal: SetKeyRequired with key required, but allow undefined value HOT 2
- OverrideProperties changes undefined as optional HOT 2
- Exclude / Pick type in Paths / only add leaf nodes HOT 2
- `Proposal`: add option with exclude/keep specified type on deep type HOT 5
- Unify `Get` and `Paths` / `PickDeep` etc HOT 1
- `Paths` is unable to escape dots in property names
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from type-fest.