1.0.1 • Published 3 years ago

omit-deep-remove v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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

CommitsContributor
18jonschlinkert
2splodingsocks
1rikukissa

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.