UNPKG

astx

Version:

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

35 lines (32 loc) 3.73 kB
import compilePlaceholderMatcher from './Placeholder.mjs' export default function compileJSXAttributeMatcher(path, compileOptions) { const pattern = path.value const n = compileOptions.backend.t.namedTypes if (n.JSXIdentifier.check(pattern.name)) { if (pattern.value == null) { const placeholderMatcher = compilePlaceholderMatcher( path, pattern.name.name, compileOptions, { nodeType: 'JSX', getCondition: () => (path) => { var _path$parent, _path$parentPath return ( n.JSXOpeningElement.check( (_path$parent = path.parent) === null || _path$parent === void 0 ? void 0 : _path$parent.value ) && ((_path$parentPath = path.parentPath) === null || _path$parentPath === void 0 ? void 0 : _path$parentPath.name) === 'attributes' ) }, } ) if (placeholderMatcher) return placeholderMatcher } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJNYXRjaGVyIiwiY29tcGlsZUpTWEF0dHJpYnV0ZU1hdGNoZXIiLCJwYXRoIiwiY29tcGlsZU9wdGlvbnMiLCJwYXR0ZXJuIiwidmFsdWUiLCJuIiwiYmFja2VuZCIsInQiLCJuYW1lZFR5cGVzIiwiSlNYSWRlbnRpZmllciIsImNoZWNrIiwibmFtZSIsInBsYWNlaG9sZGVyTWF0Y2hlciIsIm5vZGVUeXBlIiwiZ2V0Q29uZGl0aW9uIiwiSlNYT3BlbmluZ0VsZW1lbnQiLCJwYXJlbnQiLCJwYXJlbnRQYXRoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBpbGVNYXRjaGVyL0pTWEF0dHJpYnV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKU1hBdHRyaWJ1dGUsIE5vZGVQYXRoIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBDb21waWxlZE1hdGNoZXIsIENvbXBpbGVPcHRpb25zIH0gZnJvbSAnLidcbmltcG9ydCBjb21waWxlUGxhY2Vob2xkZXJNYXRjaGVyIGZyb20gJy4vUGxhY2Vob2xkZXInXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXBpbGVKU1hBdHRyaWJ1dGVNYXRjaGVyKFxuICBwYXRoOiBOb2RlUGF0aDxKU1hBdHRyaWJ1dGUsIEpTWEF0dHJpYnV0ZT4sXG4gIGNvbXBpbGVPcHRpb25zOiBDb21waWxlT3B0aW9uc1xuKTogQ29tcGlsZWRNYXRjaGVyIHwgdm9pZCB7XG4gIGNvbnN0IHBhdHRlcm46IEpTWEF0dHJpYnV0ZSA9IHBhdGgudmFsdWVcbiAgY29uc3QgbiA9IGNvbXBpbGVPcHRpb25zLmJhY2tlbmQudC5uYW1lZFR5cGVzXG5cbiAgaWYgKG4uSlNYSWRlbnRpZmllci5jaGVjayhwYXR0ZXJuLm5hbWUpKSB7XG4gICAgaWYgKHBhdHRlcm4udmFsdWUgPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGxhY2Vob2xkZXJNYXRjaGVyID0gY29tcGlsZVBsYWNlaG9sZGVyTWF0Y2hlcihcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcGF0dGVybi5uYW1lLm5hbWUsXG4gICAgICAgIGNvbXBpbGVPcHRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgbm9kZVR5cGU6ICdKU1gnLFxuICAgICAgICAgIGdldENvbmRpdGlvbjogKCkgPT4gKHBhdGgpID0+XG4gICAgICAgICAgICBuLkpTWE9wZW5pbmdFbGVtZW50LmNoZWNrKHBhdGgucGFyZW50Py52YWx1ZSkgJiZcbiAgICAgICAgICAgIHBhdGgucGFyZW50UGF0aD8ubmFtZSA9PT0gJ2F0dHJpYnV0ZXMnLFxuICAgICAgICB9XG4gICAgICApXG5cbiAgICAgIGlmIChwbGFjZWhvbGRlck1hdGNoZXIpIHJldHVybiBwbGFjZWhvbGRlck1hdGNoZXJcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPQSx5QkFBUCxNQUFzQyxlQUF0Qzs7QUFFQSxlQUFlLFNBQVNDLDBCQUFUO0FBQ2JDLElBRGE7QUFFYkMsY0FGYTtBQUdXO0VBQ3hCLE1BQU1DLE9BQXFCLEdBQUdGLElBQUksQ0FBQ0csS0FBbkM7RUFDQSxNQUFNQyxDQUFDLEdBQUdILGNBQWMsQ0FBQ0ksT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DOztFQUVBLElBQUlILENBQUMsQ0FBQ0ksYUFBRixDQUFnQkMsS0FBaEIsQ0FBc0JQLE9BQU8sQ0FBQ1EsSUFBOUIsQ0FBSixFQUF5QztJQUN2QyxJQUFJUixPQUFPLENBQUNDLEtBQVIsSUFBaUIsSUFBckIsRUFBMkI7TUFDekIsTUFBTVEsa0JBQWtCLEdBQUdiLHlCQUF5QjtNQUNsREUsSUFEa0Q7TUFFbERFLE9BQU8sQ0FBQ1EsSUFBUixDQUFhQSxJQUZxQztNQUdsRFQsY0FIa0Q7TUFJbEQ7UUFDRVcsUUFBUSxFQUFFLEtBRFo7UUFFRUMsWUFBWSxFQUFFLE1BQU0sQ0FBQ2IsSUFBRDtZQUNsQkksQ0FBQyxDQUFDVSxpQkFBRixDQUFvQkwsS0FBcEIsaUJBQTBCVCxJQUFJLENBQUNlLE1BQS9CLGlEQUEwQixhQUFhWixLQUF2QztZQUNBLHFCQUFBSCxJQUFJLENBQUNnQixVQUFMLHNFQUFpQk4sSUFBakIsTUFBMEIsWUFGUixHQUZ0QixFQUprRCxDQUFwRDs7OztNQVlBLElBQUlDLGtCQUFKLEVBQXdCLE9BQU9BLGtCQUFQO0lBQ3pCO0VBQ0Y7QUFDRiJ9