Uecko_ERP/packages/rdx-ddd/src/helpers/zod-validator-error-traslator.ts

20 lines
566 B
TypeScript
Raw Normal View History

2026-04-21 13:51:57 +00:00
import type { ZodError } from "zod/v4";
import { ValidationErrorCollection, type ValidationErrorDetail } from "../errors";
2025-09-16 11:29:45 +00:00
export function translateZodValidationError<T>(
message: string,
zodError: ZodError<T>,
errorValue?: unknown
) {
const errors: ValidationErrorDetail[] = [];
for (const issue of zodError.issues) {
errors.push({
2025-11-05 17:16:03 +00:00
message: `${message}: ${issue.message}`,
path: issue.path ? issue.path.join(".") : undefined,
2025-09-16 11:29:45 +00:00
value: errorValue ?? issue.input,
});
}
return new ValidationErrorCollection(message, errors);
}