astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
23 lines (22 loc) • 3.05 kB
JavaScript
import sortFlags from './sortFlags.mjs'
import { convertPredicateMatcher } from './index.mjs'
export default function matchRegExpLiteral(path, compileOptions) {
const pattern = path.value
const queryFlags = sortFlags(pattern.flags)
const n = compileOptions.backend.t.namedTypes
return convertPredicateMatcher(
path,
{
match: (path) => {
const { value: node } = path
return (
n.RegExpLiteral.check(node) &&
node.pattern === pattern.pattern &&
sortFlags(node.flags) === queryFlags
)
},
nodeType: 'RegExpLiteral',
},
compileOptions
)
} //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzb3J0RmxhZ3MiLCJjb252ZXJ0UHJlZGljYXRlTWF0Y2hlciIsIm1hdGNoUmVnRXhwTGl0ZXJhbCIsInBhdGgiLCJjb21waWxlT3B0aW9ucyIsInBhdHRlcm4iLCJ2YWx1ZSIsInF1ZXJ5RmxhZ3MiLCJmbGFncyIsIm4iLCJiYWNrZW5kIiwidCIsIm5hbWVkVHlwZXMiLCJtYXRjaCIsIm5vZGUiLCJSZWdFeHBMaXRlcmFsIiwiY2hlY2siLCJub2RlVHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21waWxlTWF0Y2hlci9SZWdFeHBMaXRlcmFsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVQYXRoLCBSZWdFeHBMaXRlcmFsIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgc29ydEZsYWdzIGZyb20gJy4vc29ydEZsYWdzJ1xuaW1wb3J0IHsgQ29tcGlsZU9wdGlvbnMsIGNvbnZlcnRQcmVkaWNhdGVNYXRjaGVyLCBDb21waWxlZE1hdGNoZXIgfSBmcm9tICcuJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYXRjaFJlZ0V4cExpdGVyYWwoXG4gIHBhdGg6IE5vZGVQYXRoPFJlZ0V4cExpdGVyYWwsIFJlZ0V4cExpdGVyYWw+LFxuICBjb21waWxlT3B0aW9uczogQ29tcGlsZU9wdGlvbnNcbik6IENvbXBpbGVkTWF0Y2hlciB7XG4gIGNvbnN0IHBhdHRlcm46IFJlZ0V4cExpdGVyYWwgPSBwYXRoLnZhbHVlXG4gIGNvbnN0IHF1ZXJ5RmxhZ3MgPSBzb3J0RmxhZ3MocGF0dGVybi5mbGFncylcbiAgY29uc3QgbiA9IGNvbXBpbGVPcHRpb25zLmJhY2tlbmQudC5uYW1lZFR5cGVzXG5cbiAgcmV0dXJuIGNvbnZlcnRQcmVkaWNhdGVNYXRjaGVyKFxuICAgIHBhdGgsXG4gICAge1xuICAgICAgbWF0Y2g6IChwYXRoOiBOb2RlUGF0aCk6IGJvb2xlYW4gPT4ge1xuICAgICAgICBjb25zdCB7IHZhbHVlOiBub2RlIH0gPSBwYXRoXG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBuLlJlZ0V4cExpdGVyYWwuY2hlY2sobm9kZSkgJiZcbiAgICAgICAgICBub2RlLnBhdHRlcm4gPT09IHBhdHRlcm4ucGF0dGVybiAmJlxuICAgICAgICAgIHNvcnRGbGFncyhub2RlLmZsYWdzKSA9PT0gcXVlcnlGbGFnc1xuICAgICAgICApXG4gICAgICB9LFxuICAgICAgbm9kZVR5cGU6ICdSZWdFeHBMaXRlcmFsJyxcbiAgICB9LFxuICAgIGNvbXBpbGVPcHRpb25zXG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU9BLFNBQVAsTUFBc0IsYUFBdEI7QUFDQSxTQUF5QkMsdUJBQXpCLFFBQXlFLEdBQXpFOztBQUVBLGVBQWUsU0FBU0Msa0JBQVQ7QUFDYkMsSUFEYTtBQUViQyxjQUZhO0FBR0k7RUFDakIsTUFBTUMsT0FBc0IsR0FBR0YsSUFBSSxDQUFDRyxLQUFwQztFQUNBLE1BQU1DLFVBQVUsR0FBR1AsU0FBUyxDQUFDSyxPQUFPLENBQUNHLEtBQVQsQ0FBNUI7RUFDQSxNQUFNQyxDQUFDLEdBQUdMLGNBQWMsQ0FBQ00sT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DOztFQUVBLE9BQU9YLHVCQUF1QjtFQUM1QkUsSUFENEI7RUFFNUI7SUFDRVUsS0FBSyxFQUFFLENBQUNWLElBQUQsS0FBNkI7TUFDbEMsTUFBTSxFQUFFRyxLQUFLLEVBQUVRLElBQVQsS0FBa0JYLElBQXhCOztNQUVBO1FBQ0VNLENBQUMsQ0FBQ00sYUFBRixDQUFnQkMsS0FBaEIsQ0FBc0JGLElBQXRCO1FBQ0FBLElBQUksQ0FBQ1QsT0FBTCxLQUFpQkEsT0FBTyxDQUFDQSxPQUR6QjtRQUVBTCxTQUFTLENBQUNjLElBQUksQ0FBQ04sS0FBTixDQUFULEtBQTBCRCxVQUg1Qjs7SUFLRCxDQVRIO0lBVUVVLFFBQVEsRUFBRSxlQVZaLEVBRjRCOztFQWM1QmIsY0FkNEIsQ0FBOUI7O0FBZ0JEIn0=