1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import Benchmark from "benchmark";
- import { z } from "zod/v3";
- const emptySuite = new Benchmark.Suite("z.object: empty");
- const shortSuite = new Benchmark.Suite("z.object: short");
- const longSuite = new Benchmark.Suite("z.object: long");
- const empty = z.object({});
- const short = z.object({
- string: z.string(),
- });
- const long = z.object({
- string: z.string(),
- number: z.number(),
- boolean: z.boolean(),
- });
- emptySuite
- .add("valid", () => {
- empty.parse({});
- })
- .add("valid: extra keys", () => {
- empty.parse({ string: "string" });
- })
- .add("invalid: null", () => {
- try {
- empty.parse(null);
- }
- catch (_err) { }
- })
- .on("cycle", (e) => {
- console.log(`${emptySuite.name}: ${e.target}`);
- });
- shortSuite
- .add("valid", () => {
- short.parse({ string: "string" });
- })
- .add("valid: extra keys", () => {
- short.parse({ string: "string", number: 42 });
- })
- .add("invalid: null", () => {
- try {
- short.parse(null);
- }
- catch (_err) { }
- })
- .on("cycle", (e) => {
- console.log(`${shortSuite.name}: ${e.target}`);
- });
- longSuite
- .add("valid", () => {
- long.parse({ string: "string", number: 42, boolean: true });
- })
- .add("valid: extra keys", () => {
- long.parse({ string: "string", number: 42, boolean: true, list: [] });
- })
- .add("invalid: null", () => {
- try {
- long.parse(null);
- }
- catch (_err) { }
- })
- .on("cycle", (e) => {
- console.log(`${longSuite.name}: ${e.target}`);
- });
- export default {
- suites: [emptySuite, shortSuite, longSuite],
- };
|