Files
zod-schema-class/src/legacy/jsonifiable/schema/bigint.ts
Julien Valverdé 019066bb9c
All checks were successful
continuous-integration/drone/push Build is passing
0.1.1 (#2)
Co-authored-by: Julien Valverdé <julien.valverde@mailo.com>
Reviewed-on: https://git.jvalver.de/Thilawyn/schemable-class/pulls/2
2024-01-17 20:47:13 +01:00

19 lines
426 B
TypeScript

import { z } from "zod"
export const jsonifyBigIntSchema = <S extends z.ZodBigInt>(schema: S) =>
schema.transform(v => v.toString())
export const dejsonifyBigIntSchema = <S extends z.ZodBigInt>(schema: S) =>
z
.string()
.transform(v => {
try {
return BigInt(v)
}
catch (e) {
return v
}
})
.pipe(schema)