123456789101112131415161718192021222324252627282930 |
- const { map } = require('ramda');
- const visit = (node, visitor) => {
- if (!node || (typeof node !== 'object' && !Array.isArray(node))) {
- return node;
- }
- return map(value => {
- if (value && visitor[value.type]) {
- return visitor[value.type](value);
- }
- return visit(value, visitor);
- }, node);
- };
- module.exports = ast => {
- let shouldSkip = false;
- ast = visit(ast, {
- RegExpLiteral(node) {
- // WORKAROUND: https://github.com/babel/@babel/eslint-parser/issues/838
- shouldSkip = true;
- return node;
- },
- });
- return { ast, shouldSkip };
- };
|