omit-deep-by-values
v1.0.2
Published
Omit object keys by values recursively with lodash as only dependency.
Downloads
519
Maintainers
Readme
omit-deep-by-values
Omit object keys by values recursively
Sometimes we need to omit things from an object recursively by a particular value or list of values omit-deep did this in a great manner will work really work with Arrays and objects omit-deep-lodash solves this and uses only lodash as external dependency.
The code for this module uses new features in the Javascript language, but the code is transpiled by Babel to ES2015 so most projects who needs it should be able to use it.
Note! All non-omitted properties that are objects lose their prototype chains and thus their true type. This implementation is thus best used for simple JSON type objects like data objects and not typed object graphs where members have objects with constructors.
Install
Install with npm
$ npm i omit-deep-by-values --save
Usage
const omitDeepByValues = require("omit-deep-by-values");
omitDeepByValues({a: null, b: "b", c: {b: null, d: "d", e: {b: null, f: "f", g: {b: "b", c: null}}}}, [null]);
//=> {b: "b", c: { d: "d", e: { f: "f", g: {b: "b"}}}}
omitDeepByValues({a: null, b: "", c: {b: undefined, d: { a: "value", b: "", c:null, e:"value", f: "f"}}}, [null, undefined, "", "value"]);
//=> { c: { d: { f: "f" } } }
omitDeep(["a", "", {b: ""}, {f: "f", g: {b: "b", c: ""}}], [""]);
//=> ["a", {}, {f: "f", g: {b: "b"}}]
Related projects
Running tests
Install dev dependencies:
$ npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Author
License
Released under the MIT license.