Skip to content

Instantly share code, notes, and snippets.

@daybrush
Created December 30, 2018 15:23
Show Gist options
  • Save daybrush/970d520da7d0baf25c13cebdcf73db4b to your computer and use it in GitHub Desktop.
Save daybrush/970d520da7d0baf25c13cebdcf73db4b to your computer and use it in GitHub Desktop.
var traverse = require("@babel/traverse").default;
var t = require("@babel/types");
function convert(ast) {
traverse(ast, {
ClassMethod(path) {
const node = path.node;
node.type = "MethodDefinition";
node.value = t.functionExpression(null, node.params, node.body, node.generator, node.async);
node.value.returnType = node.returnType
node.value.typeParameters = node.typeParameters
node.value.start = node.start + node.key.name.length;
node.value.end = node.end;
node.value.loc = {
start: {
line: node.loc.start.line,
column: 0,
},
end: {
line: node.loc.end.line,
column: node.loc.end.column,
}
};
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment