âš¡âš Benchmark results have changed after switching to isolated node processes for each benchmarked package, see #864 âš âš¡
These packages are capable of validating the data for type correctness.
E.g. if string
was expected, but a number
was provided, the validator should fail.
It has a validator function or method that returns a valid type casted value or throws.
const data: any = {}
// `res` is now type casted to the right type
const res = isValid(data)
Or it has a type guard function that in a truthy block type casts the value.
const data: any = {}
function isMyDataValid(data: any) {
// isValidGuard is the type guard function provided by the package
if (isValidGuard(data)) {
// data here is "guarded" and therefore inferred to be of the right type
return data
}
throw new Error('Invalid!')
}
// `res` is now type casted to the right type
const res = isMyDataValid(data)
npm run start
- run benchmarks for all modulesnpm run start run zod myzod valita
- run benchmarks only for a few selected modulesnpm run docs:serve
- result viewernpm run test
- run tests on all modules.github/workflows/pr.yml
and .github/workflows/release.yml
NODE_VERSIONS
in docs/dist/app.tsx
and run npm run docs:build
NODE_VERSION_FOR_PREVIEW
in benchmarks/helpers/main.ts