UNPKG

astx

Version:

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

35 lines (28 loc) 1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = compileSpreadElementMatcher; var _Placeholder = _interopRequireDefault(require("./Placeholder")); function compileSpreadElementMatcher(path, compileOptions) { var n = compileOptions.backend.t.namedTypes; var argument = path.value.argument; if (n.Identifier.check(argument)) { var capture = (0, _Placeholder["default"])(path, argument.name, compileOptions, { nodeType: 'ObjectMember' }); if (capture) { var restPlaceholder = capture.arrayPlaceholder || capture.restPlaceholder; if (restPlaceholder) { return { pattern: path, restPlaceholder: restPlaceholder, match: function match() { throw new Error("rest capture placeholder ".concat(restPlaceholder, " is in an invalid position")); } }; } } } }