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

- github/jonschlinkert
- twitter/jonschlinkert

# License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.

This file was generated by verb, v, on March 27, 2016.