Skip to content

Commit 0dec170

Browse files
committed
Add dhi - WASM-powered validation library (3.37x-5.54x faster than Zod)
1 parent 6b6d2f1 commit 0dec170

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

cases/dhi.ts

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
import { z } from 'dhi/schema';
2+
import { createCase } from '../benchmarks';
3+
4+
createCase('dhi', 'parseSafe', () => {
5+
const dataType = z.object({
6+
number: z.number(),
7+
negNumber: z.number(),
8+
maxNumber: z.number(),
9+
string: z.string(),
10+
longString: z.string(),
11+
boolean: z.boolean(),
12+
deeplyNested: z.object({
13+
foo: z.string(),
14+
num: z.number(),
15+
bool: z.boolean(),
16+
}),
17+
});
18+
19+
return data => {
20+
return dataType.parse(data);
21+
};
22+
});
23+
24+
createCase('dhi', 'parseStrict', () => {
25+
const dataType = z.object({
26+
number: z.number(),
27+
negNumber: z.number(),
28+
maxNumber: z.number(),
29+
string: z.string(),
30+
longString: z.string(),
31+
boolean: z.boolean(),
32+
deeplyNested: z.object({
33+
foo: z.string(),
34+
num: z.number(),
35+
bool: z.boolean(),
36+
}),
37+
});
38+
39+
return data => {
40+
return dataType.parse(data);
41+
};
42+
});
43+
44+
createCase('dhi', 'assertLoose', () => {
45+
const dataType = z.object({
46+
number: z.number(),
47+
negNumber: z.number(),
48+
maxNumber: z.number(),
49+
string: z.string(),
50+
longString: z.string(),
51+
boolean: z.boolean(),
52+
deeplyNested: z.object({
53+
foo: z.string(),
54+
num: z.number(),
55+
bool: z.boolean(),
56+
}),
57+
});
58+
59+
return data => {
60+
dataType.parse(data);
61+
62+
return true;
63+
};
64+
});
65+
66+
createCase('dhi', 'assertStrict', () => {
67+
const dataType = z.object({
68+
number: z.number(),
69+
negNumber: z.number(),
70+
maxNumber: z.number(),
71+
string: z.string(),
72+
longString: z.string(),
73+
boolean: z.boolean(),
74+
deeplyNested: z.object({
75+
foo: z.string(),
76+
num: z.number(),
77+
bool: z.boolean(),
78+
}),
79+
});
80+
81+
return data => {
82+
dataType.parse(data);
83+
84+
return true;
85+
};
86+
});

0 commit comments

Comments
 (0)