esdispatch
Trigger events based on esquery selectors during a traversal of a SpiderMonkey format AST.
Install
npm install --save esdispatch
Examples
var counter = 0 dispatcher = ;dispatcher;dispatcher;
API
new ESDispatcher
→ ESDispatcher instance
The ESDispatcher constructor takes no arguments.
ESDispatcher::addListener(selector, listener)
→ void
Invoke listener
whenever esdispatch walks over a node that matches
selector
. listener
is given two arguments: the node that matched the
selector, and a list containing the ancestors of that node. listener
may also
be an object containing an enter
and, optionally, a leave
function. In that
case, the enter
function will be called in pre-order, and the leave
function will be called in post-order. Aliased as ESDispatcher::on
.
ESDispatcher::once(selector, listener)
→ void
Adds a listener that is invoked only the first time selector
matches.
ESDispatcher::observe(ast, onFinished)
→ void
Begin a traversal using the given SpiderMonkey AST, triggering any listeners
associated with matching queries. onFinished
, if given, is called with no
arguments once the traversal is completed.