UNPKG

astx

Version:

super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring

38 lines (29 loc) 1.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = compileExportNamedDeclarationReplacement; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _GenericNodeReplacement = _interopRequireDefault(require("./GenericNodeReplacement")); function compileExportNamedDeclarationReplacement(path, compileOptions) { var n = compileOptions.backend.t.namedTypes; var replacement = (0, _GenericNodeReplacement["default"])(path, compileOptions); return { generate: function generate(match) { var result = replacement.generate(match); if (result.specifiers) { // move ExportDefaultSpecifier to beginning if necessary // because @babel/generator craps out otherwise var defaultIndex = result.specifiers.findIndex(function (s) { return n.ExportDefaultSpecifier.check(s); }); if (defaultIndex > 0) { var _result$specifiers; (_result$specifiers = result.specifiers).unshift.apply(_result$specifiers, (0, _toConsumableArray2["default"])(result.specifiers.splice(defaultIndex, 1))); } } return result; } }; }