TSKaigi 2026 の発表資料です
https://2026.tskaigi.org/talks/35
Example コードはこちら
https://github.com/yanaemon/type-safe-effect-order-example
バリデーション前にデータを保存する、ログを取らずに重要な処理を実行する、認証前に API を呼ぶ。
副作用を持つ処理では実行順序のミスがデータ破損やセキュリティ問題を引き起こします。
テストを書く前、コードを実行する前に、エディタ上で即座に気づきたい。
これをコンパイル時に防げないか。
本トークでは、TypeScript の型システムで副作用の実行順序をどこまで制御できるのかを探ります。
また、純粋関数でもデータの形状を保証するために実行順序の制約が有効であることを示します。