💡 What is Deep Waters?
It allows to easily create custom and reusable validators from the pre-existing ones by using a functional approach and the composition principle.
- Full functional
- Strict types validation based on
typeofto avoid unexpected behaviours
- Tiny and lightweight
- Extremely modular
- Concise API
You can install it by using NPM:
npm install deep-waters
Deep Waters exports its modules as CommonJS modules, so that each one can be easily imported individually, as the following:
const compose = require('deep-waters/compose'); const minLength = require('deep-waters/minLength'); const ofUniqueItems = require('deep-waters/ofUniqueItems'); const arrayValidator = compose(minLength(3), ofUniqueItems); arrayValidator([1,2,3,4]); // => true;
Alternatively, it's possible to import all the modules at once with the same result.
const DW = require('deep-waters'); const arrayValidator = DW.compose(DW.minLength(3), DW.ofUniqueItems); arrayValidator([1,2,3,4]); // => true;
Deep Waters is released under the MIT license & supports modern environments.
Contributions are very welcome and wanted.
To submit your custom hook, please make sure your read our CONTRIBUTING guidelines.
Before submitting a new merge request, please make sure:
- You have updated the package.json version and reported your changes into the CHANGELOG file
- make sure you run
npm testbefore submitting your merge request.
- In case you're creating a new validator please make sure it is well documented and tested