code: func (s *Store) NodeInfo(ws memdb.WatchSet, node string) (uint64, structs.NodeDump, error) {
  	tx := s.db.Txn(false)
  	defer tx.Abort()
  
  	// Get the table index.
  	idx := maxIndexTxn(tx, "nodes", "services", "checks")
  
  	// Query the node by the passed node
  	nodes, err := tx.Get("nodes", "id", node)
  	if err != nil {
  		return 0, nil, fmt.Errorf("failed node lookup: %s", err)
  	}
  	ws.Add(nodes.WatchCh())
  	return s.parseNodes(tx, ws, idx, nodes)
  }
docs: // NodeInfo is used to generate a dump of a single node. The dump includes
  // all services and checks which are registered against the node.