import { Effect, z, ZodType } from 'zod' import { ZodTypeDef } from 'zod/lib/types' export const addEffect = = ZodType>(base: Base, effect: Effect) => { switch (effect.type) { case 'preprocess': return z.preprocess(effect.transform, base) case 'transform': return base.transform(effect.transform) case 'refinement': return base.superRefine(effect.refinement) } }