Files
jety/default.go
Tai Groot 5aadc84d50 feat: add IsSet, AllKeys, AllSettings; fix env precedence for file-only keys
- collapse() now applies env vars for keys present in fileConfig, not
  just defaultConfig. Previously, env vars couldn't override file values
  unless a default was also set for that key.
- SetDefault no longer pollutes overrideConfig; it correctly resolves
  the value by checking override > env > file > default.
- Remove unused explicitDefaults field and UseExplicitDefaults method.
- Add IsSet, AllKeys, AllSettings methods + package-level wrappers.
- Add missing package-level wrappers: Get, SetBool, SetString,
  SetConfigDir, WithEnvPrefix.
- Add tests for all new methods and the env-over-file-without-default
  fix.
2026-03-01 23:43:16 +00:00

102 lines
2.0 KiB
Go

package jety
import "time"
var defaultConfigManager = NewConfigManager()
func GetIntSlice(key string) []int {
return defaultConfigManager.GetIntSlice(key)
}
func ReadInConfig() error {
return defaultConfigManager.ReadInConfig()
}
func SetConfigFile(file string) {
defaultConfigManager.SetConfigFile(file)
}
func SetConfigName(name string) {
defaultConfigManager.SetConfigName(name)
}
func GetInt(key string) int {
return defaultConfigManager.GetInt(key)
}
func SetEnvPrefix(prefix string) {
defaultConfigManager.SetEnvPrefix(prefix)
}
func SetConfigType(configType string) error {
return defaultConfigManager.SetConfigType(configType)
}
func SetDefault(key string, value any) {
defaultConfigManager.SetDefault(key, value)
}
func Set(key string, value any) {
defaultConfigManager.Set(key, value)
}
func WriteConfig() error {
return defaultConfigManager.WriteConfig()
}
func ConfigFileUsed() string {
return defaultConfigManager.ConfigFileUsed()
}
func GetBool(key string) bool {
return defaultConfigManager.GetBool(key)
}
func GetDuration(key string) time.Duration {
return defaultConfigManager.GetDuration(key)
}
func GetString(key string) string {
return defaultConfigManager.GetString(key)
}
func GetStringMap(key string) map[string]any {
return defaultConfigManager.GetStringMap(key)
}
func GetStringSlice(key string) []string {
return defaultConfigManager.GetStringSlice(key)
}
func Get(key string) any {
return defaultConfigManager.Get(key)
}
func SetBool(key string, value bool) {
defaultConfigManager.SetBool(key, value)
}
func SetString(key string, value string) {
defaultConfigManager.SetString(key, value)
}
func SetConfigDir(path string) {
defaultConfigManager.SetConfigDir(path)
}
func WithEnvPrefix(prefix string) *ConfigManager {
return defaultConfigManager.WithEnvPrefix(prefix)
}
func IsSet(key string) bool {
return defaultConfigManager.IsSet(key)
}
func AllKeys() []string {
return defaultConfigManager.AllKeys()
}
func AllSettings() map[string]any {
return defaultConfigManager.AllSettings()
}