frontend/.pnpm-store/v3/files/07/1480c3212004b8f7e7cfe6cb88f5c2d83f7f0e0c7e93dfad3850df96b617ec4c0276fa8baea13432f7fded24594c330e3ad627feeead99ea312310bd29f570

24 lines
691 B
Plaintext

type AsyncFunction = (...arguments_: any[]) => Promise<unknown>;
/**
Unwrap the return type of a function that returns a `Promise`.
There has been [discussion](https://github.com/microsoft/TypeScript/pull/35998) about implementing this type in TypeScript.
@example
```ts
import type {AsyncReturnType} from 'type-fest';
import {asyncFunction} from 'api';
// This type resolves to the unwrapped return type of `asyncFunction`.
type Value = AsyncReturnType<typeof asyncFunction>;
async function doSomething(value: Value) {}
asyncFunction().then(value => doSomething(value));
```
@category Async
*/
export type AsyncReturnType<Target extends AsyncFunction> = Awaited<ReturnType<Target>>;