UNPKG

next

Version:

The React Framework

101 lines (100 loc) 3.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { formatZodError: null, normalizeZodErrors: null, reportZodError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { formatZodError: function() { return formatZodError; }, normalizeZodErrors: function() { return normalizeZodErrors; }, reportZodError: function() { return reportZodError; } }); const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); const _zod = require("next/dist/compiled/zod"); const _zodvalidationerror = require("next/dist/compiled/zod-validation-error"); const _log = /*#__PURE__*/ _interop_require_wildcard._(require("../../build/output/log")); function processZodErrorMessage(issue) { let message = issue.message; let path; if (issue.path.length > 0) { if (issue.path.length === 1) { const identifier = issue.path[0]; if (typeof identifier === 'number') { // The first identifier inside path is a number path = "index " + identifier; } else { path = '"' + identifier + '"'; } } else { // joined path to be shown in the error message path = '"' + issue.path.reduce((acc, cur)=>{ if (typeof cur === 'number') { // array index return acc + "[" + cur + "]"; } if (cur.includes('"')) { // escape quotes return acc + '["' + cur.replaceAll('"', '\\"') + '"]'; } // dot notation const separator = acc.length === 0 ? '' : '.'; return acc + separator + cur; }, '') + '"'; } } else { path = ''; } if (issue.code === 'invalid_type' && issue.received === _zod.ZodParsedType.undefined) { // Missing key in object. return path + " is missing, expected " + issue.expected; } if (issue.code === 'invalid_enum_value') { // Remove "Invalid enum value" prefix from zod default error message return "Expected " + _zod.util.joinValues(issue.options) + ", received '" + issue.received + "' at " + path; } return message + (path ? " at " + path : ''); } function normalizeZodErrors(error) { return error.issues.flatMap((issue)=>{ const issues = [ { issue, message: processZodErrorMessage(issue) } ]; if ('unionErrors' in issue) { for (const unionError of issue.unionErrors){ issues.push(...normalizeZodErrors(unionError)); } } return issues; }); } function formatZodError(prefix, error) { return Object.defineProperty(new Error((0, _zodvalidationerror.fromZodError)(error, { prefix: prefix }).toString()), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); } function reportZodError(prefix, error) { _log.error(formatZodError(prefix, error).message); } //# sourceMappingURL=zod.js.map