mirror of
https://github.com/taigrr/jety.git
synced 2026-04-02 03:19:03 -07:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
62dd32f61b
|
|||
|
9c5923bd4e
|
|||
|
5643d4d262
|
38
getters.go
38
getters.go
@@ -143,8 +143,17 @@ func (c *ConfigManager) GetStringSlice(key string) []string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch val := v.Value.(type) {
|
switch val := v.Value.(type) {
|
||||||
case []string:
|
case []any:
|
||||||
return val
|
var ret []string
|
||||||
|
for _, v := range val {
|
||||||
|
switch v := v.(type) {
|
||||||
|
case string:
|
||||||
|
ret = append(ret, v)
|
||||||
|
default:
|
||||||
|
ret = append(ret, fmt.Sprintf("%v", v))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret
|
||||||
default:
|
default:
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -191,8 +200,29 @@ func (c *ConfigManager) GetIntSlice(key string) []int {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch val := v.Value.(type) {
|
switch val := v.Value.(type) {
|
||||||
case []int:
|
case []any:
|
||||||
return val
|
var ret []int
|
||||||
|
for _, v := range val {
|
||||||
|
switch v := v.(type) {
|
||||||
|
case int:
|
||||||
|
ret = append(ret, v)
|
||||||
|
case string:
|
||||||
|
i, err := strconv.Atoi(v)
|
||||||
|
if err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ret = append(ret, i)
|
||||||
|
case float32:
|
||||||
|
ret = append(ret, int(v))
|
||||||
|
case float64:
|
||||||
|
ret = append(ret, int(v))
|
||||||
|
case nil:
|
||||||
|
continue
|
||||||
|
default:
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret
|
||||||
default:
|
default:
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
7
jety.go
7
jety.go
@@ -162,8 +162,6 @@ func (c *ConfigManager) SetEnvPrefix(prefix string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *ConfigManager) ReadInConfig() error {
|
func (c *ConfigManager) ReadInConfig() error {
|
||||||
c.mutex.Lock()
|
|
||||||
defer c.mutex.Unlock()
|
|
||||||
// assume config = map[string]any
|
// assume config = map[string]any
|
||||||
confFileData, err := readFile(c.configFileUsed, c.configType)
|
confFileData, err := readFile(c.configFileUsed, c.configType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -174,13 +172,18 @@ func (c *ConfigManager) ReadInConfig() error {
|
|||||||
lower := strings.ToLower(k)
|
lower := strings.ToLower(k)
|
||||||
conf[lower] = ConfigMap{Key: k, Value: v}
|
conf[lower] = ConfigMap{Key: k, Value: v}
|
||||||
}
|
}
|
||||||
|
c.mutex.Lock()
|
||||||
c.mapConfig = conf
|
c.mapConfig = conf
|
||||||
|
c.mutex.Unlock()
|
||||||
c.collapse()
|
c.collapse()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func readFile(filename string, fileType configType) (map[string]any, error) {
|
func readFile(filename string, fileType configType) (map[string]any, error) {
|
||||||
fileData := make(map[string]any)
|
fileData := make(map[string]any)
|
||||||
|
if _, err := os.Stat(filename); os.IsNotExist(err) {
|
||||||
|
return nil, ErrConfigFileNotFound
|
||||||
|
}
|
||||||
switch fileType {
|
switch fileType {
|
||||||
case ConfigTypeTOML:
|
case ConfigTypeTOML:
|
||||||
_, err := toml.DecodeFile(filename, &fileData)
|
_, err := toml.DecodeFile(filename, &fileData)
|
||||||
|
|||||||
Reference in New Issue
Block a user