タグ

typeとfrontendに関するsh19910711のブックマーク (4)

  • zodを用いた条件分岐バリデーションを実装してみる

    はじめに 1ヶ月後にモンスターハンターになる、ノベルワークスのりょうちん(ryotech34)です。 今回は、TypeScript向けに設計されたスキーマ宣言やバリデーションを助けてくれるライブラリである、zodを使用して条件分岐バリデーションを実装した際の備忘録です。 ドメインモデルとzodを組み合わせた実装方法として、下記の記事を参考にさせていただきました。ぜひ確認してみてください。 対象読者 zodに触れているもしくはこれから触ろうと思っている方 話さないこと zodの基的な記法 題 テーマ toB向けのサービスがあり、組織単位でベーシック、プロ、エンタープライズという3つのプランで契約できるとします。 そこでは、プランごとに毎月使用できるクレジットが制限されており、クレジットが制限値を超えると当該月では使用できないようにするという想定です。 やりたいこと 今回はプランが変更され

    zodを用いた条件分岐バリデーションを実装してみる
    sh19910711
    sh19910711 2025/08/03
    "プランが変更された場合、プランのタイプに合わせてスキーマまるごと変更を行い、不整合があれば型にしたがってエラーを吐かせたい / 最初こそ新しいzodの概念に揉まれて苦労したものの、拡張性があり便利"
  • Storybook の parameters の型をいい感じにして便利に使う

    Storybook の parameters Storybook の parameters は、Story や Component に静的なメタデータやパラメタを追加するための機能です。これらのパラメータは addon の設定や Story の表示方法のカスタマイズなどに利用されます。 // グローバルな parameters の設定 export const parameters = { backgrounds: { default: 'light', values: [ { name: 'light', value: '#f8f8f8' }, { name: 'dark', value: '#333333' }, ], }, }; // コンポーネントレベルでの設定 export default { component: Button, parameters: { background

    Storybook の parameters の型をいい感じにして便利に使う
    sh19910711
    sh19910711 2025/07/12
    "Story や Component に静的なメタデータやパラメタを追加するための機能 / Declaration merging は、同じ名前の型定義が複数ある場合に、TypeScript がそれらをマージ / Module augmentation は、既存のモジュールの型定義を拡張"
  • Orvalによる自動生成で型安全なフロントエンド開発をやってみる

    はじめに バックエンド(FastAPI)とフロントエンドReact)を別々に開発していると、REST APIのスキーマ定義に不一致が生じることがあります。 せっかくTypeScriptで型定義をして安全性を高めようとしているのに、そもそもバックエンドと矛盾があってしまうとTypeScriptの強みが活かせない状態になってしまいます。 記事では、そのようなスキーマの不一致を防ぐ方法を検証します。 また、検証にかかる時間を短縮するため、題以外の実装にはAIコーダーClineを活用しています。 方法 バックエンドで定義しているOpenAPIの定義ファイルを利用して、フロントエンドのスキーマを自動生成することで不一致をなくします。 つまり、バックエンドを正としてフロントエンドがバックエンドを追従するようにします。 ツール 今回利用するツールはOrvalです。 Orval は React との

    Orvalによる自動生成で型安全なフロントエンド開発をやってみる
    sh19910711
    sh19910711 2025/05/15
    "Orval: React Query や SWR 用のコードも自動生成でき、メンテナンスも活発 / OpenAPIの定義ファイルを読み込んでデータフェッチ関数や型定義などを生成"
  • Vitestを使った型テストの始め方

    WeJS @ 42nd https://wajs.connpass.com/event/293440/

    Vitestを使った型テストの始め方
    sh19910711
    sh19910711 2025/02/23
    2023 / "型テスト: Vitestを走らせなくても、テスト結果をリアルタイムに確認できる + 慣れればランタイムのテストよりクイックに書ける / 「あるpropが指定された場合はchildrenを持てない」といったテスト"
  • 1