New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

nested-property

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nested-property - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

18

index.js

@@ -15,3 +15,6 @@ /**

get: getNestedProperty,
has: hasNestedProperty
has: hasNestedProperty,
hasOwn: function (object, property, options) {
return this.has(object, property, options || {own: true});
}
};

@@ -46,7 +49,12 @@

* given an object such as a.b.c.d = 5, hasNestedProperty(a, "b.c.d") will return true.
* It also returns true if the property is in the prototype chain.
* @param {Object} object the object to get the property from
* @param {String} property the path to the property as a string
* @param {Object} options:
* - own: set to reject properties from the prototype
* @returns true if has (property in object), false otherwise
*/
function hasNestedProperty(object, property) {
function hasNestedProperty(object, property, options) {
options = options || {};
if (object && typeof object == "object") {

@@ -57,3 +65,7 @@ if (typeof property == "string" && property !== "") {

if (idx == array.length - 1) {
return !!(obj && prop in obj);
if (options.own) {
return !!(obj && obj.hasOwnProperty(prop));
} else {
return !!(obj !== null && typeof obj == "object" && prop in obj);
}
}

@@ -60,0 +72,0 @@ return obj && obj[prop];

7

package.json
{
"name": "nested-property",
"description": "Read or write an array or object's nested property via a string like 'my.nested.property'",
"version": "0.0.3",
"description": "Read, write or test a data structure's nested property via a string like 'my.nested.property'. It works through arrays and objects.'",
"version": "0.0.4",
"homepage": "https://github.com/cosmosio/nested-property",

@@ -40,4 +40,5 @@ "licenses": [

"chai": "~1.9.1",
"mocha": "~1.18.2"
"mocha": "~1.18.2",
"sinon": "~1.12.2"
}
}

@@ -122,4 +122,28 @@ Nested property

If it must be a "own" property (i.e. not in the prototype chain) you can use the own option:
```js
function DataStructure() {}
DataStructure.prototype.prop = true;
var obj = new DataStructure();
nestedProperty.has(obj, "prop", { own: true}); // false
nestedProperty.has(obj, "prop"); // true
```
Alternatively, you can use the hasOwn function:
```js
function DataStructure() {}
DataStructure.prototype.prop = true;
var obj = new DataStructure();
nestedProperty.hasOwn(obj, "prop"); // false
```
CHANGELOG

@@ -126,0 +150,0 @@ =========

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc