19 lines
420 B
TypeScript
19 lines
420 B
TypeScript
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)
|