index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _helperPluginUtils = require("@babel/helper-plugin-utils");
  7. var _visit = require("./regenerator/visit.js");
  8. var _default = exports.default = (0, _helperPluginUtils.declare)(({
  9. types: t,
  10. traverse,
  11. assertVersion
  12. }) => {
  13. assertVersion(7);
  14. return {
  15. name: "transform-regenerator",
  16. visitor: traverse.visitors.merge([(0, _visit.getVisitor)(t), {
  17. CallExpression(path) {
  18. var _this$availableHelper;
  19. if (!((_this$availableHelper = this.availableHelper) != null && _this$availableHelper.call(this, "regeneratorRuntime"))) {
  20. return;
  21. }
  22. const callee = path.get("callee");
  23. if (!callee.isMemberExpression()) return;
  24. const obj = callee.get("object");
  25. if (obj.isIdentifier({
  26. name: "regeneratorRuntime"
  27. })) {
  28. const helper = this.addHelper("regeneratorRuntime");
  29. if (t.isArrowFunctionExpression(helper)) {
  30. obj.replaceWith(helper.body);
  31. return;
  32. }
  33. obj.replaceWith(t.callExpression(helper, []));
  34. }
  35. }
  36. }])
  37. };
  38. });
  39. //# sourceMappingURL=index.js.map