github.com/argoproj/argo-cd@v1.8.7/util/text/label/label.go (about)

     1  package label
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  )
     7  
     8  const labelFieldDelimiter = "="
     9  
    10  func Parse(labels []string) (map[string]string, error) {
    11  	var selectedLabels map[string]string
    12  	if labels != nil {
    13  		selectedLabels = map[string]string{}
    14  		for _, r := range labels {
    15  			fields := strings.Split(r, labelFieldDelimiter)
    16  			if len(fields) != 2 {
    17  				return nil, fmt.Errorf("labels should have key%svalue, but instead got: %s", labelFieldDelimiter, r)
    18  			}
    19  			selectedLabels[fields[0]] = fields[1]
    20  		}
    21  	}
    22  	return selectedLabels, nil
    23  }