You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.1 KiB

2 years ago
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _helperPluginUtils = require("@babel/helper-plugin-utils");
var _regeneratorTransform = require("regenerator-transform");
var _default = (0, _helperPluginUtils.declare)(({
types: t,
assertVersion
}) => {
assertVersion(7);
return {
name: "transform-regenerator",
inherits: _regeneratorTransform.default,
visitor: {
MemberExpression(path) {
var _this$availableHelper;
if (!((_this$availableHelper = this.availableHelper) != null && _this$availableHelper.call(this, "regeneratorRuntime"))) {
return;
}
const obj = path.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, []));
}
}
}
};
});
exports.default = _default;