grasp squery
A query engine for grasp - use CSS style selectors to query your JavaScript AST.
For documentation on the selector format, see the grasp page on squery.
See also the other query engine for grasp: equery.
Initially derived from esquery.
Usage
Add grasp-squery
to your package.json
, and then require it: var squery = require('grasp-squery);
.
The squery
object exposes five properties: three functions, parse
, queryParsed
, query
, a constructor, Cache
, and the version string as VERSION
.
Use parse(selector)
to parse a string selector into a parsed selector.
Use queryParsed(parsedSelector, ast)
to query your parsed selector.
query(selector, ast)
is shorthand for doing queryParsed(parse(selector), ast)
.
The AST must be in the Mozilla SpiderMonkey AST format - you can use acorn to parse a JavaScript file into the format.
If you are using one selector for multiple ASTs, parse it first, and then feed the parsed version to queryParsed
. If you are only using the selector once, just use query
.
Both queryParsed
and query
take an optional third parameter cache
. A cache is automatically created from the AST you supply if you do not supply a cache. You can create your own cache by calling the Cache
constructor with your AST.