Skip to content

Commit

Permalink
improve readability
Browse files Browse the repository at this point in the history
  • Loading branch information
aakash-rajur committed Oct 21, 2023
1 parent ceac4a4 commit 22cf5f4
Showing 1 changed file with 31 additions and 15 deletions.
46 changes: 31 additions & 15 deletions internal/config/load.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
)

func loadAndExpand(workDir string, sqlxGenAltPath string) (string, error) {
env := loadEnvFile(workDir)
env := loadEnvFromFile(workDir)

cfgPath := getSqlxGenPath(workDir, env, sqlxGenAltPath)

Expand All @@ -25,7 +25,15 @@ func loadAndExpand(workDir string, sqlxGenAltPath string) (string, error) {
expanded := os.Expand(
string(content),
func(key string) string {
return env[key]
value, ok := env[key]

if !ok {
slog.Warn("environment variable not found", "key", key)

return ""
}

return value
},
)

Expand Down Expand Up @@ -58,31 +66,39 @@ func getSqlxGenPath(
return path.Join(workDir, cfgEnvPath)
}

func loadEnvFile(workDir string) map[string]string {
func loadEnvFromFile(workDir string) map[string]string {
env := loadEnvFromOS()

envFile := path.Join(workDir, ".env")

_, err := os.Stat(envFile)

env := loadEnv()
if err != nil {
if !os.IsNotExist(err) {
slog.Warn("local environment file not found")
}

return env
}

if err == nil {
dotEnv, err := godotenv.Read(envFile)
dotEnv, err := godotenv.Read(envFile)

if err != nil {
slog.Warn("failed to read environment variables")
}
if err != nil {
slog.Warn("failed to read environment file")

if dotEnv != nil {
maps.Copy(env, dotEnv)
}
} else if !os.IsNotExist(err) {
slog.Warn("local environment file not found")
return env
}

if dotEnv == nil {
return env
}

maps.Copy(env, dotEnv)

return env
}

func loadEnv() map[string]string {
func loadEnvFromOS() map[string]string {
env := make(map[string]string)

for _, e := range os.Environ() {
Expand Down

0 comments on commit 22cf5f4

Please sign in to comment.