power-assert-context-traversal

    1.2.0 • Public • Published

    power-assert

    Build Status NPM version License

    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.

    Keywords

    Install

    npm i power-assert-context-traversal

    DownloadsWeekly Downloads

    219,423

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    9.5 kB

    Total Files

    5

    Last publish

    Collaborators

    • twada