"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _helperPluginUtils = require("@babel/helper-plugin-utils"); var _params = _interopRequireDefault(require("./params")); var _rest = _interopRequireDefault(require("./rest")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = (0, _helperPluginUtils.declare)((api, options) => { api.assertVersion(7); const { loose } = options; return { name: "transform-parameters", visitor: { Function(path) { if (path.isArrowFunctionExpression() && path.get("params").some(param => param.isRestElement() || param.isAssignmentPattern())) { path.arrowFunctionToExpression(); } const convertedRest = (0, _rest.default)(path); const convertedParams = (0, _params.default)(path, loose); if (convertedRest || convertedParams) { path.scope.crawl(); } } } }; }); exports.default = _default;