計画は、階層的なデータ構造を持つアプリケーションの開発です。データの検証には、再帰的な構造を作成するために Zod を使用します。基本カテゴリスキーマは、名前、パーセント、金額、パーセンテージのプロパティを持つように定義されます。カテゴリータイプは、基本カテゴリスキーマにcategoriesというプロパティを追加したもので、同一のカテゴリータイプの配列です。次に、Zod の lazy 関数を使用してカテゴリースキーマを配列のカテゴリースキーマに拡張します。これにより、カテゴリースキーマが完全に初期化される前に自分自身を参照できます。カテゴリースキーマタイプは、カテゴリースキーマの推論されたタイプとして定義されます。階層的な構造を示すために、カテゴリーやサブカテゴリーを持つテストデータオブジェクトを作成します。テストデータオブジェクトには、金額、名前、カテゴリーやパーセンテージのプロパティがあります。パーセンテージのプロパティは、名前とパーセントのプロパティを持つオブジェクトの配列です。
dev.to
Zod and Data modelling
