generated at
Promise.all()の型付け

TypeScript特有の書き方が複合していて割と難しいと思うmrsekut
これで中級なんだ..mrsekut


ts
declare function PromiseAll<T extends readonly unknown[]>( // ① values: readonly [...T] // ② ): Promise<{ [K in keyof T]: Awaited<T[K]>; // ③④ }>;


TypeScript特有の要素は4つあると思うmrsekut
①型制約
Promiseのunwrapができれば別にAwaitedじゃなくてもいいmrsekut
これら全てを理解していないとこの定義は書けない