114 lines
2.8 KiB
Markdown
114 lines
2.8 KiB
Markdown
|
# has-values [![NPM version](https://img.shields.io/npm/v/has-values.svg?style=flat)](https://www.npmjs.com/package/has-values) [![NPM downloads](https://img.shields.io/npm/dm/has-values.svg?style=flat)](https://npmjs.org/package/has-values) [![Build Status](https://img.shields.io/travis/jonschlinkert/has-values.svg?style=flat)](https://travis-ci.org/jonschlinkert/has-values)
|
||
|
|
||
|
> Returns true if any values exist, false if empty. Works for booleans, functions, numbers, strings, nulls, objects and arrays.
|
||
|
|
||
|
## Install
|
||
|
|
||
|
Install with [npm](https://www.npmjs.com/):
|
||
|
|
||
|
```sh
|
||
|
$ npm install has-values --save
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
var hasValue = require('has-values');
|
||
|
|
||
|
hasValue('a');
|
||
|
//=> true
|
||
|
|
||
|
hasValue('');
|
||
|
//=> false
|
||
|
|
||
|
hasValue(1);
|
||
|
//=> true
|
||
|
|
||
|
hasValue(0);
|
||
|
//=> false
|
||
|
|
||
|
hasValue(0, true); // treat zero as a value
|
||
|
//=> true
|
||
|
|
||
|
hasValue({a: 'a'}});
|
||
|
//=> true
|
||
|
|
||
|
hasValue({}});
|
||
|
//=> false
|
||
|
|
||
|
hasValue(['a']);
|
||
|
//=> true
|
||
|
|
||
|
hasValue([]);
|
||
|
//=> false
|
||
|
|
||
|
hasValue(function(foo) {}); // function length/arity
|
||
|
//=> true
|
||
|
|
||
|
hasValue(function() {});
|
||
|
//=> false
|
||
|
|
||
|
hasValue(true);
|
||
|
hasValue(false);
|
||
|
//=> true
|
||
|
```
|
||
|
|
||
|
## isEmpty
|
||
|
|
||
|
To test for empty values, do:
|
||
|
|
||
|
```js
|
||
|
function isEmpty(o, isZero) {
|
||
|
return !hasValue(o, isZero);
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Related projects
|
||
|
|
||
|
You might also be interested in these projects:
|
||
|
|
||
|
* [has-value](https://www.npmjs.com/package/has-value): Returns true if a value exists, false if empty. Works with deeply nested values using… [more](https://www.npmjs.com/package/has-value) | [homepage](https://github.com/jonschlinkert/has-value)
|
||
|
* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object)
|
||
|
* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject)
|
||
|
|
||
|
## Contributing
|
||
|
|
||
|
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/has-values/issues/new).
|
||
|
|
||
|
## Building docs
|
||
|
|
||
|
Generate readme and API documentation with [verb](https://github.com/verbose/verb):
|
||
|
|
||
|
```sh
|
||
|
$ npm install verb && npm run docs
|
||
|
```
|
||
|
|
||
|
Or, if [verb](https://github.com/verbose/verb) is installed globally:
|
||
|
|
||
|
```sh
|
||
|
$ verb
|
||
|
```
|
||
|
|
||
|
## Running tests
|
||
|
|
||
|
Install dev dependencies:
|
||
|
|
||
|
```sh
|
||
|
$ npm install -d && npm test
|
||
|
```
|
||
|
|
||
|
## Author
|
||
|
|
||
|
**Jon Schlinkert**
|
||
|
|
||
|
* [github/jonschlinkert](https://github.com/jonschlinkert)
|
||
|
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
|
||
|
|
||
|
## License
|
||
|
|
||
|
Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
|
||
|
Released under the [MIT license](https://github.com/jonschlinkert/has-values/blob/master/LICENSE).
|
||
|
|
||
|
***
|
||
|
|
||
|
_This file was generated by [verb](https://github.com/verbose/verb), v, on March 27, 2016._
|