omit-deep-remove

1.0.1 • Public • Published

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.

Package Sidebar

Install

npm i omit-deep-remove

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

5.99 kB

Total Files

4

Last publish

Collaborators

  • bsovs