2025-05-17 11:36:26 -04:00

46 lines
1.1 KiB
Go

package utils
import (
"os"
"strconv"
"time"
)
// GetEnv gets environment variable with fallback
func GetEnv(key, fallback string) string {
if value, exists := os.LookupEnv(key); exists {
return value
}
return fallback
}
// GetEnvInt gets environment variable as integer with fallback
func GetEnvInt(key string, fallback int) int {
if value, exists := os.LookupEnv(key); exists {
if intVal, err := strconv.Atoi(value); err == nil {
return intVal
}
}
return fallback
}
// GetEnvBool gets environment variable as boolean with fallback
func GetEnvBool(key string, fallback bool) bool {
if value, exists := os.LookupEnv(key); exists {
if boolVal, err := strconv.ParseBool(value); err == nil {
return boolVal
}
}
return fallback
}
// GetEnvDuration gets environment variable as time.Duration with fallback
func GetEnvDuration(key string, fallback time.Duration) time.Duration {
if value, exists := os.LookupEnv(key); exists {
if intVal, err := strconv.Atoi(value); err == nil {
return time.Duration(intVal) * time.Second
}
}
return fallback
}