object-grep
A javascript tool for searching inside objects inspired by linux grep
installation
npm i object-grep
or
yarn add object-grep
arguments
targetObject: [object
| array
| function
| string
] - a target object where all keys and property contents will be recursively checked for matching searchExpr
searchExpr: [string
| regexp
] - expression for checking for compliance
depth limit?: [number
] - the number of levels to check. objectGrep works synchronously, which can cause the browser to freeze if the object being checked is very large. The default value is 100
usage
const target = {
foo: {
bar: {
baz: {
foo: {
bar: {
baz: 'zab'
}
}
}
}
},
oof: {
rab: {
zab: ['foo', 'bar', 'baz', 'zab', 'rab', 'oof']
}
}
}
objectGrep(target, 'baz')
objectGrep(target, /b.z/)
objectGrep(target, /b.z/, 4)
short view
You can also use a short output format. To do this, call the short()
method on the result. This way you will only see paths to keys and values with no data stored on those paths
const target = {
foo: {
bar: {
baz: {
foo: {
bar: {
baz: 'zab'
}
}
}
}
},
oof: {
rab: {
zab: ['foo', 'bar', 'baz', 'zab', 'rab', 'oof']
}
}
}
objectGrep(target, 'baz').short()
objectGrep(target, /b.z/).short()
objectGrep(target, /b.z/, 4).short()
inject
It can be added to the object prototype
objectGrep.inject()
const target = { a: { b : { c: 'd' } } }
target.grep('b')
chrome extension
You can also install a browser extension and use object-grep on any site without any extra effort