Files

65 lines
1.0 KiB
Go

package env
import (
"os"
"strconv"
"strings"
"time"
)
func GetString(key, fallback string) string {
val, ok := os.LookupEnv(key)
if !ok {
return fallback
}
return val
}
func GetInt(key string, fallback int) int {
val, ok := os.LookupEnv(key)
if !ok {
return fallback
}
valAsInt, err := strconv.Atoi(val)
if err != nil {
return fallback
}
return valAsInt
}
func GetDuration(key string, fallback string) time.Duration {
parsedFallback, _ := time.ParseDuration(fallback)
val, ok := os.LookupEnv(key)
if !ok {
return parsedFallback
}
parsedVal, err := time.ParseDuration(val)
if err != nil {
return parsedFallback
}
return parsedVal
}
func GetBool(key string, fallback bool) bool {
val, ok := os.LookupEnv(key)
if !ok {
return fallback
}
valAsBool, err := strconv.ParseBool(val)
if err != nil {
return fallback
}
return valAsBool
}
func GetList(key string, fallback []string) []string {
val, ok := os.LookupEnv(key)
if !ok {
return fallback
}
return strings.Split(val, ",")
}