astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
22 lines (21 loc) • 2.95 kB
JavaScript
import { convertPredicateMatcher } from './index.mjs'
import normalizeJSXTextValue from '../util/normalizeJSXTextValue.mjs'
export default function matchJSXText(path, compileOptions) {
const pattern = path.value
const normalizedValue = normalizeJSXTextValue(pattern.value)
const n = compileOptions.backend.t.namedTypes
return convertPredicateMatcher(
path,
{
match: (path) => {
const { value: node } = path
return (
n.JSXText.check(node) &&
normalizedValue === normalizeJSXTextValue(node.value)
)
},
nodeType: 'JSXText',
},
compileOptions
)
} //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb252ZXJ0UHJlZGljYXRlTWF0Y2hlciIsIm5vcm1hbGl6ZUpTWFRleHRWYWx1ZSIsIm1hdGNoSlNYVGV4dCIsInBhdGgiLCJjb21waWxlT3B0aW9ucyIsInBhdHRlcm4iLCJ2YWx1ZSIsIm5vcm1hbGl6ZWRWYWx1ZSIsIm4iLCJiYWNrZW5kIiwidCIsIm5hbWVkVHlwZXMiLCJtYXRjaCIsIm5vZGUiLCJKU1hUZXh0IiwiY2hlY2siLCJub2RlVHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21waWxlTWF0Y2hlci9KU1hUZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVQYXRoLCBKU1hUZXh0IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBDb21waWxlT3B0aW9ucywgY29udmVydFByZWRpY2F0ZU1hdGNoZXIsIENvbXBpbGVkTWF0Y2hlciB9IGZyb20gJy4nXG5pbXBvcnQgbm9ybWFsaXplSlNYVGV4dFZhbHVlIGZyb20gJy4uL3V0aWwvbm9ybWFsaXplSlNYVGV4dFZhbHVlJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYXRjaEpTWFRleHQoXG4gIHBhdGg6IE5vZGVQYXRoPEpTWFRleHQsIEpTWFRleHQ+LFxuICBjb21waWxlT3B0aW9uczogQ29tcGlsZU9wdGlvbnNcbik6IENvbXBpbGVkTWF0Y2hlciB7XG4gIGNvbnN0IHBhdHRlcm46IEpTWFRleHQgPSBwYXRoLnZhbHVlXG4gIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IG5vcm1hbGl6ZUpTWFRleHRWYWx1ZShwYXR0ZXJuLnZhbHVlKVxuICBjb25zdCBuID0gY29tcGlsZU9wdGlvbnMuYmFja2VuZC50Lm5hbWVkVHlwZXNcblxuICByZXR1cm4gY29udmVydFByZWRpY2F0ZU1hdGNoZXIoXG4gICAgcGF0aCxcbiAgICB7XG4gICAgICBtYXRjaDogKHBhdGg6IE5vZGVQYXRoKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIGNvbnN0IHsgdmFsdWU6IG5vZGUgfSA9IHBhdGhcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIG4uSlNYVGV4dC5jaGVjayhub2RlKSAmJlxuICAgICAgICAgIG5vcm1hbGl6ZWRWYWx1ZSA9PT0gbm9ybWFsaXplSlNYVGV4dFZhbHVlKG5vZGUudmFsdWUpXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBub2RlVHlwZTogJ0pTWFRleHQnLFxuICAgIH0sXG4gICAgY29tcGlsZU9wdGlvbnNcbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQ0EsU0FBeUJBLHVCQUF6QixRQUF5RSxHQUF6RTtBQUNBLE9BQU9DLHFCQUFQLE1BQWtDLCtCQUFsQzs7QUFFQSxlQUFlLFNBQVNDLFlBQVQ7QUFDYkMsSUFEYTtBQUViQyxjQUZhO0FBR0k7RUFDakIsTUFBTUMsT0FBZ0IsR0FBR0YsSUFBSSxDQUFDRyxLQUE5QjtFQUNBLE1BQU1DLGVBQWUsR0FBR04scUJBQXFCLENBQUNJLE9BQU8sQ0FBQ0MsS0FBVCxDQUE3QztFQUNBLE1BQU1FLENBQUMsR0FBR0osY0FBYyxDQUFDSyxPQUFmLENBQXVCQyxDQUF2QixDQUF5QkMsVUFBbkM7O0VBRUEsT0FBT1gsdUJBQXVCO0VBQzVCRyxJQUQ0QjtFQUU1QjtJQUNFUyxLQUFLLEVBQUUsQ0FBQ1QsSUFBRCxLQUE2QjtNQUNsQyxNQUFNLEVBQUVHLEtBQUssRUFBRU8sSUFBVCxLQUFrQlYsSUFBeEI7O01BRUE7UUFDRUssQ0FBQyxDQUFDTSxPQUFGLENBQVVDLEtBQVYsQ0FBZ0JGLElBQWhCO1FBQ0FOLGVBQWUsS0FBS04scUJBQXFCLENBQUNZLElBQUksQ0FBQ1AsS0FBTixDQUYzQzs7SUFJRCxDQVJIO0lBU0VVLFFBQVEsRUFBRSxTQVRaLEVBRjRCOztFQWE1QlosY0FiNEIsQ0FBOUI7O0FBZUQifQ==