Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
cqt /
node_modules /
zod /
src /
v3 /
tests /
[ HOME SHELL ]
Name
Size
Permission
Action
Mocker.ts
1.31
KB
-rw-r--r--
all-errors.test.ts
4.64
KB
-rw-r--r--
anyunknown.test.ts
673
B
-rw-r--r--
array.test.ts
1.89
KB
-rw-r--r--
async-parsing.test.ts
12.34
KB
-rw-r--r--
async-refinements.test.ts
1.57
KB
-rw-r--r--
base.test.ts
782
B
-rw-r--r--
bigint.test.ts
1.93
KB
-rw-r--r--
branded.test.ts
1.69
KB
-rw-r--r--
catch.test.ts
6.4
KB
-rw-r--r--
coerce.test.ts
6.49
KB
-rw-r--r--
complex.test.ts
1.87
KB
-rw-r--r--
custom.test.ts
950
B
-rw-r--r--
date.test.ts
983
B
-rw-r--r--
deepmasking.test.ts
5.09
KB
-rw-r--r--
default.test.ts
3.44
KB
-rw-r--r--
description.test.ts
1.29
KB
-rw-r--r--
discriminated-unions.test.ts
8.34
KB
-rw-r--r--
enum.test.ts
2.67
KB
-rw-r--r--
error.test.ts
16.42
KB
-rw-r--r--
firstparty.test.ts
2.33
KB
-rw-r--r--
firstpartyschematypes.test.ts
788
B
-rw-r--r--
function.test.ts
6.42
KB
-rw-r--r--
generics.test.ts
1.49
KB
-rw-r--r--
instanceof.test.ts
1.13
KB
-rw-r--r--
intersection.test.ts
3.02
KB
-rw-r--r--
language-server.source.ts
1.25
KB
-rw-r--r--
language-server.test.ts
8.12
KB
-rw-r--r--
literal.test.ts
1.04
KB
-rw-r--r--
map.test.ts
3.46
KB
-rw-r--r--
masking.test.ts
85
B
-rw-r--r--
mocker.test.ts
389
B
-rw-r--r--
nan.test.ts
587
B
-rw-r--r--
nativeEnum.test.ts
2.29
KB
-rw-r--r--
nullable.test.ts
1.14
KB
-rw-r--r--
number.test.ts
6.22
KB
-rw-r--r--
object-augmentation.test.ts
569
B
-rw-r--r--
object-in-es5-env.test.ts
778
B
-rw-r--r--
object.test.ts
11.5
KB
-rw-r--r--
optional.test.ts
1.19
KB
-rw-r--r--
parseUtil.test.ts
869
B
-rw-r--r--
parser.test.ts
1.1
KB
-rw-r--r--
partials.test.ts
6.83
KB
-rw-r--r--
pickomit.test.ts
3.54
KB
-rw-r--r--
pipeline.test.ts
823
B
-rw-r--r--
preprocess.test.ts
4.42
KB
-rw-r--r--
primitive.test.ts
11.93
KB
-rw-r--r--
promise.test.ts
2.43
KB
-rw-r--r--
readonly.test.ts
7.17
KB
-rw-r--r--
record.test.ts
3.65
KB
-rw-r--r--
recursive.test.ts
3.85
KB
-rw-r--r--
refine.test.ts
7.98
KB
-rw-r--r--
safeparse.test.ts
628
B
-rw-r--r--
set.test.ts
4.68
KB
-rw-r--r--
standard-schema.test.ts
2.53
KB
-rw-r--r--
string.test.ts
64.08
KB
-rw-r--r--
transformer.test.ts
5.55
KB
-rw-r--r--
tuple.test.ts
2.63
KB
-rw-r--r--
unions.test.ts
1.5
KB
-rw-r--r--
validations.test.ts
3.74
KB
-rw-r--r--
void.test.ts
349
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : record.test.ts
// @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<typeof booleanRecord>; const recordWithEnumKeys = z.record(z.enum(["Tuna", "Salmon"]), z.string()); type recordWithEnumKeys = z.infer<typeof recordWithEnumKeys>; const recordWithLiteralKeys = z.record(z.union([z.literal("Tuna"), z.literal("Salmon")]), z.string()); type recordWithLiteralKeys = z.infer<typeof recordWithLiteralKeys>; test("type inference", () => { util.assertEqual<booleanRecord, Record<string, boolean>>(true); util.assertEqual<recordWithEnumKeys, Partial<Record<"Tuna" | "Salmon", string>>>(true); util.assertEqual<recordWithLiteralKeys, Partial<Record<"Tuna" | "Salmon", string>>>(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, }); });
Close