Files
utilities/Env/env.go

56 lines
845 B
Go
Executable File

package Env
import (
"log"
"os"
"strconv"
"strings"
)
type EnvironmentVariable string
func (v EnvironmentVariable) GetName() string {
return string(v)
}
func (v EnvironmentVariable) GetEnvString(fallback string) string {
if value, ok := os.LookupEnv(string(v)); ok {
return value
}
return fallback
}
func (v EnvironmentVariable) GetEnvBool(fallback bool) bool {
value, ok := os.LookupEnv(string(v))
if !ok {
return fallback
}
value = strings.ToLower(value)
trueValues := []string{"1", "true"}
for _, x := range trueValues {
if value == x {
return true
}
}
return false
}
func (v EnvironmentVariable) GetEnvInt(key string, fallback int64) int64 {
if value, ok := os.LookupEnv(key); ok {
i, err := strconv.ParseInt(value, 10, 64)
if err != nil {
log.Fatal(err)
}
return i
}
return fallback
}