{"_id":"power-assert-context-traversal","_rev":"300156","name":"power-assert-context-traversal","description":"traverse power-assert context","dist-tags":{"latest":"1.2.0"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"time":{"modified":"2021-06-03T19:04:53.000Z","created":"2016-04-06T15:20:15.642Z","1.2.0":"2018-06-12T07:13:06.958Z","1.1.1":"2016-11-10T08:16:38.519Z","1.1.0":"2016-10-07T13:23:19.689Z","1.0.7":"2016-07-01T00:41:25.130Z","1.0.0":"2016-05-31T12:34:03.136Z","0.1.0":"2016-04-06T15:20:15.642Z"},"users":{},"author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"repository":{"type":"git","url":"git+https://github.com/twada/power-assert-runtime.git"},"versions":{"1.2.0":{"name":"power-assert-context-traversal","description":"traverse power-assert context","version":"1.2.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/power-assert-runtime/issues"},"dependencies":{"core-js":"^2.0.0","estraverse":"^4.1.0"},"devDependencies":{"babel-types":"^6.1.0","mocha":"^5.0.0"},"files":["README.md","index.js","lib"],"homepage":"https://github.com/twada/power-assert-runtime","keywords":["power-assert"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git+https://github.com/twada/power-assert-runtime.git"},"scripts":{"test":"mocha"},"_id":"power-assert-context-traversal@1.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"f6e71454baf640de5c1c9c270349f5c9ab0b2e94","size":3030,"noattachment":false,"key":"/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/power-assert-context-traversal/download/power-assert-context-traversal-1.2.0.tgz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/power-assert-context-traversal_1.2.0_1528787586898_0.29770589464203323"},"_hasShrinkwrap":false,"publish_time":1528787586958,"_cnpm_publish_time":1528787586958},"1.1.1":{"name":"power-assert-context-traversal","description":"traverse power-assert context","version":"1.1.1","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/power-assert-runtime/issues"},"dependencies":{"core-js":"^2.0.0","estraverse":"^4.1.0"},"devDependencies":{"babel-types":"^6.1.0","mocha":"^3.0.0"},"files":["README.md","index.js","lib"],"homepage":"https://github.com/twada/power-assert-runtime","keywords":["power-assert"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git+https://github.com/twada/power-assert-runtime.git"},"scripts":{"test":"mocha"},"_id":"power-assert-context-traversal@1.1.1","_shasum":"88cabca0d13b6359f07d3d3e8afa699264577ed9","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.1.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"88cabca0d13b6359f07d3d3e8afa699264577ed9","size":3077,"noattachment":false,"key":"/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/power-assert-context-traversal/download/power-assert-context-traversal-1.1.1.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/power-assert-context-traversal-1.1.1.tgz_1478765796670_0.593908031238243"},"directories":{},"publish_time":1478765798519,"_cnpm_publish_time":1478765798519,"_hasShrinkwrap":false},"1.1.0":{"name":"power-assert-context-traversal","description":"traverse power-assert context","version":"1.1.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/power-assert-runtime/issues"},"dependencies":{"core-js":"^2.0.0","estraverse":"^4.1.0"},"devDependencies":{"babel-types":"^6.1.0","mocha":"^2.4.5"},"files":["README.md","index.js","lib"],"homepage":"https://github.com/twada/power-assert-runtime","keywords":["power-assert"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git+https://github.com/twada/power-assert-runtime.git"},"scripts":{"test":"mocha"},"_id":"power-assert-context-traversal@1.1.0","_shasum":"d815975745a26d9280ec363625c819642edf0264","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"d815975745a26d9280ec363625c819642edf0264","size":3077,"noattachment":false,"key":"/power-assert-context-traversal/-/power-assert-context-traversal-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/power-assert-context-traversal/download/power-assert-context-traversal-1.1.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/power-assert-context-traversal-1.1.0.tgz_1475846599343_0.0998236343730241"},"directories":{},"publish_time":1475846599689,"_cnpm_publish_time":1475846599689,"_hasShrinkwrap":false},"1.0.7":{"name":"power-assert-context-traversal","description":"traverse power-assert context","version":"1.0.7","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/power-assert-runtime/issues"},"dependencies":{"core-js":"^2.0.0","estraverse":"^4.1.0"},"devDependencies":{"babel-types":"^6.1.0","mocha":"^2.4.5"},"files":["README.md","index.js","lib"],"homepage":"https://github.com/twada/power-assert-runtime","keywords":["power-assert"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git+https://github.com/twada/power-assert-runtime.git"},"scripts":{"test":"mocha"},"_id":"power-assert-context-traversal@1.0.7","_shasum":"4becd3b8cf2564c3944939294bdf242771a012ca","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"4becd3b8cf2564c3944939294bdf242771a012ca","size":3084,"noattachment":false,"key":"/power-assert-context-traversal/-/power-assert-context-traversal-1.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/power-assert-context-traversal/download/power-assert-context-traversal-1.0.7.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/power-assert-context-traversal-1.0.7.tgz_1467333680937_0.7325184459332377"},"directories":{},"publish_time":1467333685130,"_cnpm_publish_time":1467333685130,"_hasShrinkwrap":false},"1.0.0":{"name":"power-assert-context-traversal","description":"traverse power-assert context","version":"1.0.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/power-assert-runtime/issues"},"dependencies":{"core-js":"^2.0.0","estraverse":"^4.1.0"},"devDependencies":{"babel-types":"^6.1.0","mocha":"^2.4.5"},"files":["README.md","index.js","lib"],"homepage":"https://github.com/twada/power-assert-runtime","keywords":["power-assert"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git+https://github.com/twada/power-assert-runtime.git"},"scripts":{"test":"mocha"},"_id":"power-assert-context-traversal@1.0.0","_shasum":"0b29be4d673b611b1a446c4819c80227f3543b96","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.1.0","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"0b29be4d673b611b1a446c4819c80227f3543b96","size":2971,"noattachment":false,"key":"/power-assert-context-traversal/-/power-assert-context-traversal-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/power-assert-context-traversal/download/power-assert-context-traversal-1.0.0.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/power-assert-context-traversal-1.0.0.tgz_1464698042309_0.2560291327536106"},"directories":{},"publish_time":1464698043136,"_cnpm_publish_time":1464698043136,"_hasShrinkwrap":false},"0.1.0":{"name":"power-assert-context-traversal","description":"traverse power-assert context","version":"0.1.0","author":{"name":"Takuto Wada","email":"takuto.wada@gmail.com","url":"https://github.com/twada"},"bugs":{"url":"https://github.com/twada/power-assert-runtime/issues"},"dependencies":{"array-foreach":"^1.0.1","array-reduce":"0.0.0","estraverse":"^4.1.0"},"devDependencies":{"babel-types":"^6.1.0","mocha":"^2.4.5"},"files":["README.md","index.js","lib"],"homepage":"https://github.com/twada/power-assert-runtime","keywords":["power-assert"],"license":"MIT","main":"index.js","repository":{"type":"git","url":"git+https://github.com/twada/power-assert-runtime.git"},"scripts":{"test":"mocha"},"_id":"power-assert-context-traversal@0.1.0","_shasum":"c0ae53a90839b9f2a76fc62c4d02c773d73f19a6","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.1","_npmUser":{"name":"twada","email":"takuto.wada@gmail.com"},"maintainers":[{"name":"twada","email":"takuto.wada@gmail.com"}],"dist":{"shasum":"c0ae53a90839b9f2a76fc62c4d02c773d73f19a6","size":2126,"noattachment":false,"key":"/power-assert-context-traversal/-/power-assert-context-traversal-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/power-assert-context-traversal/download/power-assert-context-traversal-0.1.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/power-assert-context-traversal-0.1.0.tgz_1459956014980_0.24075796571560204"},"directories":{},"publish_time":1459956015642,"_cnpm_publish_time":1459956015642,"_hasShrinkwrap":false}},"readme":"[![power-assert][power-assert-banner]][power-assert-url]\n\n[![Build Status][travis-image]][travis-url]\n[![NPM version][npm-image]][npm-url]\n[![License][license-image]][license-url]\n\n\nEventEmitter of `powerAssertContext` object provided by power-assert at runtime.\n\n\nAPI\n---------------------------------------\n\n### var traversal = new ContextTraversal(powerAssertContext);\n\nCreate `EventEmitter` of `powerAssertContext` object, having structure below.\n\n```javascript\n{\n    source: {\n        content: 'assert(foo === bar)',\n        filepath: 'test/some_test.js',\n        line: 1,\n        ast: '### JSON representation of AST nodes ###',\n        tokens: '### JSON representation of AST tokens ###',\n        visitorKeys: '### JSON representation of AST visitor keys ###'\n    },\n    args: [\n        {\n            value: false,\n            events: [\n                {\n                    value: \"FOO\",\n                    espath: \"arguments/0/left\"\n                },\n                {\n                    value: \"BAR\",\n                    espath: \"arguments/0/right\"\n                },\n                {\n                    value: false,\n                    espath: \"arguments/0\"\n                }\n            ]\n        }\n    ]\n}\n```\n\n### traversal.traverse()\n\nFire events while traversing AST tree in `powerAssertContext`.\n\n\n### events\n\n\n#### traversal.on('start', function (powerAssertContext) {})\n\nCalled once when traversal starts. Argument is the `powerAssertContext` object under traversal.\n\n#### traversal.on('data', function (esNode) {})\n\nCalled for each Node of AST in `powerAssertContext`. Argument is a `EsNode` object, having structure below.\n\n```javascript\n{\n    espath: 'arguments/0',\n    parent: '### parent esNode reference unless root ###',\n    key: 0,\n    node: {\n        type: 'BinaryExpression',\n        operator: '===',\n        left: { type: 'Identifier', name: 'foo', range: [ 7, 10 ] },\n        right: { type: 'Identifier', name: 'bar', range: [ 15, 18 ] },\n        range: [ 7, 18 ]\n    },\n    code: 'foo === bar',\n    value: false,\n    isCaptured: true,\n    range: [ 11, 14 ]  // range of operator\n};\n```\n\n```javascript\n{\n    espath: 'arguments/0/right',\n    parent: '### parent esNode reference unless root ###',\n    key: 'right',\n    node: { type: 'Identifier', name: 'bar', range: [ 15, 18 ] },\n    code: 'bar',\n    value: 'BAR',\n    isCaptured: true,\n    range: [ 15, 18 ]\n};\n```\n\n#### traversal.on('end', function () {})\n\nCalled once when traversal ends.\n\n\n\nINSTALL\n---------------------------------------\n\n```sh\n$ npm install --save-dev power-assert-context-traversal\n```\n\n\nAUTHOR\n---------------------------------------\n* [Takuto Wada](https://github.com/twada)\n\n\nLICENSE\n---------------------------------------\nLicensed under the [MIT](https://github.com/twada/power-assert-runtime/blob/master/LICENSE) license.\n\n\n[power-assert-url]: https://github.com/power-assert-js/power-assert\n[power-assert-banner]: https://raw.githubusercontent.com/power-assert-js/power-assert-js-logo/master/banner/banner-official-fullcolor.png\n\n[travis-url]: https://travis-ci.org/twada/power-assert-runtime\n[travis-image]: https://secure.travis-ci.org/twada/power-assert-runtime.svg?branch=master\n\n[npm-url]: https://npmjs.org/package/power-assert-context-traversal\n[npm-image]: https://badge.fury.io/js/power-assert-context-traversal.svg\n\n[license-url]: https://github.com/twada/power-assert-runtime/blob/master/LICENSE\n[license-image]: https://img.shields.io/badge/license-MIT-brightgreen.svg\n","_attachments":{},"homepage":"https://github.com/twada/power-assert-runtime","bugs":{"url":"https://github.com/twada/power-assert-runtime/issues"},"license":"MIT"}