package envconf import ("strconv" "fmt" "errors" "strings" "time") func parseInt(key string, str string)(ret cValue) { val, err := strconv.ParseInt(str, 10, 64) if err == nil { ret.intval = val } else { ret.err = errors.New(fmt.Sprintf(`Environment variable "%s" is not of type int.`, key)) } return } func parseDuration(key string, str string)(ret cValue) { val, err := time.ParseDuration(str) if err == nil { ret.durval = val } else { ret.err = errors.New(fmt.Sprintf(`Environment variable "%s" is not of type duration.`, key)) } return } func parseBool(key string, str string)(ret cValue) { val, err := strconv.ParseBool(str) if err == nil { ret.boolval = val } else { ret.err = errors.New(fmt.Sprintf(`Environment variable "%s" is not of type bool.`, key)) } return } func parseString(_ string, str string)(ret cValue) { ret.strval = str return } func parseDirectory(_ string, str string)(ret cValue) { ret.strval = strings.TrimRight(str, "/") return }