Parsing a value to match the schema. This is different to validation because it returns a new value.
import * as v from "valibot";
import { personSchema } from "./schemas";
const person = v.parse(personSchema, data);
// person is of type Person
| Library | Version | Optimizations | Error type | Mean | Compare | |||
|---|---|---|---|---|---|---|---|---|
valibot | Code snippet | 1.1.0 | None | All errors | 29 μs | |||
effect | Code snippet(Commented code is not benchmarked) | 3.19.3 | None | All errors | 43 μs | 1.48x | ||
joi | Code snippet | 18.0.1 | None | All errors | 58 μs | 2.03x | ||
zod (mini, jitless) | Code snippet | 4.1.12 | None | All errors | 76 μs | 2.63x | ||
arktype | Code snippet | 2.1.25 | None | All errors | 86 μs | 3.01x | ||
zod (jitless) | Code snippet | 4.1.12 | None | All errors | 94 μs | 3.26x | ||
typebox | Code snippet | 1.0.51 | None | All errors | 240 μs | 8.33x | ||
yup | Code snippet | 1.7.1 | None | All errors | 526 μs | 18.3x |