stream-tools/utils/dotenv/dotenv.go

37 lines
651 B
Go
Raw Normal View History

package dotenv
import (
"os"
"strings"
)
func LoadEnv() (map[string]string, error) {
data, err := os.ReadFile(".env")
if err != nil { return nil, err }
dataString := string(data)
lines := strings.Split(dataString, "\n")
envars := map[string]string{}
for _, line := range lines {
splits := strings.Split(line, "=")
if len(splits) < 2 { continue }
key := splits[0]
value := splits[1]
if len(value) > 2 && value[0] == '"' && value[len(value) - 1] == '"' {
value = value[1:len(value)-1]
}
envars[key] = value
}
return envars, nil
}
func SafeGet(m map[string]string, k string) string {
value, _ := m[k]
return value
}