3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

現場で使えるくらいにはZodを理解しておきたい

Posted at

Zodとは

TypeScript向けのスキーマ宣言とデータ検証のためのライブラリのこと。
型安全な方法でデータ構造を定義し、それに基づいてバリデーションを行うことが可能。

インストール方法

# npmの場合
npm install zod

# yarnの場合
yarn add zod

# pnpmの場合
pnpm add zod

基本的な使い方

引数に渡した値が問題無ければ、その値を返し、問題があればエラーを返す。

import { z } from 'zod'

const stringScheme = z.string()

stringScheme.parse("hogefuga")
// => "hogefuga"
stringScheme.parse(true)
// => throws ZodError

プリミティブ型のスキーマ作成

import { z } from "zod";

z.string();    // string型
z.number();    // number型
z.bigint();    // bigint型
z.boolean();   // boolean型
z.date();        // date型
z.symbol();    // シンボル型
z.undefined();  // undefined型
z.null();        // null型
z.void();        // void型
z.any();          // any型
z.unknown();   // unknown型
z.never();      // never型

オブジェクト型のスキーマ作成

const Dog = z.object({
  name: z.string(),
  age: z.number(),
  ownerId: z.number()
});

zodからTypeScriptの型を作成する

 const FormData = z.object({
    name: z.string().min(2).max(50),
    email: z.string().email(),
    message: z.string().min(5),
  });

  type FormDataType = z.infer<typeof FormData>;

参考

Zod | Documention
Zodの基本的な使い方
Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話
TypeScript開発に欠かせない?Zodライブラリの基本
Zodによるバリデーションに入門する

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?