/home/techb158/balavpn.abdallabala.com/node_modules/zod/src/v3/tests
NameSizeModeActions
all-errors.test.ts47530666editdlrm
anyunknown.test.ts6730666editdlrm
array.test.ts19390666editdlrm
async-parsing.test.ts126390666editdlrm
async-refinements.test.ts16030666editdlrm
base.test.ts7820666editdlrm
bigint.test.ts19770666editdlrm
branded.test.ts17340666editdlrm
catch.test.ts65500666editdlrm
coerce.test.ts66500666editdlrm
complex.test.ts19140666editdlrm
custom.test.ts9500666editdlrm
date.test.ts9830666editdlrm
deepmasking.test.ts52150666editdlrm
default.test.ts35270666editdlrm
description.test.ts13230666editdlrm
discriminated-unions.test.ts85370666editdlrm
enum.test.ts27370666editdlrm
error.test.ts168120666editdlrm
firstparty.test.ts23910666editdlrm
firstpartyschematypes.test.ts7880666editdlrm
function.test.ts65780666editdlrm
generics.test.ts15230666editdlrm
instanceof.test.ts11540666editdlrm
intersection.test.ts30910666editdlrm
language-server.source.ts12750666editdlrm
language-server.test.ts83180666editdlrm
literal.test.ts10630666editdlrm
map.test.ts35450666editdlrm
masking.test.ts850666editdlrm
mocker.test.ts3890666editdlrm
Mocker.ts13410666editdlrm
nan.test.ts5870666editdlrm
nativeEnum.test.ts23440666editdlrm
nullable.test.ts11720666editdlrm
number.test.ts63730666editdlrm
object-augmentation.test.ts5690666editdlrm
object-in-es5-env.test.ts7780666editdlrm
object.test.ts117720666editdlrm
optional.test.ts12220666editdlrm
parser.test.ts11250666editdlrm
parseUtil.test.ts8690666editdlrm
partials.test.ts69960666editdlrm
pickomit.test.ts36220666editdlrm
pipeline.test.ts8230666editdlrm
preprocess.test.ts45300666editdlrm
primitive.test.ts122150666editdlrm
promise.test.ts24900666editdlrm
readonly.test.ts73390666editdlrm
record.test.ts37350666editdlrm
recursive.test.ts39460666editdlrm
refine.test.ts81720666editdlrm
safeparse.test.ts6280666editdlrm
set.test.ts47880666editdlrm
standard-schema.test.ts25870666editdlrm
string.test.ts656230666editdlrm
transformer.test.ts56870666editdlrm
tuple.test.ts26910666editdlrm
unions.test.ts15400666editdlrm
validations.test.ts38260666editdlrm
void.test.ts3490666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/node_modules/zod/src/v3/tests/preprocess.test.ts (4530B)
// @ts-ignore TS6133 import { expect, test } from "vitest"; import * as z from "zod/v3"; import { util } from "../helpers/util.js"; test("preprocess", () => { const schema = z.preprocess((data) => [data], z.string().array()); const value = schema.parse("asdf"); expect(value).toEqual(["asdf"]); util.assertEqual<(typeof schema)["_input"], unknown>(true); }); test("async preprocess", async () => { const schema = z.preprocess(async (data) => [data], z.string().array()); const value = await schema.parseAsync("asdf"); expect(value).toEqual(["asdf"]); }); test("preprocess ctx.addIssue with parse", () => { expect(() => { z.preprocess((data, ctx) => { ctx.addIssue({ code: "custom", message: `${data} is not one of our allowed strings`, }); return data; }, z.string()).parse("asdf"); }).toThrow( JSON.stringify( [ { code: "custom", message: "asdf is not one of our allowed strings", path: [], }, ], null, 2 ) ); }); test("preprocess ctx.addIssue non-fatal by default", () => { try { z.preprocess((data, ctx) => { ctx.addIssue({ code: "custom", message: `custom error`, }); return data; }, z.string()).parse(1234); } catch (err) { z.ZodError.assert(err); expect(err.issues.length).toEqual(2); } }); test("preprocess ctx.addIssue fatal true", () => { try { z.preprocess((data, ctx) => { ctx.addIssue({ code: "custom", message: `custom error`, fatal: true, }); return data; }, z.string()).parse(1234); } catch (err) { z.ZodError.assert(err); expect(err.issues.length).toEqual(1); } }); test("async preprocess ctx.addIssue with parse", async () => { const schema = z.preprocess(async (data, ctx) => { ctx.addIssue({ code: "custom", message: `custom error`, }); return data; }, z.string()); expect(await schema.safeParseAsync("asdf")).toMatchInlineSnapshot(` { "error": [ZodError: [ { "code": "custom", "message": "custom error", "path": [] } ]], "success": false, } `); }); test("preprocess ctx.addIssue with parseAsync", async () => { const result = await z .preprocess(async (data, ctx) => { ctx.addIssue({ code: "custom", message: `${data} is not one of our allowed strings`, }); return data; }, z.string()) .safeParseAsync("asdf"); expect(JSON.parse(JSON.stringify(result))).toEqual({ success: false, error: { issues: [ { code: "custom", message: "asdf is not one of our allowed strings", path: [], }, ], name: "ZodError", }, }); }); test("z.NEVER in preprocess", () => { const foo = z.preprocess((val, ctx) => { if (!val) { ctx.addIssue({ code: z.ZodIssueCode.custom, message: "bad" }); return z.NEVER; } return val; }, z.number()); type foo = z.infer; util.assertEqual(true); const arg = foo.safeParse(undefined); expect(arg.error!.issues).toHaveLength(2); expect(arg.error!.issues[0].message).toEqual("bad"); }); test("preprocess as the second property of object", () => { const schema = z.object({ nonEmptyStr: z.string().min(1), positiveNum: z.preprocess((v) => Number(v), z.number().positive()), }); const result = schema.safeParse({ nonEmptyStr: "", positiveNum: "", }); expect(result.success).toEqual(false); if (!result.success) { expect(result.error.issues.length).toEqual(2); expect(result.error.issues[0].code).toEqual(z.ZodIssueCode.too_small); expect(result.error.issues[1].code).toEqual(z.ZodIssueCode.too_small); } }); test("preprocess validates with sibling errors", () => { expect(() => { z.object({ // Must be first missing: z.string().refine(() => false), preprocess: z.preprocess((data: any) => data?.trim(), z.string().regex(/ asdf/)), }).parse({ preprocess: " asdf" }); }).toThrow( JSON.stringify( [ { code: "invalid_type", expected: "string", received: "undefined", path: ["missing"], message: "Required", }, { validation: "regex", code: "invalid_string", message: "Invalid", path: ["preprocess"], }, ], null, 2 ) ); });