Promise.all()の型付け
Promise.all()
type-challenges 20で見た
TypeScript特有の書き方が複合していて割と難しいと思うmrsekut.icon
これで中級なんだ..mrsekut.icon
型
code:ts
declare function PromiseAll<T extends readonly unknown[]>( // ①
values: readonly ...T // ②
): Promise<{
K in keyof T: Awaited<TK>; // ③④
}>;
TypeScript特有の要素は4つあると思うmrsekut.icon
①型制約
TypeScriptのあるある部分型の型制約と条件分岐
②generic関数宣言内のVariadic Tuple Types
③配列から配列への型レベルmap
④Awaited型
Promiseのunwrapができれば別にAwaitedじゃなくてもいいmrsekut.icon
これら全てを理解していないとこの定義は書けない