- Introduced blog routing using Next.js App Router - Implemented dynamic [slug] pages for blog posts - Added MDX-based content loading via lib/posts - Integrated shared TopBar layout with navigation - Established clear content, lib and component separation
101 lines
3.3 KiB
JavaScript
101 lines
3.3 KiB
JavaScript
"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
|