chore: add mercury

This commit is contained in:
xuu
2024-01-22 16:00:58 -07:00
parent eb63312542
commit d4e021386b
47 changed files with 6456 additions and 152 deletions

37
env/env.go vendored
View File

@@ -9,35 +9,16 @@ import (
"strings"
)
func Default(name, defaultValue string) string {
func Default(name, defaultValue string) (s string) {
name = strings.TrimSpace(name)
defaultValue = strings.TrimSpace(defaultValue)
if v := strings.TrimSpace(os.Getenv(name)); v != "" {
slog.Info("env", name, v)
return v
}
slog.Info("env", name, defaultValue+" (default)")
return defaultValue
}
s = strings.TrimSpace(defaultValue)
type secret string
if v, ok := os.LookupEnv(name); ok {
s = strings.TrimSpace(v)
slog.Info("env", slog.String(name, v))
return
}
func (s secret) String() string {
if s == "" {
return "(nil)"
}
return "***"
}
func (s secret) Secret() string {
return string(s)
}
func Secret(name, defaultValue string) secret {
name = strings.TrimSpace(name)
defaultValue = strings.TrimSpace(defaultValue)
if v := strings.TrimSpace(os.Getenv(name)); v != "" {
slog.Info("env", name, secret(v))
return secret(v)
}
slog.Info("env", name, secret(defaultValue).String()+" (default)")
return secret(defaultValue)
slog.Info("env", slog.String(name, s+" (default)"))
return
}

35
env/secret.go vendored Normal file
View File

@@ -0,0 +1,35 @@
package env
import (
"os"
"log/slog"
"strings"
)
type secret string
func (s secret) String() string {
if s == "" {
return "(nil)"
}
return "***"
}
func (s secret) Secret() string {
return string(s)
}
func Secret(name, defaultValue string) (s secret) {
name = strings.TrimSpace(name)
s = secret(strings.TrimSpace(defaultValue))
if v, ok := os.LookupEnv(name); ok {
s = secret(strings.TrimSpace(v))
slog.Info("env", slog.String(name, s.String()))
return
}
slog.Info("env", slog.String(name, s.String()+" (default)"))
return
}