winterspec
Version:
Write Winter-CG compatible routes with filesystem routing and tons of features
28 lines (27 loc) • 866 B
JavaScript
const zodIssueToString = (issue) => {
if (issue.path.join(".") === "") {
return issue.message;
}
if (issue.message === "Required") {
return `\`${issue.path.join(".")}\` is required`;
}
return `${issue.message} for "${issue.path.join(".")}"`;
};
export const formatZodError = (error) => {
let message;
if (error.issues.length === 1) {
const issue = error.issues[0];
message = zodIssueToString(issue);
}
else {
const message_components = [];
for (const issue of error.issues) {
message_components.push(zodIssueToString(issue));
}
message =
`${error.issues.length} Zod validation issues: ` +
message_components.join(", ");
}
message += `. Full Zod error: ${JSON.stringify(error.issues, null, 2)}`;
return message;
};