# Deep Waters

## Deep Waters

- [What is Deep Waters](https://antonioru.gitbook.io/deep-waters/master.md): a lightweight functional javascript validation system
- [Installation](https://antonioru.gitbook.io/deep-waters/getting-started/installation.md): works both on front and back-end
- [compose](https://antonioru.gitbook.io/deep-waters/composition/compose.md): compose :: \[ Function ] → a → Boolean
- [when](https://antonioru.gitbook.io/deep-waters/composition/when.md): when :: (Function, Function) → Function → Boolean
- [or](https://antonioru.gitbook.io/deep-waters/composition/or.md): or :: \[ Function ] → a → Boolean
- [not](https://antonioru.gitbook.io/deep-waters/composition/not.md): not :: Function → a → Boolean
- [arrayOf](https://antonioru.gitbook.io/deep-waters/validators/arrayof.md): arrayOf :: Function → \[ a ] → Boolean
- [arrayOfShape](https://antonioru.gitbook.io/deep-waters/validators/arrayofshape.md): arrayOfShape :: { k: Function } → \[ a ] → Boolean
- [between](https://antonioru.gitbook.io/deep-waters/validators/between.md): between :: Number → Number → a → Boolean
- [biggerThan](https://antonioru.gitbook.io/deep-waters/validators/biggerthan.md): biggerThan :: Number → a → Boolean
- [contains](https://antonioru.gitbook.io/deep-waters/validators/contains.md): contains :: a → \[ b ]  → Boolean
- [equals](https://antonioru.gitbook.io/deep-waters/validators/equals.md): equals :: a → a → Boolean
- [every](https://antonioru.gitbook.io/deep-waters/validators/every.md): every :: Function → \[ a ] → Boolean
- [hasProp](https://antonioru.gitbook.io/deep-waters/validators/hasprop.md): hasProp :: string → { k: v } → Boolean
- [hasShape](https://antonioru.gitbook.io/deep-waters/validators/hasshape.md): hasShape :: { k: Function } → a → Boolean
- [isCreditCard](https://antonioru.gitbook.io/deep-waters/validators/iscreditcard.md): isCreditCard ::  a → Boolean
- [isVISA](https://antonioru.gitbook.io/deep-waters/validators/iscreditcard/isvisa.md): isVISA ::  a → Boolean
- [isMastercard](https://antonioru.gitbook.io/deep-waters/validators/iscreditcard/ismastercard.md): isMastercard ::  a → Boolean
- [isAmericanExpress](https://antonioru.gitbook.io/deep-waters/validators/iscreditcard/isamericanexpress.md): isAmericanExpress ::  a → Boolean
- [isDinersClub](https://antonioru.gitbook.io/deep-waters/validators/iscreditcard/isdinersclub.md): isDinersClub ::  a → Boolean
- [isDiscover](https://antonioru.gitbook.io/deep-waters/validators/iscreditcard/isdiscover.md): isDiscover ::  a → Boolean
- [isJCB](https://antonioru.gitbook.io/deep-waters/validators/iscreditcard/isjcb.md): isJCB ::  a → Boolean
- [isDateFormat \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isdateformat.md)
- [isDivisibleBy \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isdivisibleby-td.md)
- [isEmail \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isemail-td.md)
- [isEmpty \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isempty-td.md)
- [isEmptyString \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isemptystring-td.md)
- [isIP \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isip-td.md)
- [isIPv6 \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isip-td/isipv6-td.md)
- [isIPv4 \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isip-td/isipv4-td.md)
- [isNumeric \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isnumeric-td.md)
- [isPhone \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isphone-td.md)
- [isPrimitive \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isprimitive-td.md)
- [isRequired \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isrequired-td.md)
- [isURL \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/isurl-td.md)
- [matchesPattern \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/matchespattern-td.md)
- [maxLenght \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/maxlenght-td.md)
- [minLength \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/minlength-td.md)
- [ofLength \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/oflength-td.md)
- [ofUniqueItems \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/ofuniqueitems-td.md)
- [ofClass](https://antonioru.gitbook.io/deep-waters/validators/ofclass.md): arrayOf :: String → a → Boolean
- [oneOfValues \[TD\]](https://antonioru.gitbook.io/deep-waters/validators/oneofvalues-td.md)
- [smallerThan](https://antonioru.gitbook.io/deep-waters/validators/smallerthan.md): biggerThan :: Number → a → Boolean
- [isBigInt](https://antonioru.gitbook.io/deep-waters/type-validators/untitled.md): isBigInt :: a → Boolean
- [isBoolean](https://antonioru.gitbook.io/deep-waters/type-validators/isboolean.md): isBoolean :: a → Boolean
- [isBuffer](https://antonioru.gitbook.io/deep-waters/type-validators/isbuffer.md): isBuffer :: a → Boolean
- [isDate](https://antonioru.gitbook.io/deep-waters/type-validators/isdate.md): isDate :: a → Boolean
- [isError](https://antonioru.gitbook.io/deep-waters/type-validators/iserror.md): isError :: a → Boolean
- [isFunction](https://antonioru.gitbook.io/deep-waters/type-validators/isfunction.md): isFunction :: a → Boolean
- [isInt8Array](https://antonioru.gitbook.io/deep-waters/type-validators/isint8array.md): isInt8Array :: a → Boolean
- [isMap](https://antonioru.gitbook.io/deep-waters/type-validators/ismap.md): isMap :: a → Boolean
- [isNull](https://antonioru.gitbook.io/deep-waters/type-validators/isnull.md): isNull :: a → Boolean
- [isNumber](https://antonioru.gitbook.io/deep-waters/type-validators/isnumber.md): isNumber :: a → Boolean
- [isObject](https://antonioru.gitbook.io/deep-waters/type-validators/isobject.md): isObject :: a → Boolean
- [isRegExp](https://antonioru.gitbook.io/deep-waters/type-validators/isregexp.md): isRegExp :: a → Boolean
- [isSet](https://antonioru.gitbook.io/deep-waters/type-validators/isset.md): isSet :: a → Boolean
- [isString](https://antonioru.gitbook.io/deep-waters/type-validators/isstring.md): isString :: a → Boolean
- [isSymbol](https://antonioru.gitbook.io/deep-waters/type-validators/issymbol.md): isSymbol :: a → Boolean
- [isUint8Array](https://antonioru.gitbook.io/deep-waters/type-validators/isuint8array.md): isUint8Array :: a → Boolean
- [isUndefined](https://antonioru.gitbook.io/deep-waters/type-validators/isundefined.md): isUndefined :: a → Boolean
- [isWeakMap](https://antonioru.gitbook.io/deep-waters/type-validators/isweakmap.md): isWeakMap :: a → Boolean
- [isWeakSet](https://antonioru.gitbook.io/deep-waters/type-validators/isweakset.md): isWeakSet :: a → Boolean
