import { Decimal } from "decimal.js" import { z } from "zod" export function jsonifyDecimalSchema< S extends z.ZodType >(schema: S) { return schema.transform(v => v.toJSON()) } export function dejsonifyDecimalSchema< S extends z.ZodType >(schema: S) { return z .string() .transform(v => { try { return new Decimal(v) } catch (e) { return v } }) .pipe(schema) }