diff options
| author | Christian Cleberg <[email protected]> | 2026-04-18 22:32:53 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-18 22:32:53 -0500 |
| commit | 580e798e16346eb894eb899edac82d2efdf40adc (patch) | |
| tree | 6dec3b7db678f781138b40d34da37d21ac8fbe7d /node_modules/@babel/traverse/lib/index.js | |
| download | brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.tar.gz brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.tar.bz2 brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.zip | |
initial commit
Diffstat (limited to 'node_modules/@babel/traverse/lib/index.js')
| -rw-r--r-- | node_modules/@babel/traverse/lib/index.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/node_modules/@babel/traverse/lib/index.js b/node_modules/@babel/traverse/lib/index.js new file mode 100644 index 0000000..b652d7d --- /dev/null +++ b/node_modules/@babel/traverse/lib/index.js @@ -0,0 +1,87 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "Hub", { + enumerable: true, + get: function () { + return _hub.default; + } +}); +Object.defineProperty(exports, "NodePath", { + enumerable: true, + get: function () { + return _index.default; + } +}); +Object.defineProperty(exports, "Scope", { + enumerable: true, + get: function () { + return _index2.default; + } +}); +exports.visitors = exports.default = void 0; +require("./path/context.js"); +var visitors = require("./visitors.js"); +exports.visitors = visitors; +var _t = require("@babel/types"); +var cache = require("./cache.js"); +var _traverseNode = require("./traverse-node.js"); +var _index = require("./path/index.js"); +var _index2 = require("./scope/index.js"); +var _hub = require("./hub.js"); +const { + VISITOR_KEYS, + removeProperties, + traverseFast +} = _t; +function traverse(parent, opts = {}, scope, state, parentPath, visitSelf) { + if (!parent) return; + if (!opts.noScope && !scope) { + if (parent.type !== "Program" && parent.type !== "File") { + throw new Error("You must pass a scope and parentPath unless traversing a Program/File. " + `Instead of that you tried to traverse a ${parent.type} node without ` + "passing scope and parentPath."); + } + } + if (!parentPath && visitSelf) { + throw new Error("visitSelf can only be used when providing a NodePath."); + } + if (!VISITOR_KEYS[parent.type]) { + return; + } + visitors.explode(opts); + (0, _traverseNode.traverseNode)(parent, opts, scope, state, parentPath, undefined, visitSelf); +} +var _default = exports.default = traverse; +traverse.visitors = visitors; +traverse.verify = visitors.verify; +traverse.explode = visitors.explode; +traverse.cheap = function (node, enter) { + traverseFast(node, enter); + return; +}; +traverse.node = function (node, opts, scope, state, path, skipKeys) { + (0, _traverseNode.traverseNode)(node, opts, scope, state, path, skipKeys); +}; +traverse.clearNode = function (node, opts) { + removeProperties(node, opts); +}; +traverse.removeProperties = function (tree, opts) { + traverseFast(tree, traverse.clearNode, opts); + return tree; +}; +traverse.hasType = function (tree, type, denylistTypes) { + if (denylistTypes != null && denylistTypes.includes(tree.type)) return false; + if (tree.type === type) return true; + return traverseFast(tree, function (node) { + if (denylistTypes != null && denylistTypes.includes(node.type)) { + return traverseFast.skip; + } + if (node.type === type) { + return traverseFast.stop; + } + }); +}; +traverse.cache = cache; + +//# sourceMappingURL=index.js.map |
