🐥

ZodでDate型を使うとSupabaseのinsertで怒られる

2024/07/30に公開

背景

SupabaseとZodでWEBアプリケーションの開発を進めていた
Zodで日付をDate型と指定していたが、SupabaseのTypeチェックでエラーが出ていた
type Date | undefined is not assignable to type string | null | undefined

原因は、Supabaseの日付はString型であるはずなのに、ZodのTypeがDate型のため、発生しているみたい。

解決

ZodはString型でDateにparseが出来るらしい。
https://zod.dev/?id=dates

# Date型
z.date().optional()

# String型で日付以外扱わない
z.string().date().optional()

z.string().date().optional()としたら問題なくPost出来た

{
"status": "private",
"name": "Example",
"establishment_date": "2020-01-01"
}

SasaTech Engineer Blog

Discussion