Skip to content

More user-controllable verbatim property #173

Description

@azu

Hi,

escodegen 1.2.0 generate unnecessary ( ) around verbatim property value.

var code = "fn([1,2,3])";
var ast = esprima.parse(code, {range: true});
// Actually, edit AST ...
function embedVerbatim(node) {
    // embed code
    node["x-verbatim-property"] = code.substring(node.range[0], node.range[1])
}
estraverse.traverse(ast, {
    enter: function enter(node, parent) {
        var fn = {
            "ArrayExpression": embedVerbatim
        }[node.type];
        if (fn) {
            fn(node, parent);
        }
    }
});

escodegen.generate(ast, {
    verbatim: "x-verbatim-property"
}); // => "fn(([1,2,3]));"

I expected result "fn([1,2,3])"

More detail in that project.

I want to control the parenthesize.

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions