UNPKG

@nortex/pretty-zod-error

Version:

Returns a pretty, colorful error message from Zod errors.

31 lines (30 loc) 1.26 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logPrettyZodError = exports.prettifyZodError = void 0; const ansi_colors_1 = __importDefault(require("ansi-colors")); const defaultOpts = { withIndex: true, noColors: false, errorCode: true }; function prettifyZodError(err, opts = defaultOpts) { const pretty = err.issues .map((issue, idx) => { const segments = []; if (opts.withIndex) segments.push(`${ansi_colors_1.default.bold(`${idx + 1}.`)}`); segments.push(`[${ansi_colors_1.default.blue(issue.path.join("."))}]:`); segments.push(issue.message); if (opts.errorCode) segments.push(`(${ansi_colors_1.default.dim(issue.code)})`); if (opts.noColors) segments.map((s) => ansi_colors_1.default.stripColor(s)); return segments.join(" "); }) .join("\n"); return pretty; } exports.prettifyZodError = prettifyZodError; function logPrettyZodError(err, opts = defaultOpts) { console.log(prettifyZodError(err, opts)); } exports.logPrettyZodError = logPrettyZodError;