import { z } from "zod/v4";
const arrayFromString = z
.string()
.default("")
.transform((val) => (val ? val.split(",").map((s) => s.trim()) : []));
const partialObj = z.object({ array: arrayFromString }).partial();
console.log(
arrayFromString.safeParse(undefined).data,
partialObj.safeParse({}).data?.array,
);
Given the next snippet:
4.3.6 logged
[] []while 4.4.3 logs[] undefined