26 lines
367 B
Go
26 lines
367 B
Go
package config
|
|
|
|
import "os"
|
|
|
|
func StringEnvOr(key, def string) string {
|
|
val, set := os.LookupEnv(key)
|
|
if !set {
|
|
return def
|
|
}
|
|
|
|
return val
|
|
}
|
|
|
|
func EnvOr[T any](key string, parser func(string) (T, error), def T) T {
|
|
val, set := os.LookupEnv(key)
|
|
if !set {
|
|
return def
|
|
}
|
|
|
|
if parsed, err := parser(val); err != nil {
|
|
return def
|
|
} else {
|
|
return parsed
|
|
}
|
|
}
|