import { z, ZodTypeAny } from 'zod' export const deserialize = (target: unknown, zType: TZod): z.TypeOf => { if (typeof target === 'object' && target !== null && target.hasOwnProperty('body')) { target = JSON.parse((<{ body: string }>target).body) } const parse = zType.safeParse(target) if (parse.success === false) { throw new Error(`Body is not in correct structure: '${parse.error}'`) } return parse.data }