index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 _pluginSyntaxDecorators = require("@babel/plugin-syntax-decorators");
  8. var _helperCreateClassFeaturesPlugin = require("@babel/helper-create-class-features-plugin");
  9. var _transformerLegacy = require("./transformer-legacy");
  10. var _transformer = require("./transformer-2021-12");
  11. var _default = (0, _helperPluginUtils.declare)((api, options) => {
  12. api.assertVersion(7);
  13. {
  14. var {
  15. legacy
  16. } = options;
  17. }
  18. const {
  19. version
  20. } = options;
  21. if (legacy || version === "legacy") {
  22. return {
  23. name: "proposal-decorators",
  24. inherits: _pluginSyntaxDecorators.default,
  25. visitor: _transformerLegacy.default
  26. };
  27. } else if (version === "2021-12") {
  28. return (0, _transformer.default)(api, options);
  29. } else {
  30. return (0, _helperCreateClassFeaturesPlugin.createClassFeaturePlugin)({
  31. name: "proposal-decorators",
  32. api,
  33. feature: _helperCreateClassFeaturesPlugin.FEATURES.decorators,
  34. inherits: _pluginSyntaxDecorators.default
  35. });
  36. }
  37. });
  38. exports.default = _default;