Socket
Socket
Sign inDemoInstall

has-value

Package Overview
Dependencies
6
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.3.1 to 1.0.0

9

index.js
/*!
* has-value <https://github.com/jonschlinkert/has-value>
*
* Copyright (c) 2014-2016, Jon Schlinkert.
* Copyright (c) 2014-2017, Jon Schlinkert.
* Licensed under the MIT License.

@@ -14,7 +14,4 @@ */

module.exports = function(obj, prop, noZero) {
if (isObject(obj)) {
return hasValues(get(obj, prop), noZero);
}
return hasValues(obj, prop);
module.exports = function(val, prop) {
return hasValues(isObject(val) && prop ? get(val, prop) : val);
};
{
"name": "has-value",
"version": "0.3.1",
"description": "Returns true if a value exists, false if empty. Works with deeply nested values using object paths.",
"version": "1.0.0",
"homepage": "https://github.com/jonschlinkert/has-value",
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
"contributors": [
"Jon Schlinkert (http://twitter.com/jonschlinkert)",
"Ryan M Harrison (https://linkedin.com/in/harrisonrm)"
],
"repository": "jonschlinkert/has-value",

@@ -23,9 +27,9 @@ "bugs": {

"dependencies": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
"isobject": "^2.0.0"
"get-value": "^2.0.6",
"has-values": "^1.0.0",
"isobject": "^3.0.0"
},
"devDependencies": {
"gulp-format-md": "^0.1.7",
"mocha": "^2.4.5"
"gulp-format-md": "^0.1.12",
"mocha": "^3.4.1"
},

@@ -69,11 +73,9 @@ "keywords": [

"list": [
"get-object",
"get-property",
"define-property",
"get-value",
"set-value"
"set-value",
"unset-value"
]
},
"reflinks": [
"verb"
],
"reflinks": [],
"lint": {

@@ -80,0 +82,0 @@ "reflinks": true

@@ -1,2 +0,2 @@

# has-value [![NPM version](https://img.shields.io/npm/v/has-value.svg?style=flat)](https://www.npmjs.com/package/has-value) [![NPM downloads](https://img.shields.io/npm/dm/has-value.svg?style=flat)](https://npmjs.org/package/has-value) [![Build Status](https://img.shields.io/travis/jonschlinkert/has-value.svg?style=flat)](https://travis-ci.org/jonschlinkert/has-value)
# has-value [![NPM version](https://img.shields.io/npm/v/has-value.svg?style=flat)](https://www.npmjs.com/package/has-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/has-value.svg?style=flat)](https://npmjs.org/package/has-value) [![NPM total downloads](https://img.shields.io/npm/dt/has-value.svg?style=flat)](https://npmjs.org/package/has-value) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/has-value.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/has-value)

@@ -10,3 +10,3 @@ > Returns true if a value exists, false if empty. Works with deeply nested values using object paths.

```sh
$ npm install has-value --save
$ npm install --save has-value
```

@@ -18,3 +18,3 @@

* functions
* numbers (pass `true` as the last arg to treat zero as a value instead of falsey)
* numbers
* strings

@@ -27,3 +27,3 @@ * nulls

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

@@ -33,40 +33,48 @@ ```js

hasValue({a: {b: {c: 'foo'}}} 'a.b.c');
hasValue('foo');
hasValue({foo: 'bar'}, 'foo');
hasValue({a: {b: {c: 'foo'}}}, 'a.b.c');
//=> true
hasValue('a');
//=> 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(0);
hasValue({foo: {}}}, 'foo');
hasValue({foo: {bar: {}}}}, 'foo.bar');
hasValue({foo: undefined}, 'foo');
//=> false
hasValue(0, true); // pass `true` as the last arg to treat zero as a value
//=> true
hasValue({a: 'a'}});
//=> true
hasValue({}});
hasValue([]);
hasValue([[]]);
hasValue([[], []]);
hasValue([undefined]);
hasValue({foo: []}, 'foo');
//=> false
hasValue(['a']);
hasValue([0]);
hasValue([null]);
hasValue(['foo']);
hasValue({foo: ['a']}, 'foo');
//=> true
hasValue([]);
//=> false
hasValue(function(foo) {}); // function length/arity
hasValue(function() {})
hasValue(function(foo) {})
hasValue({foo: function(foo) {}}, 'foo');
hasValue({foo: function() {}}, 'foo');
//=> true
hasValue(function() {});
//=> false
hasValue(true);
hasValue(false);
hasValue({foo: true}, 'foo');
hasValue({foo: false}, 'foo');
//=> true

@@ -80,3 +88,3 @@ ```

```js
function isEmpty(o, isZero) {
function isEmpty(o) {
return !hasValue.apply(hasValue, arguments);

@@ -86,38 +94,49 @@ }

## Related projects
## Release history
You might also be interested in these projects:
### v1.0.0
* [get-object](https://www.npmjs.com/package/get-object): Get a property from an object using dot (object path) notation. | [homepage](https://github.com/jonschlinkert/get-object)
* [get-property](https://www.npmjs.com/package/get-property): Get a nested property or its value from an object using simple `a.b.c` paths. | [homepage](https://github.com/jonschlinkert/get-property)
* [get-value](https://www.npmjs.com/package/get-value): Use property paths (`a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value)
* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value)
* `zero` always returns true
* `array` now recurses, so that an array of empty arrays will return `false`
* `null` now returns true
## Contributing
## About
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/has-value/issues/new).
### Related projects
## Building docs
* [define-property](https://www.npmjs.com/package/define-property): Define a non-enumerable property on an object. | [homepage](https://github.com/jonschlinkert/define-property "Define a non-enumerable property on an object.")
* [get-value](https://www.npmjs.com/package/get-value): Use property paths (`a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value "Use property paths (`a.b.c`) to get a nested value from an object.")
* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.")
* [unset-value](https://www.npmjs.com/package/unset-value): Delete nested properties from an object using dot notation. | [homepage](https://github.com/jonschlinkert/unset-value "Delete nested properties from an object using dot notation.")
Generate readme and API documentation with [verb](https://github.com/verbose/verb):
### Contributing
```sh
$ npm install verb && npm run docs
```
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
Or, if [verb](https://github.com/verbose/verb) is installed globally:
### Contributors
| **Commits** | **Contributor** |
| --- | --- |
| 17 | [jonschlinkert](https://github.com/jonschlinkert) |
| 2 | [rmharrison](https://github.com/rmharrison) |
### Building docs
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
To generate the readme, run the following command:
```sh
$ verb
$ npm install -g verbose/verb#dev verb-generate-readme && verb
```
## Running tests
### Running tests
Install dev dependencies:
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:
```sh
$ npm install -d && npm test
$ npm install && npm test
```
## Author
### Author

@@ -127,11 +146,11 @@ **Jon Schlinkert**

* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
## License
### License
Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT license](https://github.com/jonschlinkert/has-value/blob/master/LICENSE).
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT License](LICENSE).
***
_This file was generated by [verb](https://github.com/verbose/verb), v, on March 27, 2016._
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on May 19, 2017._

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc