It's a schema validator (like yup or joi or ajv).
The philosophy behind @zuze/schema is to:
-
Be functional/composable
-
Be configurable (the exact opposite of 1) - via the AST API - to create schema definitions that can be stored once and run ANYWEHRE.
-
Be fun - check out how cool our conditions are!
@zuze/schema doesn't claim to be better (it's not) or faster (it's not) than any of the other schema validation projects, but it does aim to have a more fun API (whether you like to write functional code or appreciate some fine YML-like configuration via the AST API)!
Two things:
-
Validating data structures and providing error messages (forms, API endpoints, etc).
-
Creating configurable everything*.
*isValid(schema,value)
returns a boolean
- so it's as good as an if-else
statement, but better. If your application can consume its logic from a source external to itself (a config file, a service, etc) you get to replace a lot of code with configuration (that your backend might want to share with your frontend), do a lot less releases, and expose yourself to a lot less risk.
Install it:
npm install @zuze/schema
# or
yarn install @zuze/schema
It's all here https://zuze-lab.github.io/schema/!