Checking if a given value matches the schema. This is different to parsing because it doesn't return a new value.
Copy to clipboardimport * as v from "valibot"; import { personSchema } from "./schemas"; if (v.is(personSchema, data)) { // data is narrowed to Person }
Optimizations
| Library | Version | /wk | Optimizations | Mean | Compare | ||||
|---|---|---|---|---|---|---|---|---|---|
typia (createIs) | Code snippet(Commented code is not benchmarked) | 14.0.2 | 334.75K | Precompiled | 53 ns | ||||
typebox (compile) | Code snippet(Commented code is not benchmarked) | 1.3.18 | 8.78M | JIT | 66 ns | 1.25x | |||
typebox (schema compile) | Code snippet(Commented code is not benchmarked) | 1.3.18 | 8.78M | JIT | 67 ns | 1.27x | |||
typebox (script compile) | Code snippet(Commented code is not benchmarked) | 1.3.18 | 8.78M | JIT | 68 ns | 1.29x | |||
ajv (compile) | Code snippet(Commented code is not benchmarked) | 8.20.0 | 375.22M | JIT | 75 ns | 1.42x | |||
typia (is) | Code snippet | 14.0.2 | 334.75K | Precompiled | 84 ns | 1.6x | |||
ajv (validate) | Code snippet | 8.20.0 | 375.22M | JIT | 121 ns | 2.3x | |||
io-ts | Code snippet | 2.2.22 | 2.76M | None | 131 ns | 2.48x | |||
ata-validator | Code snippet | 1.7.1 | 2.29K | JIT | 644 ns | 12.18x | |||
@railway-ts/pipelines | Code snippet | 0.1.29 | 303 | None | 645 ns | 12.19x | |||
effect | Code snippet(Commented code is not benchmarked) | 3.22.0 | 31.1M | None | 657 ns | 12.43x | |||
valibot | Code snippet | 1.4.2 | 17.99M | None | 684 ns | 12.93x | |||
arktype | Code snippet | 2.2.3 | 1.74M | JIT | 993 ns | 18.8x | |||
effect@beta | Code snippet(Commented code is not benchmarked) | 4.0.0-beta.101 | 31.1M | None | 1 μs | 22.68x | |||
typebox | Code snippet | 1.3.18 | 8.78M | JIT | 4 μs | 79.65x | |||
typebox (schema) | Code snippet | 1.3.18 | 8.78M | JIT | 4 μs | 82.98x | |||
sury | Code snippet | 11.0.0-rc.2 | 320.42K | JIT | 9 μs | 167x | |||
superstruct | Code snippet | 2.0.2 | 6.18M | None | 12 μs | 227.37x | |||
superstruct (schema.is) | Code snippet | 2.0.2 | 6.18M | None | 12 μs | 232.57x | |||
zod-compiler (compact) | Code snippet | 1.28.0 | 76.26K | Precompiled | 12 μs | 232.6x | |||
zod-compiler | Code snippet | 1.28.0 | 76.26K | Precompiled | 16 μs | 305.15x | |||
zod-compiler (bag) | Code snippet | 1.28.0 | 76.26K | Precompiled | 17 μs | 312.76x | |||
yup | Code snippet | 1.7.1 | 12.82M | None | 102 μs | 1_924.48x | |||
runtypes | Code snippet | 7.0.5 | 230.26K | None | 178 μs | 3_358.2x | |||
@sapphire/shapeshift | Code snippet | 5.0.0 | 1.26M | None | 318 μs | 6_011.14x | |||