UNPKG

type-fest

Version:

A collection of essential TypeScript types

24 lines (16 loc) 691 B
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>>;