Omit object key/values recursively
Sometimes we need to omit things from an object recursively. omit-deep did this in a great manner but hadn't been updated for quite some time and didn't really work with Arrays. 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 with npm
$ npm i omit-deep-lodash --save
const omitDeep = require("omit-deep-lodash");
omitDeep({a: "a", b: "b", c: {b: "b", d: {b: "b", f: "f"}}}, "b");
//=> {a: "a", c: {d: {f: "f"}}}
omitDeep({a: "a", b: "b", c: {b: "b", d: {b: "b", f: "f"}}}, "a", "b");
//=> {c: {d: {f: "f"}}}
Install dev dependencies:
$ npm i -d && npm test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
- github/jonschlinkert
- github/odynvolk
- github.com/mickeek
- github.com/InterAl
- github.com/mathianasj
- github.com/spawnia
Released under the MIT license.