An easy-to-compose functional validation system for JavaScript developers
GitHub - antonioru/deep-waters: 🔥Deep Waters is an easy-to-compose functional validation system for javascript developers 🔥




Deep waters

    
  

  
    An easy-to-compose functional validation system for javascript developers
    
    
        
            📖 Documentation
        
    
  


💡 What is Deep Waters?
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.

    
        📖 Documentation
    

☕️ Features

Full functional
Strict types validation based on Object.prototype.toString instead of typeof to avoid unexpected behaviours
Tiny and lightweight
Extremely modular
Concise API

🕺 Installation
You can install it by using NPM:

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;

    
        📖 Documentation
    

🔰 Licence
Deep Waters is released under the MIT license & supports modern environments.
🧑‍🤝‍🧑 Contributing
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 test before submitting your merge request.
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
