src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/eval/generic_utils.go (about)

     1  package eval
     2  
     3  // Some generic utils that should appear in the standard library soon.
     4  
     5  func mapKeys[K comparable, V any](m map[K]V) []K {
     6  	ks := make([]K, 0, len(m))
     7  	for k := range m {
     8  		ks = append(ks, k)
     9  	}
    10  	return ks
    11  }
    12  
    13  func sliceContains[T comparable](xs []T, y T) bool {
    14  	for _, x := range xs {
    15  		if x == y {
    16  			return true
    17  		}
    18  	}
    19  	return false
    20  }