unset-value
Advanced tools
Comparing version 1.0.0 to 2.0.0
@@ -17,3 +17,6 @@ /*! | ||
} | ||
if (obj.hasOwnProperty(prop)) { | ||
var isArray = Array.isArray(prop); | ||
if (!isArray && obj.hasOwnProperty(prop)) { | ||
delete obj[prop]; | ||
@@ -24,3 +27,3 @@ return true; | ||
if (has(obj, prop)) { | ||
var segs = prop.split('.'); | ||
var segs = isArray ? prop.slice() : prop.split('.'); | ||
var last = segs.pop(); | ||
@@ -27,0 +30,0 @@ while (segs.length && segs[segs.length - 1].slice(-1) === '\\') { |
{ | ||
"name": "unset-value", | ||
"description": "Delete nested properties from an object using dot notation.", | ||
"version": "1.0.0", | ||
"version": "2.0.0", | ||
"homepage": "https://github.com/jonschlinkert/unset-value", | ||
@@ -17,7 +17,9 @@ "author": "Jon Schlinkert (https://github.com/jonschlinkert)", | ||
"files": [ | ||
"index.js" | ||
"index.js", | ||
"index.d.ts" | ||
], | ||
"main": "index.js", | ||
"types": "index.d.ts", | ||
"engines": { | ||
"node": ">=0.10.0" | ||
"node": ">=10" | ||
}, | ||
@@ -28,4 +30,4 @@ "scripts": { | ||
"dependencies": { | ||
"has-value": "^0.3.1", | ||
"isobject": "^3.0.0" | ||
"has-value": "^2.0.2", | ||
"isobject": "^4.0.0" | ||
}, | ||
@@ -32,0 +34,0 @@ "devDependencies": { |
@@ -1,7 +0,8 @@ | ||
# unset-value [![NPM version](https://img.shields.io/npm/v/unset-value.svg?style=flat)](https://www.npmjs.com/package/unset-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/unset-value.svg?style=flat)](https://npmjs.org/package/unset-value) [![NPM total downloads](https://img.shields.io/npm/dt/unset-value.svg?style=flat)](https://npmjs.org/package/unset-value) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/unset-value.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/unset-value) | ||
# unset-value [![NPM version](https://img.shields.io/npm/v/unset-value.svg?style=flat)](https://www.npmjs.com/package/unset-value) [![NPM monthly downloads](https://img.shields.io/npm/dm/unset-value.svg?style=flat)](https://npmjs.org/package/unset-value) [![NPM total downloads](https://img.shields.io/npm/dt/unset-value.svg?style=flat)](https://npmjs.org/package/unset-value) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/unset-value.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/unset-value) | ||
> Delete nested properties from an object using dot notation. | ||
Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. | ||
## Install | ||
Install with [npm](https://www.npmjs.com/): | ||
@@ -17,9 +18,10 @@ | ||
var unset = require('unset-value'); | ||
var obj = {a: {b: {c: 'd', e: 'f'}}}; | ||
unset(obj, 'a.b.c'); | ||
console.log(obj); | ||
//=> {a: {b: {e: 'f'}}}; | ||
unset(obj, prop); | ||
``` | ||
### Params | ||
* `obj` **{object}**: The object to unset `prop` on | ||
* `prop` **{string | string[]}**: The property to unset. Dot-notation may be used or an array of nested properties. | ||
## Examples | ||
@@ -60,3 +62,3 @@ | ||
var two = {a: {b: {c: 'd'}}}; | ||
unset(two, 'a.b.c'); | ||
unset(two, ['a', 'b', 'c']); | ||
console.log(two); | ||
@@ -79,25 +81,22 @@ //=> {a: {b: {}}} | ||
## About | ||
<details> | ||
<summary><strong>Contributing</strong></summary> | ||
### Related projects | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||
* [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.") | ||
* [get-values](https://www.npmjs.com/package/get-values): Return an array of all values from the given object. | [homepage](https://github.com/jonschlinkert/get-values "Return an array of all values from the given object.") | ||
* [omit-value](https://www.npmjs.com/package/omit-value): Omit properties from an object or deeply nested property of an object using object path… [more](https://github.com/jonschlinkert/omit-value) | [homepage](https://github.com/jonschlinkert/omit-value "Omit properties from an object or deeply nested property of an object using object path notation.") | ||
* [put-value](https://www.npmjs.com/package/put-value): Update only existing values from an object, works with dot notation paths like `a.b.c` and… [more](https://github.com/tunnckocore/put-value#readme) | [homepage](https://github.com/tunnckocore/put-value#readme "Update only existing values from an object, works with dot notation paths like `a.b.c` and support deep nesting.") | ||
* [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.") | ||
* [union-value](https://www.npmjs.com/package/union-value): Set an array of unique values as the property of an object. Supports setting deeply… [more](https://github.com/jonschlinkert/union-value) | [homepage](https://github.com/jonschlinkert/union-value "Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation.") | ||
* [upsert-value](https://www.npmjs.com/package/upsert-value): Update or set nested values and any intermediaries with dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/doowb/upsert-value "Update or set nested values and any intermediaries with dot notation (`'a.b.c'`) paths.") | ||
</details> | ||
### Contributing | ||
<details> | ||
<summary><strong>Running Tests</strong></summary> | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||
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: | ||
### Contributors | ||
```sh | ||
$ npm install && npm test | ||
``` | ||
| **Commits** | **Contributor** | | ||
| --- | --- | | ||
| 6 | [jonschlinkert](https://github.com/jonschlinkert) | | ||
| 2 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | | ||
</details> | ||
### Building docs | ||
<details> | ||
<summary><strong>Building docs</strong></summary> | ||
@@ -112,20 +111,33 @@ _(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.)_ | ||
### Running tests | ||
</details> | ||
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: | ||
### Related projects | ||
```sh | ||
$ npm install && npm test | ||
``` | ||
You might also be interested in these projects: | ||
- [get-value](https://www.npmjs.com/package/get-value): Use property paths like 'a.b.c' to get a nested value from an object. Even works… [more](https://github.com/jonschlinkert/get-value) | [homepage](https://github.com/jonschlinkert/get-value "Use property paths like 'a.b.c' to get a nested value from an object. Even works when keys have dots in them (no other dot-prop library can do this!).") | ||
- [get-values](https://www.npmjs.com/package/get-values): Return an array of all values from the given object. | [homepage](https://github.com/jonschlinkert/get-values "Return an array of all values from the given object.") | ||
- [omit-value](https://www.npmjs.com/package/omit-value): Omit properties from an object or deeply nested property of an object using object path… [more](https://github.com/jonschlinkert/omit-value) | [homepage](https://github.com/jonschlinkert/omit-value "Omit properties from an object or deeply nested property of an object using object path notation.") | ||
- [put-value](https://www.npmjs.com/package/put-value): Update only existing values from an object, works with dot notation paths like `a.b.c` and… [more](https://github.com/tunnckocore/put-value#readme) | [homepage](https://github.com/tunnckocore/put-value#readme "Update only existing values from an object, works with dot notation paths like `a.b.c` and support deep nesting.") | ||
- [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.") | ||
- [union-value](https://www.npmjs.com/package/union-value): Set an array of unique values as the property of an object. Supports setting deeply… [more](https://github.com/jonschlinkert/union-value) | [homepage](https://github.com/jonschlinkert/union-value "Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation.") | ||
- [upsert-value](https://www.npmjs.com/package/upsert-value): Update or set nested values and any intermediaries with dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/doowb/upsert-value "Update or set nested values and any intermediaries with dot notation (`'a.b.c'`) paths.") | ||
### Contributors | ||
| **Commits** | **Contributor** | | ||
| --- | --- | | ||
| 11 | [jonschlinkert](https://github.com/jonschlinkert) | | ||
| 4 | [danez](https://github.com/danez) | | ||
| 2 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | | ||
| 1 | [TrySound](https://github.com/TrySound) | | ||
| 1 | [bluelovers](https://github.com/bluelovers) | | ||
### Author | ||
**Jon Schlinkert** | ||
+ [GitHub Profile](https://github.com/jonschlinkert) | ||
+ [Twitter Profile](https://twitter.com/jonschlinkert) | ||
+ [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) | ||
* [github/jonschlinkert](https://github.com/jonschlinkert) | ||
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) | ||
### License | ||
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). | ||
Copyright © 2021, [Jon Schlinkert](https://github.com/jonschlinkert). | ||
Released under the [MIT License](LICENSE). | ||
@@ -135,2 +147,3 @@ | ||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on February 25, 2017._ | ||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on March 18, 2021._ | ||
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
9600
5
31
145
1
+ Addedget-value@3.0.1(transitive)
+ Addedhas-value@2.0.2(transitive)
+ Addedhas-values@2.0.1(transitive)
+ Addedisobject@4.0.0(transitive)
+ Addedkind-of@6.0.3(transitive)
- Removedget-value@2.0.6(transitive)
- Removedhas-value@0.3.1(transitive)
- Removedhas-values@0.1.4(transitive)
- Removedisarray@1.0.0(transitive)
- Removedisobject@2.1.0(transitive)
Updatedhas-value@^2.0.2
Updatedisobject@^4.0.0