code: func formatOutput(data interface{}, format string) ([]byte, error) {
  	var out string
  
  	switch format {
  
  	case "json":
  		jsonout, err := json.MarshalIndent(data, "", "  ")
  		if err != nil {
  			return nil, err
  		}
  		out = string(jsonout)
  
  	case "text":
  		out = data.(fmt.Stringer).String()
  
  	default:
  		return nil, fmt.Errorf("Invalid output format \"%s\"", format)
  
  	}
  	return []byte(prepareOutput(out)), nil
  }
docs: // Format some raw data for output. For better or worse, this currently forces
  // the passed data object to implement fmt.Stringer, since it's pretty hard to
  // implement a canonical *-to-string function.