deep-pick-omit
Deep-pick and deep-omit objects with typesafe paths.
Basic usage
Both deepPick
and deepOmit
take an object and an array of dot-notation paths to respectively pick and omit from the object. By default, TypeScript will infer types for paths and error if a path does not exist in the object.
deepPick
import { deepPick } from 'deep-pick-omit'
const obj = {
a: {
b: 'this',
c: 'not this'
},
d: 'this'
}
deepPick(obj, ['a.b', 'e'])
deepPick(obj, ['f'])
deepOmit
import { deepOmit } from 'deep-pick-omit'
const obj = {
a: {
b: 'this',
c: 'not this'
},
d: 'this'
}
deepOmit(obj, ['a.c'])
deepOmit(obj, ['f'])
[!NOTE]
Pathing through array values is not allowed typesafe path methods. See unsafe methods.
Unsafe methods
If paths type-safety is a problem for some edge cases, the package exposes the same methods without the type-checking on paths.
deepPickUnsafe
import { deepPickUnsafe } from 'deep-pick-omit'
const obj = {
a: {
c: 'not this'
},
d: 'this'
}
deepPickUnsafe(obj, ['d', 'f'])
deepOmitUnsafe
import { deepOmitUnsafe } from 'deep-pick-omit'
const obj = {
a: {
b: 'this',
c: 'not this'
},
d: 'this'
}
deepOmitUnsafe(obj, ['a.c', 'f'])
License
MIT — Made with 💖.