UNPKG

facturacionelectronicapy-ts-xmlgen

Version:

Genera el contenido del archivo XML del Documento electrónico exigido por la SET

108 lines (107 loc) 5.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = translateZodErrors; const zod_1 = require("zod"); function translateZodErrors(errorMapOverride) { const customErrorMap = (issue, _ctx) => { const pathStr = `'${issue.path.join('.')}'`; const dataType = typeof _ctx.data; const elements = { string: 'caracteres', number: 'como valor', bigint: 'como valor', object: 'elementos', }; const element = elements[dataType] ?? 'partes'; switch (issue.code) { case zod_1.ZodIssueCode.invalid_type: return { message: `El campo ${pathStr} debe ser de tipo ${issue.expected}`, }; case zod_1.ZodIssueCode.invalid_literal: return { message: `El campo ${pathStr} debe ser ${issue.expected}` }; case zod_1.ZodIssueCode.invalid_union: return { message: `El campo ${pathStr} debe ser uno de los siguientes: ${issue.unionErrors .map((e) => e.message) .join(', ')}`, }; case zod_1.ZodIssueCode.invalid_union_discriminator: return { message: `El campo ${pathStr} debe ser uno de los siguientes: ${issue.options.join(', ')}`, }; case zod_1.ZodIssueCode.invalid_enum_value: return { message: `El campo ${pathStr} debe ser uno de los siguientes: ${issue.options.join(', ')}`, }; case zod_1.ZodIssueCode.unrecognized_keys: return { message: `El campo ${pathStr} contiene un campos no reconocidos`, }; case zod_1.ZodIssueCode.invalid_arguments: return { message: `El campo ${pathStr} debe ser un ${issue.argumentsError.message}`, }; case zod_1.ZodIssueCode.invalid_return_type: return { message: `El campo ${pathStr} debe ser un ${issue.returnTypeError.message}`, }; case zod_1.ZodIssueCode.invalid_date: return { message: `El campo ${pathStr} no es una fecha válida` }; case zod_1.ZodIssueCode.invalid_string: return { message: `El campo ${pathStr} debe ser un texto de tipo ${issue.validation}`, }; case zod_1.ZodIssueCode.too_small: switch (typeof _ctx.data) { case 'number': return { message: `El campo ${pathStr} debe ser mayor a ${issue.minimum}`, }; case 'string': return { message: `El campo ${pathStr} debe tener al menos ${issue.minimum} caracteres`, }; case 'object': return { message: `El campo ${pathStr} debe tener al menos ${issue.minimum} elementos`, }; default: return { message: `El campo ${pathStr} debe tener al menos ${issue.minimum} ${element}`, }; } case zod_1.ZodIssueCode.too_big: switch (typeof _ctx.data) { case 'number': return { message: `El campo ${pathStr} debe ser menor a ${issue.maximum}`, }; case 'string': return { message: `El campo ${pathStr} debe tener como máximo ${issue.maximum} caracteres`, }; case 'object': return { message: `El campo ${pathStr} debe tener como máximo ${issue.maximum} elementos`, }; default: return { message: `El campo ${pathStr} debe tener como máximo ${issue.maximum} ${element}`, }; } case zod_1.ZodIssueCode.invalid_intersection_types: // Al parecer esto solo aplica en las intersecciones de zod. return { message: `El campo ${pathStr} no es válido` }; case zod_1.ZodIssueCode.not_multiple_of: return { message: `El campo ${pathStr} debe ser múltiplo de ${issue.multipleOf}`, }; case zod_1.ZodIssueCode.not_finite: return { message: `El campo ${pathStr} no puede ser infinito` }; default: return { message: `El campo ${pathStr} no es válido` }; } }; zod_1.z.setErrorMap(errorMapOverride || customErrorMap); }