githubEdit

has-value

Returns true if a value exists, false if empty. Works with deeply nested values using object paths.

Install

Install with npmarrow-up-right:

$ npm install --save has-value

Works for:

  • booleans

  • functions

  • numbers

  • strings

  • nulls

  • object

  • arrays

Usage

Works with property values (supports object-path notation, like foo.bar) or a single value:

var hasValue = require('has-value');

hasValue('foo');
hasValue({foo: 'bar'}, 'foo');
hasValue({a: {b: {c: 'foo'}}}, 'a.b.c');
//=> true

hasValue('');
hasValue({foo: ''}, 'foo');
//=> false

hasValue(0);
hasValue(1);
hasValue({foo: 0}, 'foo');
hasValue({foo: 1}, 'foo');
hasValue({foo: null}, 'foo');
hasValue({foo: {bar: 'a'}}}, 'foo');
hasValue({foo: {bar: 'a'}}}, 'foo.bar');
//=> true

hasValue({foo: {}}}, 'foo');
hasValue({foo: {bar: {}}}}, 'foo.bar');
hasValue({foo: undefined}, 'foo');
//=> false

hasValue([]);
hasValue([[]]);
hasValue([[], []]);
hasValue([undefined]);
hasValue({foo: []}, 'foo');
//=> false

hasValue([0]);
hasValue([null]);
hasValue(['foo']);
hasValue({foo: ['a']}, 'foo');
//=> true

hasValue(function() {})
hasValue(function(foo) {})
hasValue({foo: function(foo) {}}, 'foo'); 
hasValue({foo: function() {}}, 'foo');
//=> true

hasValue(true);
hasValue(false);
hasValue({foo: true}, 'foo');
hasValue({foo: false}, 'foo');
//=> true

isEmpty

To do the opposite and test for empty values, do:

Release history

v1.0.0

  • zero always returns true

  • array now recurses, so that an array of empty arrays will return false

  • null now returns true

About

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issuearrow-up-right.

Contributors

Building docs

(This project's readme.md is generated by verbarrow-up-right, please don't edit the readme directly. Any changes to the readme must be made in the .verb.mdarrow-up-right readme template.)

To generate the readme, run the following command:

Running tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkertarrow-up-right. Released under the MIT Licensearrow-up-right.


This file was generated by verb-generate-readmearrow-up-right, v0.6.0, on May 19, 2017.

Last updated

Was this helpful?