created: 2024-05-03T00:41:44.627Z

[TypeScript] 高階関数の戻り値の型を、引数で受け取った関数の戻り値と同じにする型定義

もじもじ考えてたけど copilot に聞いたら一撃だった。 とりあえずはこんな感じにすればよい。

measureDuration<T extends (...args: any[]) => any>(fn: T): ReturnType<T>

ただ、関数が Promise とか Either みたいアレを返す時もこれで抜け漏れないかがちょっと心配。

SLO サービスレベル目標 ―SLI、SLO、エラーバジェット導入の実践ガイド
[ad] SLO サービスレベル目標 ―SLI、SLO、エラーバジェット導入の実践ガイド
Alex Hidalgo, 山口 能迪 (単行本(ソフトカバー))