github.com/mmatczuk/gohan@v0.0.0-20170206152520-30e45d9bdb69/extension/gohanscript/lib/util.go (about) 1 package lib 2 3 import ( 4 "os" 5 "strings" 6 7 uuidlib "github.com/twinj/uuid" 8 ) 9 10 //UUID makes uuidv4 11 func UUID() string { 12 return uuidlib.NewV4().String() 13 } 14 15 //FormatUUID format uuidv4 16 func FormatUUID(uuid string) (string, error) { 17 u, err := uuidlib.Parse(uuid) 18 return u.String(), err 19 } 20 21 //Env returns map of env values 22 func Env() map[string]interface{} { 23 envs := os.Environ() 24 env := map[string]interface{}{} 25 for _, keyvalueString := range envs { 26 keyvalue := strings.Split(keyvalueString, "=") 27 var key, value string 28 key = keyvalue[0] 29 if len(keyvalue) > 1 { 30 value = keyvalue[1] 31 } 32 env[key] = value 33 } 34 return env 35 } 36 37 //NormalizeMap normalizes data which can't be used for standard yaml or json 38 func NormalizeMap(data map[string]interface{}) map[string]interface{} { 39 result := map[string]interface{}{} 40 for key, value := range data { 41 key = strings.Replace(key, ":", "_", -1) 42 key = strings.Replace(key, "-", "_", -1) 43 result[key] = value 44 } 45 return result 46 }