logo
/
TypeScriptの型定義の方法一覧
2023-01-12

通常

特筆することは無い
type Type = //

オブジェクトから別の方を組み立てる

TypeScriptでオブジェクトの値を元に別の型を組み立てたい
Loading...

バリデートライブラリを使う

zodなど。
その場合、型定義とzodのどちらを信頼できる唯一の情報源(SSOT)にするのかをしっかり決める。
二重管理になるとどこかでミスが出る。 Prismaなどから型定義ファイルを吐き出すなど、codegenされた型をSSOTにしないといけない場合がある。
その場合はzodと型定義間でミスマッチが出たらエラーになるように連携させる。
参考:schemeForType Utility functionを定義する
それ以外の場合(入力フォームから情報を取ったりなど)は、zodをSSOTにして、zod.inferなどで型定義を動的に作成するのが良い。

APIの定義自体を型定義として使用できるようにする

GraphQLなど