ツール説明

TypeScript型をZodスキーマに自動変換します。任意のインターフェースをZod検証スキーマに変換するか、インターフェース定義からZodを生成し、手動での書き直しは不要です。TS型をZodに数秒で変換するのに最適です。

機能

  • インターフェースをZodスキーマ形式に自動変換し、マッチング検証ルールを適用します。
  • TypeScript型をZodスキーマに変換します。プリミティブ、ネストされたオブジェクト、配列、タプル、リテラルユニオン、オプショナルプロパティを含みます。
  • 単一のスニペット内の複数のインターフェースと型エイリアスを検出し、対応するZod定数を生成します。
  • z.lazyでクロスリファレンス型を解決し、z.any()へのフォールバックをハイライトします。
  • サポートされていない構造または不足しているアノテーションについて、構造化された警告を表示します。

ユースケース

  • インターフェース定義からZodを生成して、既存のTypeScriptモデルから検証レイヤーをブートストラップします。
  • TypeScriptのみのモデルからランタイム検証への移行時にTS型をZodに変換します。
  • インターフェースをZodに変換して、フロントエンドとバックエンド間でコントラクト定義を共有し、手動での重複を回避します。
  • 他の検証ライブラリからの移行時にTypeScript型からZodスキーマへの変換を試験します。

変換の詳細

  • 一般的なプリミティブをz.string()z.number()z.boolean()z.null()z.undefined()z.unknown()にマップします。
  • すべてのメンバーが文字列の場合、リテラルユニオンをz.enum([...])に変換し、そうでない場合はz.union([...])にフォールバックします。
  • インラインオブジェクトリテラルに対してz.object({...})を生成し、インデックスシグネチャに対して.catchall()をチェーンします。
  • コンバーターがz.any()にフォールバックするか、インターフェース拡張をスキップする必要があるときはいつでも、実行可能な警告を生成します。