package env import ( "os" "strings" ) // saves your applications config file func Save() error { return saveENV() } func saveENV() error { saveMu.Lock() defer saveMu.Unlock() return saveENVnolock(envPB.Filename) } func saveENVnolock(filename string) error { outENV, err := formatENV() if err == nil { // fmt.Println(outENV) } return os.WriteFile(filename, []byte(outENV), 0644) } func Get(flag string) string { saveMu.Lock() defer saveMu.Unlock() if envPB == nil { return "" } c := findByLower(flag) if c == nil { return "" } return c.Value } func True(flag string) bool { saveMu.Lock() defer saveMu.Unlock() if envPB == nil { return false } found := envPB.FindByVar(flag) if found == nil { return false } if strings.ToLower(found.Value) == "true" { return true } return false } func Set(varname string, newValue string) error { saveMu.Lock() defer saveMu.Unlock() if envPB == nil { return NotInitialized } found := envPB.FindByVar(varname) if found != nil { found.Value = newValue saveENVnolock(envPB.Filename) } newvar := new(Key) newvar.Var = varname newvar.Value = newValue envPB.Append(newvar) saveENVnolock(envPB.Filename) return nil }