27 lines
514 B
Go
27 lines
514 B
Go
package utils
|
|
|
|
import "strings"
|
|
|
|
func DecodeSettings(input string, pairDelim string, kvDelim string) map[string]string {
|
|
result := make(map[string]string)
|
|
pairs := strings.Split(input, pairDelim)
|
|
|
|
for _, pair := range pairs {
|
|
trimmedPair := strings.TrimSpace(pair)
|
|
if trimmedPair == "" {
|
|
continue
|
|
}
|
|
|
|
kv := strings.SplitN(trimmedPair, kvDelim, 2)
|
|
if len(kv) != 2 {
|
|
continue
|
|
}
|
|
|
|
key := strings.TrimSpace(kv[0])
|
|
if key != "" {
|
|
result[key] = strings.TrimSpace(kv[1])
|
|
}
|
|
}
|
|
return result
|
|
}
|