UNPKG

mantine-form-zod-resolver

Version:
46 lines (42 loc) 1.06 kB
'use strict'; var core = require('zod/v4/core'); function zodResolver(schema, options) { return (values) => { const parsed = schema.safeParse(values); if (parsed.success) { return {}; } const results = {}; if ("error" in parsed) { if (options?.errorPriority === "first") { parsed.error.errors.reverse(); } parsed.error.errors.forEach((error) => { results[error.path.join(".")] = error.message; }); } return results; }; } function zod4Resolver(schema, options) { return (values) => { try { core.parse(schema, values); return {}; } catch (error) { if (error instanceof core.$ZodError) { const results = {}; if (options?.errorPriority === "first") { error.issues.reverse(); } error.issues.forEach((issue) => { results[issue.path.join(".")] = issue.message; }); return results; } throw error; } }; } exports.zod4Resolver = zod4Resolver; exports.zodResolver = zodResolver;