1. Awaited
Awaited<Type>
는 TypeScript의 유틸리티 타입으로, Promise
가 반환하는 내부 값(Resolved Value)의 타입을 추출- 특징
•
Promise
의 내부 값을 추출 • 중첩된Promise
도 재귀적으로 풀어냄
ex1)
type MyPromise = Promise<string>; type ResolvedType = Awaited<MyPromise>; // Awaited<MyPromise>는 이 `Promise`가 감싸고 있는 내부 값인 `string`을 추출
ex2)
type NestedPromise = Promise<Promise<number>>; type ResolvedNestedType = Awaited<NestedPromise>; //중첩된 `Promise<number>`도 최종적으로 `number`로 추출
2. ReturnType
ReturnType<Type>
은 TypeScript의 유틸리티 타입으로, 특정 함수의 반환 타입을 추론ex1)
function fetchData(): Promise<string> { return Promise.resolve("Hello"); } type FetchDataReturnType = ReturnType<typeof fetchData>; // FetchDataReturnType은 Promise<string>
따라서,
Awaited<ReturnType>
는 Promise의 내부 값을 추출 가능=== prisma의
PromiseReturnType