import z, { ZodObject } from "zod"; export function makeSchemaParser(schema: TSchema): SchemaParserFn { return ((value: unknown | unknown[]) => { if (Array.isArray(value)) { return value.map((value: unknown) => schema.parse(value)); } return schema.parse(value); }) as SchemaParserFn; } type SchemaParserFn = { (value: unknown): z.infer; (value: unknown[]): z.infer[]; };