UNPKG

astx

Version:

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

23 lines (22 loc) 3.05 kB
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=