github.com/metasources/buildx@v0.0.0-20230418141019-7aa1459cedea/internal/string_helpers.go (about) 1 package internal 2 3 import "strings" 4 5 // HasAnyOfPrefixes returns an indication if the given string has any of the given prefixes. 6 func HasAnyOfPrefixes(input string, prefixes ...string) bool { 7 for _, prefix := range prefixes { 8 if strings.HasPrefix(input, prefix) { 9 return true 10 } 11 } 12 13 return false 14 } 15 16 func TruncateMiddleEllipsis(input string, maxLen int) string { 17 if len(input) <= maxLen { 18 return input 19 } 20 return input[:maxLen/2] + "..." + input[len(input)-(maxLen/2):] 21 } 22 23 func StringInSlice(a string, list []string) bool { 24 for _, b := range list { 25 if b == a { 26 return true 27 } 28 } 29 return false 30 } 31 32 func SplitAny(s string, seps string) []string { 33 splitter := func(r rune) bool { 34 return strings.ContainsRune(seps, r) 35 } 36 return strings.FieldsFunc(s, splitter) 37 }