Jsonifiable
This commit is contained in:
18
src/jsonifiable/schema/date.ts
Normal file
18
src/jsonifiable/schema/date.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { z } from "zod"
|
||||
|
||||
|
||||
export const jsonifyDateSchema = <S extends z.ZodDate>(schema: S) =>
|
||||
schema.transform(v => v.toString())
|
||||
|
||||
export const dejsonifyDateSchema = <S extends z.ZodDate>(schema: S) =>
|
||||
z
|
||||
.string()
|
||||
.transform(v => {
|
||||
try {
|
||||
return new Date(v)
|
||||
}
|
||||
catch (e) {
|
||||
return v
|
||||
}
|
||||
})
|
||||
.pipe(schema)
|
||||
Reference in New Issue
Block a user