package utils import ( "fmt" "strings" ) // MaskAPIKey masks an API key for safe logging. func MaskAPIKey(key string) string { length := len(key) if length <= 8 { return key } return fmt.Sprintf("%s****%s", key[:4], key[length-4:]) } // TruncateString shortens a string to a maximum length. func TruncateString(s string, maxLength int) string { if len(s) > maxLength { return s[:maxLength] } return s } // SplitAndTrim splits a string by a separator func SplitAndTrim(s string, sep string) []string { if s == "" { return []string{} } parts := strings.Split(s, sep) result := make([]string, 0, len(parts)) for _, part := range parts { trimmed := strings.TrimSpace(part) if trimmed != "" { result = append(result, trimmed) } } return result }