You've already forked utilities
56 lines
845 B
Go
Executable File
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
|
|
}
|