proven
Version:
ES6 Component for validations.
96 lines (63 loc) • 4.01 kB
Markdown
# Proven.js [](https://www.npmjs.com/package/proven) [](https://github.com/FreeAllMedia/proven.git/blob/master/LICENSE) [](https://www.npmjs.com/package/proven) 
ES6 Component for validations.
```javascript
import {isNotEmpty} from "proven";
const wallet = {zip: null};
//it returns {result: true|false, message: "some validation message if false"};
if(isNotEmpty.call(wallet, "zip").result) {
//do something if the wallet has a zip
} else {
//do something if the wallet has no zip (null or undefined)
}
```
# Quality and Compatibility
[](https://travis-ci.org/FreeAllMedia/proven) [](https://coveralls.io/r/FreeAllMedia/proven) [](https://codeclimate.com/github/FreeAllMedia/proven) [](https://david-dm.org/FreeAllMedia/proven?theme=shields.io) [](https://david-dm.org/FreeAllMedia/proven?theme=shields.io#info=devDependencies)
*Every build and release is automatically tested on the following platforms:*
  
 
[](https://saucelabs.com/u/proven)
*If your platform is not listed above, you can test your local environment for compatibility by copying and pasting the following commands into your terminal:*
```
npm install proven
cd node_modules/proven
gulp test-local
```
# Installation
Copy and paste the following command into your terminal to install Proven:
```
npm install proven --save
```
## Import / Require
```
// ES6
import {isEmpty, isAssigned, isNumber} from "proven";
```
```
// ES5
var proven = require("proven");
```
```
// Require.js
define(["require"] , function (require) {
var proven = require("proven");
});
```
# Getting Started
Proven provide a set of functions to execute validations of different kinds on objects.
They provide both sync and async interfaces, and you should apply them to objects. See below
## Set of functions
* isNotEmpty.call(object, propertyName[, callback])
* isAssigned.call(object, propertyName[, callback])
* isNumber.call(object, propertyName[, callback])
All this functions will return an object, except if a callback is specified, case in which the result object will be returned on the callback using the node style (error, result).
The result object has always a boolean result property and a message property, which will have a string value if result is false.
Note: a falsy validation is not an error, so the result object is always the second parameter on the callback.
# How to Contribute
See something that could use improvement? Have a great feature idea? We listen!
You can submit your ideas through our [issues system](https://github.com/FreeAllMedia/proven/issues), or make the modifications yourself and submit them to us in the form of a [GitHub pull request](https://help.github.com/articles/using-pull-requests/).
We always aim to be friendly and helpful.
## Running Tests
It's easy to run the test suite locally, and *highly recommended* if you're using Proven.js on a platform we aren't automatically testing for.
```
npm test
```