UNPKG

@omer-x/bs-ui-kit

Version:
25 lines (24 loc) 736 B
import { ZodIssueCode } from "zod/v3"; function handleZodIssue(issue) { switch (issue.code) { case ZodIssueCode.custom: return issue.params?.customErrorCode ?? issue.message; case ZodIssueCode.invalid_string: return `invalid_${issue.validation}`; case ZodIssueCode.too_small: return "too_small"; case ZodIssueCode.too_big: return "too_big"; default: return "unknown_error"; } } export function bundleErrors(issues) { return issues.reduce((bundle, issue) => { const [location] = issue.path; return { ...bundle, [location]: handleZodIssue(issue).toUpperCase(), }; }, {}); }