import { z } from "zod/v4"; import type { ZodIntersection, ZodObject } from "zod/v4"; export function convertIntersectionToZodObject>( intersection: TIntersection, ) { const left = intersection.def.left; const right = intersection.def.right; // Merge the shapes const mergedShape = { ...left.def.shape, ...right.def.shape }; // Return a new ZodObject return z.object(mergedShape) as unknown as TIntersection extends ZodIntersection ? TLeft extends ZodObject ? TRight extends ZodObject ? ZodObject : never : never : never; }