{"version":3,"file":"ZodError","sources":["../../../../../../node_modules/zod/v3/ZodError.js"],"sourcesContent":["import { util } from \"./helpers/util.js\";\nexport const ZodIssueCode = util.arrayToEnum([\n    \"invalid_type\",\n    \"invalid_literal\",\n    \"custom\",\n    \"invalid_union\",\n    \"invalid_union_discriminator\",\n    \"invalid_enum_value\",\n    \"unrecognized_keys\",\n    \"invalid_arguments\",\n    \"invalid_return_type\",\n    \"invalid_date\",\n    \"invalid_string\",\n    \"too_small\",\n    \"too_big\",\n    \"invalid_intersection_types\",\n    \"not_multiple_of\",\n    \"not_finite\",\n]);\nexport const quotelessJson = (obj) => {\n    const json = JSON.stringify(obj, null, 2);\n    return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexport class ZodError extends Error {\n    get errors() {\n        return this.issues;\n    }\n    constructor(issues) {\n        super();\n        this.issues = [];\n        this.addIssue = (sub) => {\n            this.issues = [...this.issues, sub];\n        };\n        this.addIssues = (subs = []) => {\n            this.issues = [...this.issues, ...subs];\n        };\n        const actualProto = new.target.prototype;\n        if (Object.setPrototypeOf) {\n            // eslint-disable-next-line ban/ban\n            Object.setPrototypeOf(this, actualProto);\n        }\n        else {\n            this.__proto__ = actualProto;\n        }\n        this.name = \"ZodError\";\n        this.issues = issues;\n    }\n    format(_mapper) {\n        const mapper = _mapper ||\n            function (issue) {\n                return issue.message;\n            };\n        const fieldErrors = { _errors: [] };\n        const processError = (error) => {\n            for (const issue of error.issues) {\n                if (issue.code === \"invalid_union\") {\n                    issue.unionErrors.map(processError);\n                }\n                else if (issue.code === \"invalid_return_type\") {\n                    processError(issue.returnTypeError);\n                }\n                else if (issue.code === \"invalid_arguments\") {\n                    processError(issue.argumentsError);\n                }\n                else if (issue.path.length === 0) {\n                    fieldErrors._errors.push(mapper(issue));\n                }\n                else {\n                    let curr = fieldErrors;\n                    let i = 0;\n                    while (i < issue.path.length) {\n                        const el = issue.path[i];\n                        const terminal = i === issue.path.length - 1;\n                        if (!terminal) {\n                            curr[el] = curr[el] || { _errors: [] };\n                            // if (typeof el === \"string\") {\n                            //   curr[el] = curr[el] || { _errors: [] };\n                            // } else if (typeof el === \"number\") {\n                            //   const errorArray: any = [];\n                            //   errorArray._errors = [];\n                            //   curr[el] = curr[el] || errorArray;\n                            // }\n                        }\n                        else {\n                            curr[el] = curr[el] || { _errors: [] };\n                            curr[el]._errors.push(mapper(issue));\n                        }\n                        curr = curr[el];\n                        i++;\n                    }\n                }\n            }\n        };\n        processError(this);\n        return fieldErrors;\n    }\n    static assert(value) {\n        if (!(value instanceof ZodError)) {\n            throw new Error(`Not a ZodError: ${value}`);\n        }\n    }\n    toString() {\n        return this.message;\n    }\n    get message() {\n        return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n    }\n    get isEmpty() {\n        return this.issues.length === 0;\n    }\n    flatten(mapper = (issue) => issue.message) {\n        const fieldErrors = {};\n        const formErrors = [];\n        for (const sub of this.issues) {\n            if (sub.path.length > 0) {\n                const firstEl = sub.path[0];\n                fieldErrors[firstEl] = fieldErrors[firstEl] || [];\n                fieldErrors[firstEl].push(mapper(sub));\n            }\n            else {\n                formErrors.push(mapper(sub));\n            }\n        }\n        return { formErrors, fieldErrors };\n    }\n    get formErrors() {\n        return this.flatten();\n    }\n}\nZodError.create = (issues) => {\n    const error = new ZodError(issues);\n    return error;\n};\n"],"names":["ZodIssueCode","util","ZodError","issues","sub","subs","actualProto","_mapper","mapper","issue","fieldErrors","processError","error","curr","i","el","value","formErrors","firstEl"],"mappings":"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","x_google_ignoreList":[0]}