zodの備忘録
z.array 配列型
const stringArraySchema = z.array(z.string())
// 以下の記法と同様
// const stringArraySchema = z.string().array()
z.nullable null許容型
const nullableStringSchema = z.string().nullable()
z.optional optional(undefined)許容型
const optionalStringSchema = z.string().optional()
z.nullish nullかつoptionalな型
const nullishStringSchema = z.string().nullish()
// 以下の記法と同様
// const nullishStringSchema = z.string().nullable().optional()
z.literal string型, number型, boolean型などの特定の値が入る型
const messageSchema = z.literal("message")
const oneSchema = z.literal(1)
const trueSchema = z.literal(true)
type Message = z.infer<typeof messageSchema>
// "message"
type One = z.infer<typeof oneSchema>
// 1
type True = z.infer<typeof trueSchema>
// true
z.union 複数の型のいずれかに一致する型
const stringOrNumberSchema = z.union([z.string(), z.number()])
// 引数が配列であることを忘れやすいので注意
// 以下の記法と同様
// const stringOrNumberSchema = z.string().or(z.number())
z.nonempty 空文字列を許容しないstring型
const nonemptyStringSchema = z.string().nonempty()
// nonemptyとは逆に、空文字列のみを許容するstring型は以下のように書く
const emptyStringSchema = z.string().length(0)
z.any どの型でも許容する型
const anySchema = z.any()
z.unknown どの型でも許容するが、型が確定するまでプロパティやメソッドを参照できない
const unknownSchema = z.unknown()
この記事が気に入ったらサポートをしてみませんか?