| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.Completable = exports.McpZodTypeKind = void 0; |
| exports.completable = completable; |
| const zod_1 = require("zod"); |
| var McpZodTypeKind; |
| (function (McpZodTypeKind) { |
| McpZodTypeKind["Completable"] = "McpCompletable"; |
| })(McpZodTypeKind || (exports.McpZodTypeKind = McpZodTypeKind = {})); |
| class Completable extends zod_1.ZodType { |
| _parse(input) { |
| const { ctx } = this._processInputParams(input); |
| const data = ctx.data; |
| return this._def.type._parse({ |
| data, |
| path: ctx.path, |
| parent: ctx, |
| }); |
| } |
| unwrap() { |
| return this._def.type; |
| } |
| } |
| exports.Completable = Completable; |
| Completable.create = (type, params) => { |
| return new Completable({ |
| type, |
| typeName: McpZodTypeKind.Completable, |
| complete: params.complete, |
| ...processCreateParams(params), |
| }); |
| }; |
| |
| |
| |
| function completable(schema, complete) { |
| return Completable.create(schema, { ...schema._def, complete }); |
| } |
| |
| |
| function processCreateParams(params) { |
| if (!params) |
| return {}; |
| const { errorMap, invalid_type_error, required_error, description } = params; |
| if (errorMap && (invalid_type_error || required_error)) { |
| throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); |
| } |
| if (errorMap) |
| return { errorMap: errorMap, description }; |
| const customMap = (iss, ctx) => { |
| var _a, _b; |
| const { message } = params; |
| if (iss.code === "invalid_enum_value") { |
| return { message: message !== null && message !== void 0 ? message : ctx.defaultError }; |
| } |
| if (typeof ctx.data === "undefined") { |
| return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError }; |
| } |
| if (iss.code !== "invalid_type") |
| return { message: ctx.defaultError }; |
| return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError }; |
| }; |
| return { errorMap: customMap, description }; |
| } |
| |