D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
ebrokers.online
/
node_modules
/
eslint-module-utils
/
Filename :
visit.js
back
Copy
'use strict'; exports.__esModule = true; /** @type {import('./visit').default} */ exports.default = function visit(node, keys, visitorSpec) { if (!node || !keys) { return; } const type = node.type; const visitor = visitorSpec[type]; if (typeof visitor === 'function') { visitor(node); } const childFields = keys[type]; if (!childFields) { return; } childFields.forEach((fieldName) => { // @ts-expect-error TS sucks with concat [].concat(node[fieldName]).forEach((item) => { visit(item, keys, visitorSpec); }); }); const exit = visitorSpec[`${type}:Exit`]; if (typeof exit === 'function') { exit(node); } };