Checking if a given value matches the schema. This is different to parsing because it doesn't return a new value.
import * as v from "valibot";
import { personSchema } from "./schemas";
if (v.is(personSchema, data)) {
// data is narrowed to Person
}
Optimizations
| Library | Version | Optimizations | Mean | Compare | |||
|---|---|---|---|---|---|---|---|
effect | Code snippet(Commented code is not benchmarked) | 3.19.3 | None | 674 ns | |||
valibot | Code snippet | 1.1.0 | None | 726 ns | 1.08x | ||
arktype | Code snippet | 2.1.25 | None | 761 ns | 1.13x | ||
typebox | Code snippet | 1.0.51 | None | 2 μs | 2.61x | ||
joi | Code snippet | 18.0.1 | None | 3 μs | 5.11x | ||
yup | Code snippet | 1.7.1 | None | 96 μs | 141.78x |