{"version":3,"file":"parseUtil","sources":["../../../../../../../node_modules/zod/v3/helpers/parseUtil.js"],"sourcesContent":["import { getErrorMap } from \"../errors.js\";\nimport defaultErrorMap from \"../locales/en.js\";\nexport const makeIssue = (params) => {\n    const { data, path, errorMaps, issueData } = params;\n    const fullPath = [...path, ...(issueData.path || [])];\n    const fullIssue = {\n        ...issueData,\n        path: fullPath,\n    };\n    if (issueData.message !== undefined) {\n        return {\n            ...issueData,\n            path: fullPath,\n            message: issueData.message,\n        };\n    }\n    let errorMessage = \"\";\n    const maps = errorMaps\n        .filter((m) => !!m)\n        .slice()\n        .reverse();\n    for (const map of maps) {\n        errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n    }\n    return {\n        ...issueData,\n        path: fullPath,\n        message: errorMessage,\n    };\n};\nexport const EMPTY_PATH = [];\nexport function addIssueToContext(ctx, issueData) {\n    const overrideMap = getErrorMap();\n    const issue = makeIssue({\n        issueData: issueData,\n        data: ctx.data,\n        path: ctx.path,\n        errorMaps: [\n            ctx.common.contextualErrorMap, // contextual error map is first priority\n            ctx.schemaErrorMap, // then schema-bound map if available\n            overrideMap, // then global override map\n            overrideMap === defaultErrorMap ? undefined : defaultErrorMap, // then global default map\n        ].filter((x) => !!x),\n    });\n    ctx.common.issues.push(issue);\n}\nexport class ParseStatus {\n    constructor() {\n        this.value = \"valid\";\n    }\n    dirty() {\n        if (this.value === \"valid\")\n            this.value = \"dirty\";\n    }\n    abort() {\n        if (this.value !== \"aborted\")\n            this.value = \"aborted\";\n    }\n    static mergeArray(status, results) {\n        const arrayValue = [];\n        for (const s of results) {\n            if (s.status === \"aborted\")\n                return INVALID;\n            if (s.status === \"dirty\")\n                status.dirty();\n            arrayValue.push(s.value);\n        }\n        return { status: status.value, value: arrayValue };\n    }\n    static async mergeObjectAsync(status, pairs) {\n        const syncPairs = [];\n        for (const pair of pairs) {\n            const key = await pair.key;\n            const value = await pair.value;\n            syncPairs.push({\n                key,\n                value,\n            });\n        }\n        return ParseStatus.mergeObjectSync(status, syncPairs);\n    }\n    static mergeObjectSync(status, pairs) {\n        const finalObject = {};\n        for (const pair of pairs) {\n            const { key, value } = pair;\n            if (key.status === \"aborted\")\n                return INVALID;\n            if (value.status === \"aborted\")\n                return INVALID;\n            if (key.status === \"dirty\")\n                status.dirty();\n            if (value.status === \"dirty\")\n                status.dirty();\n            if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n                finalObject[key.value] = value.value;\n            }\n        }\n        return { status: status.value, value: finalObject };\n    }\n}\nexport const INVALID = Object.freeze({\n    status: \"aborted\",\n});\nexport const DIRTY = (value) => ({ status: \"dirty\", value });\nexport const OK = (value) => ({ status: \"valid\", value });\nexport const isAborted = (x) => x.status === \"aborted\";\nexport const isDirty = (x) => x.status === \"dirty\";\nexport const isValid = (x) => x.status === \"valid\";\nexport const isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n"],"names":["makeIssue","params","data","path","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","m","map","addIssueToContext","ctx","overrideMap","getErrorMap","issue","defaultErrorMap","x","ParseStatus","status","results","arrayValue","INVALID","pairs","syncPairs","pair","key","value","finalObject","DIRTY","OK","isAborted","isDirty","isValid","isAsync"],"mappings":"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","x_google_ignoreList":[0]}