resolver
API
resolver
packageAPI reference for the resolver
package.
Imports
(2)
F
function
GetValue
GetValue returns the value to bind based on priority: CLI > Env > Default.
Parameters
cliVal
*string
envName
string
defVal
string
isFlag
bool
Returns
string
error
pkg/resolver/resolver.go:12-28
func GetValue(cliVal *string, envName, defVal string, isFlag bool) (string, error)
{
if cliVal != nil {
return *cliVal, nil
}
if envName != "" {
if val, ok := os.LookupEnv(envName); ok {
return val, nil
}
}
if defVal != "" {
return defVal, nil
}
return "", nil
}
Example
val, err := resolver.GetValue(nil, "ENV_VAR", "default", false)
F
function
TestGetValue_CLI
Parameters
t
pkg/resolver/resolver_test.go:8-17
func TestGetValue_CLI(t *testing.T)
{
cli := "cli-value"
val, err := GetValue(&cli, "ENV", "default", false)
if err != nil {
t.Fatalf("GetValue failed: %v", err)
}
if val != "cli-value" {
t.Errorf("got %q, want %q", val, "cli-value")
}
}
F
function
TestGetValue_Env
Parameters
t
pkg/resolver/resolver_test.go:19-30
func TestGetValue_Env(t *testing.T)
{
os.Setenv("TEST_VAR", "env-value")
defer os.Unsetenv("TEST_VAR")
val, err := GetValue(nil, "TEST_VAR", "default", false)
if err != nil {
t.Fatalf("GetValue failed: %v", err)
}
if val != "env-value" {
t.Errorf("got %q, want %q", val, "env-value")
}
}
F
function
TestGetValue_Default
Parameters
t
pkg/resolver/resolver_test.go:32-40
func TestGetValue_Default(t *testing.T)
{
val, err := GetValue(nil, "", "default-val", false)
if err != nil {
t.Fatalf("GetValue failed: %v", err)
}
if val != "default-val" {
t.Errorf("got %q, want %q", val, "default-val")
}
}
F
function
TestGetValue_Empty
Parameters
t
pkg/resolver/resolver_test.go:42-50
func TestGetValue_Empty(t *testing.T)
{
val, err := GetValue(nil, "", "", false)
if err != nil {
t.Fatalf("GetValue failed: %v", err)
}
if val != "" {
t.Errorf("got %q, want empty", val)
}
}
F
function
TestGetValue_Priority
Parameters
t
pkg/resolver/resolver_test.go:52-64
func TestGetValue_Priority(t *testing.T)
{
os.Setenv("PRIORITY_VAR", "env-value")
defer os.Unsetenv("PRIORITY_VAR")
cli := "cli-value"
val, err := GetValue(&cli, "PRIORITY_VAR", "default", false)
if err != nil {
t.Fatalf("GetValue failed: %v", err)
}
if val != "cli-value" {
t.Errorf("CLI should have priority, got %q", val)
}
}