OmitStrict
厳しめのOmit型
code:ts
type OmitStrict<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
標準だとKに何でも入れられるのを、入れられないようにする
これによりエディター入力補完などの恩恵を得やすくなる
参考
https://zenn.dev/jojojo/articles/80f442f27f92e3
開発曰く、関係ないキーを渡しても動作上は問題ないこと、Tに渡したオブジェクトのキー以外も含むUnionを渡しても動くようにするためらしい
https://github.com/microsoft/TypeScript/pull/35462#issuecomment-561401619