/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/record.test.ts (3735B)
// @ts-ignore TS6133 import { expect, test } from "vitest"; import * as z from "zod/v3"; import { util } from "../helpers/util.js"; const booleanRecord = z.record(z.boolean()); type booleanRecord = z.infer; const recordWithEnumKeys = z.record(z.enum(["Tuna", "Salmon"]), z.string()); type recordWithEnumKeys = z.infer; const recordWithLiteralKeys = z.record(z.union([z.literal("Tuna"), z.literal("Salmon")]), z.string()); type recordWithLiteralKeys = z.infer; test("type inference", () => { util.assertEqual>(true); util.assertEqual>>(true); util.assertEqual>>(true); }); test("methods", () => { booleanRecord.optional(); booleanRecord.nullable(); }); test("string record parse - pass", () => { booleanRecord.parse({ k1: true, k2: false, 1234: false, }); }); test("string record parse - fail", () => { const badCheck = () => booleanRecord.parse({ asdf: 1234, } as any); expect(badCheck).toThrow(); expect(() => booleanRecord.parse("asdf")).toThrow(); }); test("string record parse - fail", () => { const badCheck = () => booleanRecord.parse({ asdf: {}, } as any); expect(badCheck).toThrow(); }); test("string record parse - fail", () => { const badCheck = () => booleanRecord.parse({ asdf: [], } as any); expect(badCheck).toThrow(); }); test("key schema", () => { const result1 = recordWithEnumKeys.parse({ Tuna: "asdf", Salmon: "asdf", }); expect(result1).toEqual({ Tuna: "asdf", Salmon: "asdf", }); const result2 = recordWithLiteralKeys.parse({ Tuna: "asdf", Salmon: "asdf", }); expect(result2).toEqual({ Tuna: "asdf", Salmon: "asdf", }); // shouldn't require us to specify all props in record const result3 = recordWithEnumKeys.parse({ Tuna: "abcd", }); expect(result3).toEqual({ Tuna: "abcd", }); // shouldn't require us to specify all props in record const result4 = recordWithLiteralKeys.parse({ Salmon: "abcd", }); expect(result4).toEqual({ Salmon: "abcd", }); expect(() => recordWithEnumKeys.parse({ Tuna: "asdf", Salmon: "asdf", Trout: "asdf", }) ).toThrow(); expect(() => recordWithLiteralKeys.parse({ Tuna: "asdf", Salmon: "asdf", Trout: "asdf", }) ).toThrow(); }); // test("record element", () => { // expect(booleanRecord.element).toBeInstanceOf(z.ZodBoolean); // }); test("key and value getters", () => { const rec = z.record(z.string(), z.number()); rec.keySchema.parse("asdf"); rec.valueSchema.parse(1234); rec.element.parse(1234); }); test("is not vulnerable to prototype pollution", async () => { const rec = z.record( z.object({ a: z.string(), }) ); const data = JSON.parse(` { "__proto__": { "a": "evil" }, "b": { "a": "good" } } `); const obj1 = rec.parse(data); expect(obj1.a).toBeUndefined(); const obj2 = rec.safeParse(data); expect(obj2.success).toBe(true); if (obj2.success) { expect(obj2.data.a).toBeUndefined(); } const obj3 = await rec.parseAsync(data); expect(obj3.a).toBeUndefined(); const obj4 = await rec.safeParseAsync(data); expect(obj4.success).toBe(true); if (obj4.success) { expect(obj4.data.a).toBeUndefined(); } }); test("dont parse undefined values", () => { const result1 = z.record(z.any()).parse({ foo: undefined }); expect(result1).toEqual({ foo: undefined, }); });