UNPKG

astx

Version:

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

35 lines (27 loc) 1.15 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = compileJSXElementMatcher; var _GenericNodeMatcher = _interopRequireDefault(require("./GenericNodeMatcher")); var _GenericArrayMatcher = _interopRequireDefault(require("./GenericArrayMatcher")); var _normalizeJSXTextValue = _interopRequireDefault(require("../util/normalizeJSXTextValue")); function compileJSXElementMatcher(path, compileOptions) { var children = path.get('children'); var n = compileOptions.backend.t.namedTypes; function shouldSkipChild(path) { return n.JSXText.check(path.value) && (0, _normalizeJSXTextValue["default"])(path.value.value) === ''; } if (Array.isArray(children.value) && children.value.length) { return (0, _GenericNodeMatcher["default"])(path, compileOptions, { keyMatchers: { children: (0, _GenericArrayMatcher["default"])(children.filter(function (p) { return !shouldSkipChild(p); }), compileOptions, { skipElement: shouldSkipChild }) } }); } }