An easy-to-compose functional validation system for javascript developers
npm install deep-waters

!npm
!GitHub stars

An easy-to-compose functional validation system for javascript developers
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 Object.prototype.toString instead of typeof to avoid unexpected behaviours
* Tiny and lightweight
* Extremely modular
* Concise API
You can install it by using NPM:
``bash`
npm install deep-waters
Deep Waters exports its modules as CommonJS modules, so that each one can be easily imported individually,
as the following:
`js
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.
`js
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:
1. You have updated the package.json version and reported your changes into the CHANGELOG file
2. make sure you run npm test` before submitting your merge request.
3. In case you're creating a new validator please make sure it is well documented and tested
---
Icon made by Freepik from www.freepik.com