Urara-Blog/node_modules/.pnpm-store/v3/files/50/c5b234ed225903568a8e2f2e08283fae657474498ecd146de0285d7779925ec31bd544f952ca6b090221cfc28a4f982f70bfa37e93cb5ad7a4e25ca67e9ea2
2022-08-14 01:14:53 +08:00

30 lines
No EOL
580 B
Text

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.traverseNode = traverseNode;
var _context = require("./context");
var _t = require("@babel/types");
const {
VISITOR_KEYS
} = _t;
function traverseNode(node, opts, scope, state, path, skipKeys) {
const keys = VISITOR_KEYS[node.type];
if (!keys) return false;
const context = new _context.default(scope, opts, state, path);
for (const key of keys) {
if (skipKeys && skipKeys[key]) continue;
if (context.visit(node, key)) {
return true;
}
}
return false;
}