概要 会社のプロジェクトでNuxt.jsとVuexとTypescriptを使用していて、Vuexのcommitやdispatchの引数を型推測してくれないところでなんとかならないかなと思ったのが発端です。 課題感 具体的には以下のようなコードの時にcommitするmutationsに応じて引数の型チェックしてくれることが期待する挙動です。 type State = { hoge: string; fuga: number; }; type ChangeHogePayload = { value: string }; type ChangeFugaPayload = { value: number }; export const state: () => State = (): State => ({ hoge: '', fuga: 0, }); type Mutations = { cha