UNPKG

joi-schema-validator

Version:

A world-class Joi validation error formatter for structured, user-friendly error handling.

30 lines 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatError = void 0; const formatError = (error, messages) => { return error.details.map((detail) => { const field = detail.path.join('.'); // Supports nested fields like "address.street" const type = detail.type; // Check for field-specific override, e.g., "name.string.min" const fieldSpecificKey = `${field}.${type}`; let messageTemplate = messages[fieldSpecificKey] || messages[type] || `${field} is invalid.`; // Replace placeholders with actual values from context if (detail.context) { Object.entries(detail.context).forEach(([key, value]) => { messageTemplate = messageTemplate.replace(new RegExp(`{#${key}}`, 'g'), (value === null || value === void 0 ? void 0 : value.toString()) || ''); }); } // Ensure proper sentence case messageTemplate = messageTemplate.charAt(0).toUpperCase() + messageTemplate.slice(1); return { field, type, message: messageTemplate }; }); }; exports.formatError = formatError; //# sourceMappingURL=formatter.js.map