omit-deep-remove
v1.0.1
Published
Recursively omit the specified key or keys from an object.
Downloads
5
Maintainers
Readme
omit-deep-remove
Recursively omit the specified key or keys from an object.
Extension of popular project omit-deep
Install
Install with npm:
$ npm install --save omit-deep-remove
Usage
const omitDeep = require('omit-deep-remove');
const obj = {a: 'a', b: 'b', c: {b: 'b', d: {b: 'b', f: 'f'}}};
console.log(omitDeep(obj, ['b']));
//=> {a: 'a', c: {d: {f: 'f'}}}
const obj = {a: 'a', b: 'b', c: {b: 'b', d: {b: 'b', f: 'f'}}};
console.log(omitDeep(obj, ['b', 'f']));
//=> {a: 'a', c: {d: {}}}
Also works with dot-notation:
const obj = {a: 'a', b: 'b', c: {b: 'b', d: {b: 'b', f: 'f'}}};
console.log(omitDeep(obj, ['c.d.b', 'f']));
//=> { a: 'a', b: 'b', c: { b: 'b', d: {} } }
Remove objects if they become empty after removing a key using option cleanEmpty: true
const obj = { foo: { bar: 'baz' }, fizz: {} };
omitDeep(obj, 'bar', {cleanEmpty: true});
//=> { fizz: {} }
Remove all empty objects using option removeEmpty: true
const obj = { foo: { bar: 'baz' }, fizz: {} };
omitDeep(obj, 'bar', {removeEmpty: true});
//=> {}
About
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Contributors
| Commits | Contributor | | --- | --- | | 18 | jonschlinkert | | 2 | splodingsocks | | 1 | rikukissa |
Building docs
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author of omit-deep
Jon Schlinkert
License
Copyright © 2017, Jon Schlinkert. Released under the MIT license.
This file was generated by verb-generate-readme, v0.2.1, on January 01, 2017.