import type NodePath from "babel-traverse"; export default function() { return { visitor: { ArrowFunctionExpression( path: NodePath, state: Object, ) { // In some conversion cases, it may have already been converted to a function while this callback // was queued up. if (!path.isArrowFunctionExpression()) return; path.arrowFunctionToExpression({ // While other utils may be fine inserting other arrows to make more transforms possible, // the arrow transform itself absolutely cannot insert new arrow functions. allowInsertArrow: false, specCompliant: !!state.opts.spec, }); }, }, }; }