All files / src/utils iterateDFS.js

100% Statements 8/8
100% Branches 8/8
100% Functions 2/2
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20          31x 30x   30x 15x 21x 21x       30x        
function iterateDFS(
  moduleNode,
  modulePath = [],
  onIterate = Function.prototype
) {
  if (!moduleNode) return moduleNode;
  const childModules = moduleNode.modules;
 
  if (childModules && typeof childModules === 'object') {
    Object.entries(childModules).forEach(([moduleName, moduleObj]) => {
      const newModulePath = [...modulePath, moduleName];
      iterateDFS(moduleObj, newModulePath, onIterate);
    });
  }
 
  onIterate(moduleNode, modulePath);
}
 
export default iterateDFS;