index.js 888 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 _pluginSyntaxDoExpressions = require("@babel/plugin-syntax-do-expressions");
  8. var _default = (0, _helperPluginUtils.declare)(api => {
  9. api.assertVersion(7);
  10. return {
  11. name: "proposal-do-expressions",
  12. inherits: _pluginSyntaxDoExpressions.default,
  13. visitor: {
  14. DoExpression: {
  15. exit(path) {
  16. const {
  17. node
  18. } = path;
  19. if (node.async) {
  20. return;
  21. }
  22. const body = node.body.body;
  23. if (body.length) {
  24. path.replaceExpressionWithStatements(body);
  25. } else {
  26. path.replaceWith(path.scope.buildUndefinedNode());
  27. }
  28. }
  29. }
  30. }
  31. };
  32. });
  33. exports.default = _default;