EventEmitter of powerAssertContext
object provided by power-assert at runtime.
API
var traversal = new ContextTraversal(powerAssertContext);
Create EventEmitter
of powerAssertContext
object, having structure below.
source: content: 'assert(foo === bar)' filepath: 'test/some_test.js' line: 1 ast: '### JSON representation of AST nodes ###' tokens: '### JSON representation of AST tokens ###' visitorKeys: '### JSON representation of AST visitor keys ###' args: value: false events: value: "FOO" espath: "arguments/0/left" value: "BAR" espath: "arguments/0/right" value: false espath: "arguments/0"
traversal.traverse()
Fire events while traversing AST tree in powerAssertContext
.
events
traversal.on('start', function (powerAssertContext) {})
Called once when traversal starts. Argument is the powerAssertContext
object under traversal.
traversal.on('data', function (esNode) {})
Called for each Node of AST in powerAssertContext
. Argument is a EsNode
object, having structure below.
espath: 'arguments/0' parent: '### parent esNode reference unless root ###' key: 0 node: type: 'BinaryExpression' operator: '===' left: type: 'Identifier' name: 'foo' range: 7 10 right: type: 'Identifier' name: 'bar' range: 15 18 range: 7 18 code: 'foo === bar' value: false isCaptured: true range: 11 14 // range of operator;
espath: 'arguments/0/right' parent: '### parent esNode reference unless root ###' key: 'right' node: type: 'Identifier' name: 'bar' range: 15 18 code: 'bar' value: 'BAR' isCaptured: true range: 15 18 ;
traversal.on('end', function () {})
Called once when traversal ends.
INSTALL
$ npm install --save-dev power-assert-context-traversal
AUTHOR
LICENSE
Licensed under the MIT license.