Parsing a value to match the schema. This is different to validation because it returns a typed value, instead of a boolean.
Copy to clipboardimport * as v from "valibot"; import { personSchema } from "./schemas"; const person = v.parse( personSchema, data, ); // person is of type Person
Copy to clipboardimport * as v from "valibot"; import { personSchema } from "./schemas"; const person = v.parse(personSchema, data); // person is of type Person
| Library | Version | /wk | Optimizations | Error type | Mean | Compare | ||||
|---|---|---|---|---|---|---|---|---|---|---|
ata-validator | Code snippet | 1.45.0 | 8.29K | JIT | All errors | 46 ns | ||||
zod-compiler | Code snippet | 2.0.7 | 98.82K | Precompiled | All errors | 48 ns | 1.04x | |||
zod-compiler (compact) | Code snippet | 2.0.7 | 98.82K | Precompiled | All errors | 48 ns | 1.04x | |||
zod-compiler (bag) | Code snippet | 2.0.7 | 98.82K | Precompiled | All errors | 48 ns | 1.05x | |||
@paseri/compiler (safeParse) | Code snippet | 0.7.7 | 924 | Precompiled | All errors | 1 μs | 23.66x | |||
@paseri/paseri (safeParse) | Code snippet | 1.9.7 | 932 | None | All errors | 3 μs | 63.63x | |||
sury (asResult) | Code snippet(Setup code is not benchmarked) | 11.0.0 | 538.18K | JIT | All errors | 3 μs | 72.4x | |||
sury (parseOrThrow + compiled) | Code snippet(Setup code is not benchmarked) | 11.0.0 | 538.18K | JIT | All errors | 3 μs | 74.84x | |||
@paseri/compiler (parse) | Code snippet | 0.7.7 | 924 | Precompiled | All errors | 4 μs | 79.05x | |||
io-ts | Code snippet | 2.2.22 | 3.67M | None | All errors | 4 μs | 95.8x | |||
@paseri/paseri (parse) | Code snippet | 1.9.7 | 932 | None | All errors | 6 μs | 121.99x | |||
typebox (schema compile) | Code snippet(Setup code is not benchmarked) | 1.3.36 | 15.54M | JIT | All errors | 7 μs | 156.2x | |||
typebox (script compile) | Code snippet(Setup code is not benchmarked) | 1.3.36 | 15.54M | JIT | All errors | 7 μs | 158.45x | |||
valibot | Code snippet | 1.5.0 | 25.54M | None | All errors | 9 μs | 186.48x | |||
@remix-run/data-schema | Code snippet | 1.0.0 | 14.55K | None | All errors | 10 μs | 208.17x | |||
typebox (compile) | Code snippet(Setup code is not benchmarked) | 1.3.36 | 15.54M | JIT | All errors | 10 μs | 211.45x | |||
typebox (schema) | Code snippet | 1.3.36 | 15.54M | JIT | All errors | 10 μs | 216.79x | |||
zod | Code snippet | 4.6.5 | 387.37M | JIT | All errors | 10 μs | 218.03x | |||
zod (compile) | Code snippet | 4.6.5 | 387.37M | JIT | All errors | 10 μs | 229.72x | |||
typia (createValidate) | Code snippet(Setup code is not benchmarked) | 15.1.0 | 394.3K | Precompiled | All errors | 11 μs | 237.36x | |||
effect | Code snippet(Setup code is not benchmarked) | 4.0.1 | 51.26M | None | All errors | 12 μs | 252.22x | |||
typia (validate) | Code snippet | 15.1.0 | 394.3K | Precompiled | All errors | 12 μs | 253.96x | |||
ata-validator (parse) | Code snippet | 1.45.0 | 8.29K | JIT | All errors | 12 μs | 256.88x | |||
typebox | Code snippet | 1.3.36 | 15.54M | JIT | All errors | 13 μs | 286.98x | |||
@railway-ts/pipelines | Code snippet | 0.1.29 | 148 | None | All errors | 16 μs | 356.28x | |||
zod (jitless) | Code snippet | 4.6.5 | 387.37M | None | All errors | 17 μs | 368.48x | |||
zod/mini | Code snippet | 4.6.5 | 387.37M | JIT | All errors | 17 μs | 370.39x | |||
zod/mini (compile) | Code snippet | 4.6.5 | 387.37M | JIT | All errors | 17 μs | 370.44x | |||
zod/mini (jitless) | Code snippet | 4.6.5 | 387.37M | None | All errors | 17 μs | 371.02x | |||
zod/v3 | Code snippet | 4.6.5 | 387.37M | None | All errors | 24 μs | 528.15x | |||
decoders | Code snippet | 2.12.2 | 47.84K | None | All errors | 32 μs | 691.14x | |||
joi (no convert) | Code snippet | 18.2.9 | 31.1M | None | All errors | 41 μs | 897.12x | |||
joi | Code snippet | 18.2.9 | 31.1M | None | All errors | 43 μs | 930.67x | |||
superstruct (schema.validate) | Code snippet | 2.0.2 | 7.87M | None | All errors | 54 μs | 1_171.77x | |||
superstruct | Code snippet | 2.0.2 | 7.87M | None | All errors | 55 μs | 1_196.57x | |||
arktype | Code snippet | 2.2.7 | 2.55M | JIT | All errors | 70 μs | 1_523.16x | |||
@sapphire/shapeshift | Code snippet | 5.0.0 | 1.85M | None | All errors | 98 μs | 2_139.83x | |||
@sapphire/shapeshift (run) | Code snippet | 5.0.0 | 1.85M | None | All errors | 99 μs | 2_170.15x | |||
yup (strict) | Code snippet | 1.7.1 | 14.63M | None | All errors | 247 μs | 5_400.49x | |||
yup | Code snippet | 1.7.1 | 14.63M | None | All errors | 269 μs | 5_881.3x | |||