UNPKG

@zod-plugins/string-validator

Version:

This library is a extend for z.ZodString,providing some custom validator for string

33 lines • 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const zod_1 = require("zod"); const _parse = zod_1.z.ZodString.prototype._parse; zod_1.z.ZodString.prototype._parse = function (input) { const parsedResult = _parse.call(this, input); if (zod_1.z.isAsync(parsedResult)) { throw new Error('parsedResult should not be promise'); } const status = new zod_1.z.ParseStatus(); let ctx = this._getOrReturnCtx(input); for (const fn of this._def.customChecks || []) { ctx = this._getOrReturnCtx(input); fn(input.data, arg => { zod_1.z.addIssueToContext(ctx, typeof arg === 'string' ? { message: arg, code: zod_1.z.ZodIssueCode.custom, } : { ...arg, message: arg?.message || 'Invalid string', code: zod_1.z.ZodIssueCode.custom, }); status.dirty(); }, ctx); } if (status.value !== 'valid') { return { status: status.value, value: input.data }; } return parsedResult; }; //# sourceMappingURL=base.js.map