docs: function extractServices(search, services) {
    if (!search) { return; }
  
    if (Array.isArray(search)) {
      // We got passed an array of nodes, process each one individualy
      search.forEach(function (item) {
        extractServices(item, services);
      });
    }
  
    else if (search.dir) {
      // We are a directory, recurse with the nodes
      extractServices(search.nodes, services);
    }
  
    else if (search.node) {
      // We are at the root of the search, recurse with the node's result
      extractServices(search.node, services);
    }
  
    else if (search.value) {
      // We are finaly at a leaf, extract the service info
      services[search.key] = search.value;
    }
  
    return;
  }