import * as core from "./core.js"; import * as errors from "./errors.js"; import * as util from "./util.js"; export const _parse = (_Err) => (schema, value, _ctx, _params) => { const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false }; const result = schema._zod.run({ value, issues: [] }, ctx); if (result instanceof Promise) { throw new core.$ZodAsyncError(); } if (result.issues.length) { const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))); util.captureStackTrace(e, _params?.callee); throw e; } return result.value; }; export const parse = /* @__PURE__*/ _parse(errors.$ZodRealError); export const _parseAsync = (_Err) => async (schema, value, _ctx, params) => { const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true }; let result = schema._zod.run({ value, issues: [] }, ctx); if (result instanceof Promise) result = await result; if (result.issues.length) { const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))); util.captureStackTrace(e, params?.callee); throw e; } return result.value; }; export const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError); export const _safeParse = (_Err) => (schema, value, _ctx) => { const ctx = _ctx ? { ..._ctx, async: false } : { async: false }; const result = schema._zod.run({ value, issues: [] }, ctx); if (result instanceof Promise) { throw new core.$ZodAsyncError(); } return result.issues.length ? { success: false, error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))), } : { success: true, data: result.value }; }; export const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError); export const _safeParseAsync = (_Err) => async (schema, value, _ctx) => { const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true }; let result = schema._zod.run({ value, issues: [] }, ctx); if (result instanceof Promise) result = await result; return result.issues.length ? { success: false, error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))), } : { success: true, data: result.value }; }; export const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError); export const _encode = (_Err) => (schema, value, _ctx) => { const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" }; return _parse(_Err)(schema, value, ctx); }; export const encode = /* @__PURE__*/ _encode(errors.$ZodRealError); export const _decode = (_Err) => (schema, value, _ctx) => { return _parse(_Err)(schema, value, _ctx); }; export const decode = /* @__PURE__*/ _decode(errors.$ZodRealError); export const _encodeAsync = (_Err) => async (schema, value, _ctx) => { const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" }; return _parseAsync(_Err)(schema, value, ctx); }; export const encodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError); export const _decodeAsync = (_Err) => async (schema, value, _ctx) => { return _parseAsync(_Err)(schema, value, _ctx); }; export const decodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError); export const _safeEncode = (_Err) => (schema, value, _ctx) => { const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" }; return _safeParse(_Err)(schema, value, ctx); }; export const safeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError); export const _safeDecode = (_Err) => (schema, value, _ctx) => { return _safeParse(_Err)(schema, value, _ctx); }; export const safeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError); export const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => { const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" }; return _safeParseAsync(_Err)(schema, value, ctx); }; export const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError); export const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => { return _safeParseAsync(_Err)(schema, value, _ctx); }; export const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);