3.2 KiB
3.2 KiB
has-value
Returns true if a value exists, false if empty. Works with deeply nested values using object paths.
Install
Install with npm:
$ npm install has-value --save
Works for:
- booleans
- functions
- numbers (pass
true
as the last arg to treat zero as a value instead of falsey) - strings
- nulls
- object
- arrays
Usage
Works with nested object paths or a single value:
var hasValue = require('has-value');
hasValue({a: {b: {c: 'foo'}}} 'a.b.c');
//=> true
hasValue('a');
//=> true
hasValue('');
//=> false
hasValue(1);
//=> true
hasValue(0);
//=> false
hasValue(0, true); // pass `true` as the last arg to 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 do the opposite and test for empty values, do:
function isEmpty(o, isZero) {
return !hasValue.apply(hasValue, arguments);
}
Related projects
You might also be interested in these projects:
- get-object: Get a property from an object using dot (object path) notation. | homepage
- get-property: Get a nested property or its value from an object using simple
a.b.c
paths. | homepage - get-value: Use property paths (
a.b.c
) to get a nested value from an object. | homepage - set-value: Create nested values and any intermediaries using dot notation (
'a.b.c'
) paths. | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
Generate readme and API documentation with verb:
$ npm install verb && npm run docs
Or, if verb is installed globally:
$ verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Jon Schlinkert
License
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v, on March 27, 2016.