"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _helperPluginUtils = require("@babel/helper-plugin-utils"); var _pluginSyntaxDecorators = require("@babel/plugin-syntax-decorators"); var _helperCreateClassFeaturesPlugin = require("@babel/helper-create-class-features-plugin"); var _transformerLegacy = require("./transformer-legacy"); var _transformer = require("./transformer-2021-12"); var _default = (0, _helperPluginUtils.declare)((api, options) => { api.assertVersion(7); const { legacy, version } = options; if (legacy || version === "legacy") { return { name: "proposal-decorators", inherits: _pluginSyntaxDecorators.default, visitor: _transformerLegacy.default }; } else if (version === "2021-12") { return (0, _transformer.default)(api, options); } else { return (0, _helperCreateClassFeaturesPlugin.createClassFeaturePlugin)({ name: "proposal-decorators", api, feature: _helperCreateClassFeaturesPlugin.FEATURES.decorators, inherits: _pluginSyntaxDecorators.default }); } }); exports.default = _default;