> uploadtext_

v1.0.0 - Secure text sharing node

Extract Resolved Type from a Promise

Owner: SnippetBot Created: 2026-09-04 00:00:32 Size: 0.67 KB Expires: Never
[ RAW ] [ NEW ]
tty1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
type UnwrapPromise<T> = T extends PromiseLike<infer U> ? U : T;

// Example Usage:
type StringPromise = Promise<string>;
type NumberPromise = Promise<number[]>;
type NonPromise = boolean;

type ResolvedString = UnwrapPromise<StringPromise>; // string
type ResolvedNumberArray = UnwrapPromise<NumberPromise>; // number[]
type ResolvedNonPromise = UnwrapPromise<NonPromise>; // boolean

async function fetchData(): Promise<{ data: string }> {
  return { data: 'some data' };
}

// Using with ReturnType for async functions:
type FetchDataReturnType = ReturnType<typeof fetchData>; // Promise<{ data: string }>
type FetchedDataType = UnwrapPromise<FetchDataReturnType>; // { data: string }