code: func parseOutputCSV(s string) (client.ExportEntry, error) {
  	ex := client.ExportEntry{
  		Type:  "",
  		Attrs: map[string]string{},
  	}
  	csvReader := csv.NewReader(strings.NewReader(s))
  	fields, err := csvReader.Read()
  	if err != nil {
  		return ex, err
  	}
  	for _, field := range fields {
  		parts := strings.SplitN(field, "=", 2)
  		if len(parts) != 2 {
  			return ex, errors.Errorf("invalid value %s", field)
  		}
  		key := strings.ToLower(parts[0])
  		value := parts[1]
  		switch key {
  		case "type":
  			ex.Type = value
  		default:
  			ex.Attrs[key] = value
  		}
  	}
  	if ex.Type == "" {
  		return ex, errors.New("--output requires type=<type>")
  	}
  	if v, ok := ex.Attrs["output"]; ok {
  		return ex, errors.Errorf("output=%s not supported for --output, you meant dest=%s?", v, v)
  	}
  	ex.Output, ex.OutputDir, err = resolveExporterDest(ex.Type, ex.Attrs["dest"])
  	if err != nil {
  		return ex, errors.Wrap(err, "invalid output option: output")
  	}
  	if ex.Output != nil || ex.OutputDir != "" {
  		delete(ex.Attrs, "dest")
  	}
  	return ex, nil
  }
docs: // parseOutputCSV parses a single --output CSV string