https://github.com/begriffs/objgrep
Find strings inside complicated javascript objects
https://github.com/begriffs/objgrep
Last synced: 11 months ago
JSON representation
Find strings inside complicated javascript objects
- Host: GitHub
- URL: https://github.com/begriffs/objgrep
- Owner: begriffs
- License: mit
- Created: 2013-01-22T23:36:50.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2014-05-12T04:37:48.000Z (almost 12 years ago)
- Last Synced: 2024-10-10T20:20:40.120Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 308 KB
- Stars: 160
- Watchers: 9
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Search inside JavaScript objects
[](https://travis-ci.org/begriffs/objgrep)
The command line has `grep`, so why doesn't JavaScript?
If you work with big objects (such as those in client-side MVC
libraries) you might wonder where certain properties end up living on
your JS objects. Wouldn't it be nice to just grep the objects to find
strings you know are in there somewhere?
### Usage
Run this bookmarklet.
javascript:(function%20()%20%7Bvar%20script%20=%20document.createElement(%22script%22);script.src%20=%20%22https://raw.github.com/begriffs/objgrep/master/objgrep.js%22;document.getElementsByTagName(%22head%22)[0].appendChild(script);%7D());
It adds a `.grep` method to every object which you can use in the Chrome
console. **For example** let's define a `foo` object.
var foo = { beamish: 'thought', outgrabe: 10, toves: ['thou', 'borogoves', 'wabe'] };
After running the bookmarklet, you can grep the object:

foo.grep(/abe/);
// returns [".outgrabe", ".toves[2]"]

foo.grep(/\d+/);
// returns [".outgrabe", ".toves[0]", ".toves[1]", ".toves[2]"]
### Options
namedescriptiondefault value
depth
Limit the search depth
5
dom
Search dom nodes too
true
keys
Search in object keys
true
Pass options as a hash in the second argument. For instance,
// searches with depth at most two
foo.grep(/abe/, {depth: 2});
// returns [".outgrabe"]
### Caveats
- Clicking the bookmarklet when the debugger is paused in chrome will
continue script execution. Load objgrep in development (via
`` tags) or click the bookmarklet before hitting a breakpoint to
work around this.
### License
Objgrep is Copyright © 2013 Joe Nelson. It is free software, and may be
redistributed under the terms specified in the LICENSE file.