Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
23 lines
695 B
Text
23 lines
695 B
Text
type AsyncFunction = (...arguments_: any[]) => PromiseLike<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>>;
|