All Projects β†’ antonioru β†’ Deep Waters

antonioru / Deep Waters

Licence: mit
πŸ”₯Deep Waters is an easy-to-compose functional validation system for javascript developers πŸ”₯

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Deep Waters

Fluidvalidator
General purpose validation system for objects, nested objects, enumerables written in Swift
Stars: ✭ 89 (-52.66%)
Mutual labels:  validation, validation-library
Typescript Runtime Type Benchmarks
Benchmark Comparison of Packages with Runtime Validation and TypeScript Support
Stars: ✭ 119 (-36.7%)
Mutual labels:  validation, validation-library
Validator Collection
Python library of 60+ commonly-used validator functions
Stars: ✭ 91 (-51.6%)
Mutual labels:  validation, validation-library
Request via
RequestVia: A Functional HTTP Client That Wraps Net::HTTP
Stars: ✭ 74 (-60.64%)
Mutual labels:  functional-programming, functional
Rangeless
c++ LINQ -like library of higher-order functions for data manipulation
Stars: ✭ 148 (-21.28%)
Mutual labels:  functional-programming, functional
Bulb
A reactive programming library for JavaScript.
Stars: ✭ 84 (-55.32%)
Mutual labels:  functional-programming, functional
Validator
Drop in user input validation for your iOS apps.
Stars: ✭ 1,444 (+668.09%)
Mutual labels:  validation, validation-library
Lambda
Fun with Ξ» calculus!
Stars: ✭ 65 (-65.43%)
Mutual labels:  functional-programming, functional
Sup
Composable, purely functional healthchecks in Scala.
Stars: ✭ 138 (-26.6%)
Mutual labels:  functional-programming, functional
Redux Most
Most.js based middleware for Redux. Handle async actions with monadic streams & reactive programming.
Stars: ✭ 137 (-27.13%)
Mutual labels:  functional-programming, functional
Ramtuary
Ramda + Ramda Fantasy + Sanctuary REPL 🌿
Stars: ✭ 72 (-61.7%)
Mutual labels:  functional-programming, functional
Kotlin Openapi Spring Functional Template
πŸƒ Kotlin Spring 5 Webflux functional application with api request validation and interactive api doc
Stars: ✭ 159 (-15.43%)
Mutual labels:  validation, functional
Openapi Spring Webflux Validator
🌱 A friendly kotlin library to validate API endpoints using an OpenApi 3.0 and Swagger 2.0 specification
Stars: ✭ 67 (-64.36%)
Mutual labels:  validation, functional
Fuego
Functional Experiment in Golang
Stars: ✭ 87 (-53.72%)
Mutual labels:  functional-programming, functional
Vee Validate
βœ… Form Validation for Vue.js
Stars: ✭ 8,820 (+4591.49%)
Mutual labels:  validation, validation-library
Forge
Functional style JSON parsing in Kotlin
Stars: ✭ 106 (-43.62%)
Mutual labels:  functional-programming, functional
Kari.hpp
Experimental library for currying in C++17
Stars: ✭ 58 (-69.15%)
Mutual labels:  functional-programming, functional
Lcformvalidation
Javascript based form validation library, third party library / framework agnostic.
Stars: ✭ 58 (-69.15%)
Mutual labels:  validation, validation-library
Lambda Lantern
πŸ§™ β€Žβ€Ž A 3D game about functional programming patterns. Uses PureScript Native, C++, and Panda3D.
Stars: ✭ 122 (-35.11%)
Mutual labels:  functional-programming, functional
Helios
A purely functional JSON library for Kotlin built on Ξ›rrow
Stars: ✭ 157 (-16.49%)
Mutual labels:  functional-programming, functional

Build Status License: MIT npm GitHub stars

Deep waters

deep-waters

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

πŸ“– Documentation

Usage example

πŸ’‘ 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:

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;

πŸ“– 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:

  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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].