deno.land / x / zod@v3.19.1 / benchmarks / primitives.ts

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import Benchmark from "benchmark";
import { z } from "../index.ts";
const enumSuite = new Benchmark.Suite("z.enum");const enumSchema = z.enum(["a", "b", "c"]);
enumSuite .add("valid", () => { enumSchema.parse("a"); }) .add("invalid", () => { try { enumSchema.parse("x"); } catch (e) {} }) .on("cycle", (e: Benchmark.Event) => { console.log(`z.enum: ${e.target}`); });
const undefinedSuite = new Benchmark.Suite("z.undefined");const undefinedSchema = z.undefined();
undefinedSuite .add("valid", () => { undefinedSchema.parse(undefined); }) .add("invalid", () => { try { undefinedSchema.parse(1); } catch (e) {} }) .on("cycle", (e: Benchmark.Event) => { console.log(`z.undefined: ${e.target}`); });
const literalSuite = new Benchmark.Suite("z.literal");const short = "short";const bad = "bad";const literalSchema = z.literal("short");
literalSuite .add("valid", () => { literalSchema.parse(short); }) .add("invalid", () => { try { literalSchema.parse(bad); } catch (e) {} }) .on("cycle", (e: Benchmark.Event) => { console.log(`z.literal: ${e.target}`); });
const numberSuite = new Benchmark.Suite("z.number");const numberSchema = z.number().int();
numberSuite .add("valid", () => { numberSchema.parse(1); }) .add("invalid type", () => { try { numberSchema.parse("bad"); } catch (e) {} }) .add("invalid number", () => { try { numberSchema.parse(0.5); } catch (e) {} }) .on("cycle", (e: Benchmark.Event) => { console.log(`z.number: ${e.target}`); });
export default { suites: [enumSuite, undefinedSuite, literalSuite, numberSuite],};
zod

Version Info

Tagged at
a year ago