Sha256: b59a3b1c55399da8bc43d807f69b92866c0036cb5a8eb3cd84310ded429933e6
Contents?: true
Size: 570 Bytes
Versions: 27
Compression:
Stored size: 570 Bytes
Contents
'use strict'; exports.__esModule = true; exports.default = function visit(node, keys, visitorSpec) { if (!node || !keys) { return; } const type = node.type; if (typeof visitorSpec[type] === 'function') { visitorSpec[type](node); } const childFields = keys[type]; if (!childFields) { return; } childFields.forEach((fieldName) => { [].concat(node[fieldName]).forEach((item) => { visit(item, keys, visitorSpec); }); }); if (typeof visitorSpec[`${type}:Exit`] === 'function') { visitorSpec[`${type}:Exit`](node); } };
Version data entries
27 entries across 27 versions & 2 rubygems