TypeScript の戻り値にしか出てこない型引数は as の言い換え — 修正したつもりでテストが revert を検出しない話
2026年8月3日
dispatch<T>(args): Promise<T> のように T が引数に現れない型引数は、呼び出し側のアサーションを API に埋め込んだだけで、サーバが { error } を返しても型検査を通してしまう。parse 関数で T を推論させる修正と、修正後に古いシグネチャに revert しても typecheck が緑のままになるオーバーロード比較の落とし穴、IsExact による pin のテスト設計、subscribe の引数が void 戻り値で全関数を受け入れる副作用まで含めて解説する。
tech-blogTypeScriptAPI design