$
This commit is contained in:
44
node_modules/recast/example/add-braces
generated
vendored
Normal file
44
node_modules/recast/example/add-braces
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
var recast = require("recast");
|
||||
var types = recast.types;
|
||||
var n = types.namedTypes;
|
||||
var b = types.builders;
|
||||
|
||||
require("recast").run(function(ast, callback) {
|
||||
recast.visit(ast, {
|
||||
visitIfStatement: function(path) {
|
||||
var stmt = path.node;
|
||||
stmt.consequent = fix(stmt.consequent);
|
||||
|
||||
var alt = stmt.alternate;
|
||||
if (!n.IfStatement.check(alt)) {
|
||||
stmt.alternate = fix(alt);
|
||||
}
|
||||
|
||||
this.traverse(path);
|
||||
},
|
||||
|
||||
visitWhileStatement: visitLoop,
|
||||
visitForStatement: visitLoop,
|
||||
visitForInStatement: visitLoop
|
||||
});
|
||||
|
||||
callback(ast);
|
||||
});
|
||||
|
||||
function visitLoop(path) {
|
||||
var loop = path.node;
|
||||
loop.body = fix(loop.body);
|
||||
this.traverse(path);
|
||||
}
|
||||
|
||||
function fix(clause) {
|
||||
if (clause) {
|
||||
if (!n.BlockStatement.check(clause)) {
|
||||
clause = b.blockStatement([clause]);
|
||||
}
|
||||
}
|
||||
|
||||
return clause;
|
||||
}
|
Reference in New Issue
Block a user