Awaited
提出詳細
type A<T> = T extends Promise<infer U> ? A<U> : T; type B<T extends Promise<unknown>> = T extends Promise<infer U> ? A<U> : never;
| 提出日時 | 2024-10-28 06:53:03 | 
|---|---|
| 問題 | Awaited | 
| ユーザー | balckowl | 
| ステータス | Wrong Answer | 
import type { Equal, Expect } from '@type-challenges/utils' type X = Promise<string> type Y = Promise<{ field: number }> type Z = Promise<Promise<string | number>> type cases = [ Expect<Equal<MyAwaited<X>, string>>, Expect<Equal<MyAwaited<Y>, { field: number }>>, Expect<Equal<MyAwaited<Z>, string | number>>, ] // @ts-expect-error type error = MyAwaited<number>