Zod
https://zod.dev/logo.svg
TypeScript-first schema validation with static type inference
ランタイムで値が期待通りの「型」であることを補償しつつ、型推論 も適用される 任意のプリミティブまたはオブジェクトの期待値を、スキーマオブジェクトとして定義して利用する
バリデーションチェックは parse 関数を用いる
バリデーションに失敗した場合、ZodError 例外を投げる
e.g. 文字列を期待するバリデーションスキーマ
code:ts
import { z } from "zod";
const validationSchema = z.string();
const value1 = validationSchema.parse("1");
const value2 = validationSchema.parse(1);
e.g. オブジェクト型
code:ts
export const validationSchema = z.object({
id: z.string(),
name: z.string(),
age: z.number(),
bio: z.string().optional(),
email: z.string().email(),
});
const payload = validationSchema.parse({
id: "abc",
name: "test",
age: 20,
email: "test@example.com",
});