Slide 13
Slide 13 text
日時を双方向変換するスキーマ
変換ロジックをスキーマに集約できる
利用例
変換ロジックを意識せずに使える
export const datetimeSchema = () =>
z.codec(
z.iso.datetime(),
z.custom((val) => dayjs.isDayjs(val)),
{
decode: (val) => dayjs(val),
encode: (val) => val?.toISOString(),
},
);
export const campaignSchema = z.object({
uuid: z.uuid(),
name: z.string(),
startAt: datetimeSchema(),
endAt: datetimeSchema(),
});
export const campaignCreateSchema =
campaignSchema.omit({ uuid: true });
Copyright ©Unique Vision Company. All Rights Reserved.
Zod スキーマの設計