@babel/plugin-transform-regenerator
Version:
Explode async and generator functions into a state machine.
46 lines (43 loc) • 1.28 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _helperPluginUtils = require("@babel/helper-plugin-utils");
var _visit = require("./regenerator/visit.js");
var _default = exports.default = (0, _helperPluginUtils.declare)(({
types: t,
traverse,
assertVersion
}) => {
assertVersion(7);
return {
name: "transform-regenerator",
visitor: traverse.visitors.merge([(0, _visit.getVisitor)(t), {
CallExpression(path) {
{
var _this$availableHelper;
if (!((_this$availableHelper = this.availableHelper) != null && _this$availableHelper.call(this, "regeneratorRuntime"))) {
return;
}
}
const callee = path.get("callee");
if (!callee.isMemberExpression()) return;
const obj = callee.get("object");
if (obj.isIdentifier({
name: "regeneratorRuntime"
})) {
const helper = this.addHelper("regeneratorRuntime");
{
if (t.isArrowFunctionExpression(helper)) {
obj.replaceWith(helper.body);
return;
}
}
obj.replaceWith(t.callExpression(helper, []));
}
}
}])
};
});
//# sourceMappingURL=index.js.map
;