code: function TreeTraverser(inputTree, visitor) {
    if (!(this instanceof TreeTraverser)) return new TreeTraverser(inputTree, visitor);
  
    this.inputTree = inputTree;
    this.visitor = visitor;
  }
docs: Walk the input tree, calling visitor#visit for every file in the path.
  
  `vistor.visit` can return nothing, or a promise if it's behaving asynchronously.
  
  @param inputTree - path - relative path do the source dir
  @param visitor - an object
  @return {TreeTraverser}
  @constructor
  @alias module:index