3 Commits

Author SHA1 Message Date
550537be3b setting using default vkey 2023-11-03 16:39:30 -07:00
95bdc4d109 upadte switch for any 2023-11-03 12:27:04 -07:00
64d37d936f add check for empty config file 2023-11-03 04:40:53 -07:00
3 changed files with 14 additions and 4 deletions

View File

@@ -143,6 +143,8 @@ func (c *ConfigManager) GetStringSlice(key string) []string {
}
}
switch val := v.Value.(type) {
case []string:
return val
case []any:
var ret []string
for _, v := range val {
@@ -200,6 +202,8 @@ func (c *ConfigManager) GetIntSlice(key string) []int {
}
}
switch val := v.Value.(type) {
case []int:
return val
case []any:
var ret []int
for _, v := range val {

10
jety.go
View File

@@ -41,7 +41,10 @@ type (
}
)
var ErrConfigFileNotFound = errors.New("config File Not Found")
var (
ErrConfigFileNotFound = errors.New("config file not found")
ErrConfigFileEmpty = errors.New("config file is empty")
)
func NewConfigManager() *ConfigManager {
cm := ConfigManager{}
@@ -181,9 +184,12 @@ func (c *ConfigManager) ReadInConfig() error {
func readFile(filename string, fileType configType) (map[string]any, error) {
fileData := make(map[string]any)
if _, err := os.Stat(filename); os.IsNotExist(err) {
if d, err := os.Stat(filename); os.IsNotExist(err) {
return nil, ErrConfigFileNotFound
} else if d.Size() == 0 {
return nil, ErrConfigFileEmpty
}
switch fileType {
case ConfigTypeTOML:
_, err := toml.DecodeFile(filename, &fileData)

View File

@@ -35,8 +35,8 @@ func (c *ConfigManager) SetDefault(key string, value any) {
c.defaultConfig[lower] = ConfigMap{Key: key, Value: value}
if _, ok := c.mapConfig[lower]; !ok {
if envVal, ok := c.envConfig[lower]; ok {
c.mapConfig[lower] = envVal
c.combinedConfig[lower] = envVal
c.mapConfig[lower] = ConfigMap{Key: key, Value: envVal.Value}
c.combinedConfig[lower] = ConfigMap{Key: key, Value: envVal.Value}
} else {
c.combinedConfig[lower] = ConfigMap{Key: key, Value: value}
}