Urara-Blog/node_modules/.pnpm-store/v3/files/19/416d2b97b3923e8edc06c1d681493a996e81ccf6a1674a9c202009340233b2b9725df38ffa6236ce4f9be2e7708135ddd038d5ff831587d17b0cae9afa1666
2022-08-14 01:14:53 +08:00

28 lines
No EOL
586 B
Text

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = traverseFast;
var _definitions = require("../definitions");
function traverseFast(node, enter, opts) {
if (!node) return;
const keys = _definitions.VISITOR_KEYS[node.type];
if (!keys) return;
opts = opts || {};
enter(node, opts);
for (const key of keys) {
const subNode = node[key];
if (Array.isArray(subNode)) {
for (const node of subNode) {
traverseFast(node, enter, opts);
}
} else {
traverseFast(subNode, enter, opts);
}
}
}