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  }