func (ls Labels) MatchLabels(on bool, names ...string) Labels {
	matchedLabels := Labels{}

	nameSet := map[string]struct{}{}
	for _, n := range names {
		nameSet[n] = struct{}{}
	}

	for _, v := range ls {
		if _, ok := nameSet[v.Name]; on == ok {
			matchedLabels = append(matchedLabels, v)
		}
	}

	return matchedLabels
}
func (ls Labels) MatchLabels(on bool, names ...string) Labels {
	matchedLabels := Labels{}

	nameSet := map[string]struct{}{}
	for _, n := range names {
		nameSet[n] = struct{}{}
	}

	for _, v := range ls {
		if _, ok := nameSet[v.Name]; on == ok {
			matchedLabels = append(matchedLabels, v)
		}
	}

	return matchedLabels
}
func ( ls Labels ) MatchLabels ( on bool , names ... string ) Labels { matchedLabels := Labels { } nameSet := map [ string ] struct { } { } for _ , n := range names { nameSet [ n ] = struct { } { } } for _ , v := range ls { if _ , ok := nameSet [ v . Name ] ; on == ok { matchedLabels = append ( matchedLabels , v ) } } return matchedLabels }
// MatchLabels returns a subset of Labels that matches/does not match with the provided label names based on the 'on' boolean.
// If on is set to true, it returns the subset of labels that match with the provided label names and its inverse when 'on' is set to false.
MatchLabels returns a subset of Labels that matches / does not match with the provided label names based on the on boolean . If on is set to true it returns the subset of labels that match with the provided label names and its inverse when on is set to false .