/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/all-errors.test.ts (4753B)
// @ts-ignore TS6133 import { expect, test } from "vitest"; import * as z from "zod/v3"; import { util } from "../helpers/util.js"; const Test = z.object({ f1: z.number(), f2: z.string().optional(), f3: z.string().nullable(), f4: z.array(z.object({ t: z.union([z.string(), z.boolean()]) })), }); type TestFlattenedErrors = z.inferFlattenedErrors; type TestFormErrors = z.inferFlattenedErrors; test("default flattened errors type inference", () => { type TestTypeErrors = { formErrors: string[]; fieldErrors: { [P in keyof z.TypeOf]?: string[] | undefined }; }; util.assertEqual, TestTypeErrors>(true); util.assertEqual, TestTypeErrors>(false); }); test("custom flattened errors type inference", () => { type ErrorType = { message: string; code: number }; type TestTypeErrors = { formErrors: ErrorType[]; fieldErrors: { [P in keyof z.TypeOf]?: ErrorType[] | undefined; }; }; util.assertEqual, TestTypeErrors>(false); util.assertEqual, TestTypeErrors>(true); util.assertEqual, TestTypeErrors>(false); }); test("form errors type inference", () => { type TestTypeErrors = { formErrors: string[]; fieldErrors: { [P in keyof z.TypeOf]?: string[] | undefined }; }; util.assertEqual, TestTypeErrors>(true); }); test(".flatten() type assertion", () => { const parsed = Test.safeParse({}) as z.SafeParseError; const validFlattenedErrors: TestFlattenedErrors = parsed.error.flatten(() => ({ message: "", code: 0 })); // @ts-expect-error should fail assertion between `TestFlattenedErrors` and unmapped `flatten()`. const invalidFlattenedErrors: TestFlattenedErrors = parsed.error.flatten(); const validFormErrors: TestFormErrors = parsed.error.flatten(); // @ts-expect-error should fail assertion between `TestFormErrors` and mapped `flatten()`. const invalidFormErrors: TestFormErrors = parsed.error.flatten(() => ({ message: "string", code: 0, })); [validFlattenedErrors, invalidFlattenedErrors, validFormErrors, invalidFormErrors]; }); test(".formErrors type assertion", () => { const parsed = Test.safeParse({}) as z.SafeParseError; const validFormErrors: TestFormErrors = parsed.error.formErrors; // @ts-expect-error should fail assertion between `TestFlattenedErrors` and `.formErrors`. const invalidFlattenedErrors: TestFlattenedErrors = parsed.error.formErrors; [validFormErrors, invalidFlattenedErrors]; }); test("all errors", () => { const propertySchema = z.string(); const schema = z .object({ a: propertySchema, b: propertySchema, }) .refine( (val) => { return val.a === val.b; }, { message: "Must be equal" } ); try { schema.parse({ a: "asdf", b: "qwer", }); } catch (error) { if (error instanceof z.ZodError) { expect(error.flatten()).toEqual({ formErrors: ["Must be equal"], fieldErrors: {}, }); } } try { schema.parse({ a: null, b: null, }); } catch (_error) { const error = _error as z.ZodError; expect(error.flatten()).toEqual({ formErrors: [], fieldErrors: { a: ["Expected string, received null"], b: ["Expected string, received null"], }, }); expect(error.flatten((iss) => iss.message.toUpperCase())).toEqual({ formErrors: [], fieldErrors: { a: ["EXPECTED STRING, RECEIVED NULL"], b: ["EXPECTED STRING, RECEIVED NULL"], }, }); // Test identity expect(error.flatten((i: z.ZodIssue) => i)).toEqual({ formErrors: [], fieldErrors: { a: [ { code: "invalid_type", expected: "string", message: "Expected string, received null", path: ["a"], received: "null", }, ], b: [ { code: "invalid_type", expected: "string", message: "Expected string, received null", path: ["b"], received: "null", }, ], }, }); // Test mapping expect(error.flatten((i: z.ZodIssue) => i.message.length)).toEqual({ formErrors: [], fieldErrors: { a: ["Expected string, received null".length], b: ["Expected string, received null".length], }, }); } });