diff options
Diffstat (limited to 'node_modules/@babel/traverse/lib/visitors.js')
| -rw-r--r-- | node_modules/@babel/traverse/lib/visitors.js | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/node_modules/@babel/traverse/lib/visitors.js b/node_modules/@babel/traverse/lib/visitors.js deleted file mode 100644 index 2dc03dc6..00000000 --- a/node_modules/@babel/traverse/lib/visitors.js +++ /dev/null @@ -1,258 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.environmentVisitor = environmentVisitor; -exports.explode = explode$1; -exports.isExplodedVisitor = isExplodedVisitor; -exports.merge = merge; -exports.verify = verify$1; -var virtualTypes = require("./path/lib/virtual-types.js"); -var virtualTypesValidators = require("./path/lib/virtual-types-validator.js"); -var _t = require("@babel/types"); -var _context = require("./path/context.js"); -const { - DEPRECATED_KEYS, - DEPRECATED_ALIASES, - FLIPPED_ALIAS_KEYS, - TYPES, - __internal__deprecationWarning: deprecationWarning -} = _t; -function isVirtualType(type) { - return type in virtualTypes; -} -function isExplodedVisitor(visitor) { - return visitor == null ? void 0 : visitor._exploded; -} -function explode$1(visitor) { - if (isExplodedVisitor(visitor)) return visitor; - visitor._exploded = true; - for (const nodeType of Object.keys(visitor)) { - if (shouldIgnoreKey(nodeType)) continue; - const parts = nodeType.split("|"); - if (parts.length === 1) continue; - const fns = visitor[nodeType]; - delete visitor[nodeType]; - for (const part of parts) { - visitor[part] = fns; - } - } - verify$1(visitor); - delete visitor.__esModule; - ensureEntranceObjects(visitor); - ensureCallbackArrays(visitor); - for (const nodeType of Object.keys(visitor)) { - if (shouldIgnoreKey(nodeType)) continue; - if (!isVirtualType(nodeType)) continue; - const fns = visitor[nodeType]; - for (const type of Object.keys(fns)) { - fns[type] = wrapCheck(nodeType, fns[type]); - } - delete visitor[nodeType]; - const types = virtualTypes[nodeType]; - if (types !== null) { - for (const type of types) { - if (visitor[type]) { - mergePair(visitor[type], fns); - } else { - visitor[type] = fns; - } - } - } else { - mergePair(visitor, fns); - } - } - for (const nodeType of Object.keys(visitor)) { - if (shouldIgnoreKey(nodeType)) continue; - let aliases = FLIPPED_ALIAS_KEYS[nodeType]; - if (nodeType in DEPRECATED_KEYS) { - const deprecatedKey = DEPRECATED_KEYS[nodeType]; - deprecationWarning(nodeType, deprecatedKey, "Visitor "); - aliases = [deprecatedKey]; - } else if (nodeType in DEPRECATED_ALIASES) { - const deprecatedAlias = DEPRECATED_ALIASES[nodeType]; - deprecationWarning(nodeType, deprecatedAlias, "Visitor "); - aliases = FLIPPED_ALIAS_KEYS[deprecatedAlias]; - } - if (!aliases) continue; - const fns = visitor[nodeType]; - delete visitor[nodeType]; - for (const alias of aliases) { - const existing = visitor[alias]; - if (existing) { - mergePair(existing, fns); - } else { - visitor[alias] = Object.assign({}, fns); - } - } - } - for (const nodeType of Object.keys(visitor)) { - if (shouldIgnoreKey(nodeType)) continue; - ensureCallbackArrays(visitor[nodeType]); - } - return visitor; -} -function verify$1(visitor) { - if (visitor._verified) return; - if (typeof visitor === "function") { - throw new Error("You passed `traverse()` a function when it expected a visitor object, " + "are you sure you didn't mean `{ enter: Function }`?"); - } - for (const nodeType of Object.keys(visitor)) { - if (nodeType === "enter" || nodeType === "exit") { - validateVisitorMethods(nodeType, visitor[nodeType]); - } - if (shouldIgnoreKey(nodeType)) continue; - if (!TYPES.includes(nodeType)) { - throw new Error(`You gave us a visitor for the node type ${nodeType} but it's not a valid type in @babel/traverse ${"7.25.7"}`); - } - const visitors = visitor[nodeType]; - if (typeof visitors === "object") { - for (const visitorKey of Object.keys(visitors)) { - if (visitorKey === "enter" || visitorKey === "exit") { - validateVisitorMethods(`${nodeType}.${visitorKey}`, visitors[visitorKey]); - } else { - throw new Error("You passed `traverse()` a visitor object with the property " + `${nodeType} that has the invalid property ${visitorKey}`); - } - } - } - } - visitor._verified = true; -} -function validateVisitorMethods(path, val) { - const fns = [].concat(val); - for (const fn of fns) { - if (typeof fn !== "function") { - throw new TypeError(`Non-function found defined in ${path} with type ${typeof fn}`); - } - } -} -function merge(visitors, states = [], wrapper) { - const mergedVisitor = { - _verified: true, - _exploded: true - }; - { - Object.defineProperty(mergedVisitor, "_exploded", { - enumerable: false - }); - Object.defineProperty(mergedVisitor, "_verified", { - enumerable: false - }); - } - for (let i = 0; i < visitors.length; i++) { - const visitor = explode$1(visitors[i]); - const state = states[i]; - let topVisitor = visitor; - if (state || wrapper) { - topVisitor = wrapWithStateOrWrapper(topVisitor, state, wrapper); - } - mergePair(mergedVisitor, topVisitor); - for (const key of Object.keys(visitor)) { - if (shouldIgnoreKey(key)) continue; - let typeVisitor = visitor[key]; - if (state || wrapper) { - typeVisitor = wrapWithStateOrWrapper(typeVisitor, state, wrapper); - } - const nodeVisitor = mergedVisitor[key] || (mergedVisitor[key] = {}); - mergePair(nodeVisitor, typeVisitor); - } - } - return mergedVisitor; -} -function wrapWithStateOrWrapper(oldVisitor, state, wrapper) { - const newVisitor = {}; - for (const phase of ["enter", "exit"]) { - let fns = oldVisitor[phase]; - if (!Array.isArray(fns)) continue; - fns = fns.map(function (fn) { - let newFn = fn; - if (state) { - newFn = function (path) { - fn.call(state, path, state); - }; - } - if (wrapper) { - newFn = wrapper(state == null ? void 0 : state.key, phase, newFn); - } - if (newFn !== fn) { - newFn.toString = () => fn.toString(); - } - return newFn; - }); - newVisitor[phase] = fns; - } - return newVisitor; -} -function ensureEntranceObjects(obj) { - for (const key of Object.keys(obj)) { - if (shouldIgnoreKey(key)) continue; - const fns = obj[key]; - if (typeof fns === "function") { - obj[key] = { - enter: fns - }; - } - } -} -function ensureCallbackArrays(obj) { - if (obj.enter && !Array.isArray(obj.enter)) obj.enter = [obj.enter]; - if (obj.exit && !Array.isArray(obj.exit)) obj.exit = [obj.exit]; -} -function wrapCheck(nodeType, fn) { - const fnKey = `is${nodeType}`; - const validator = virtualTypesValidators[fnKey]; - const newFn = function (path) { - if (validator.call(path)) { - return fn.apply(this, arguments); - } - }; - newFn.toString = () => fn.toString(); - return newFn; -} -function shouldIgnoreKey(key) { - if (key[0] === "_") return true; - if (key === "enter" || key === "exit" || key === "shouldSkip") return true; - if (key === "denylist" || key === "noScope" || key === "skipKeys") { - return true; - } - { - if (key === "blacklist") { - return true; - } - } - return false; -} -function mergePair(dest, src) { - for (const phase of ["enter", "exit"]) { - if (!src[phase]) continue; - dest[phase] = [].concat(dest[phase] || [], src[phase]); - } -} -const _environmentVisitor = { - FunctionParent(path) { - if (path.isArrowFunctionExpression()) return; - path.skip(); - if (path.isMethod()) { - if (!path.requeueComputedKeyAndDecorators) { - _context.requeueComputedKeyAndDecorators.call(path); - } else { - path.requeueComputedKeyAndDecorators(); - } - } - }, - Property(path) { - if (path.isObjectProperty()) return; - path.skip(); - if (!path.requeueComputedKeyAndDecorators) { - _context.requeueComputedKeyAndDecorators.call(path); - } else { - path.requeueComputedKeyAndDecorators(); - } - } -}; -function environmentVisitor(visitor) { - return merge([_environmentVisitor, visitor]); -} - -//# sourceMappingURL=visitors.js.map |
