From 19fdcd7e0500d456518d6ca3f2c22bf2624e9b64 Mon Sep 17 00:00:00 2001 From: Roy Olav Purser Date: Sun, 27 Mar 2022 14:53:46 +0200 Subject: [PATCH] remove empty map --- envconf.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/envconf.go b/envconf.go index 5465e9f..cc44d47 100644 --- a/envconf.go +++ b/envconf.go @@ -55,30 +55,36 @@ func NewConfig() *Config { if len(splitted) > 1 { for count, _ := range splitted { if count < len(splitted)-3 { - left := strings.Join(splitted[:count], "_") - right := strings.Join(splitted[count:], "_") + left := strings.Trim(strings.Join(splitted[:count], "_"), "_") + right := strings.Trim(strings.Join(splitted[count:], "_"), "_") if len(config.mapEnv[left]) == 0 { config.mapEnv[left] = make(map[string]string) config.mapMapEnv[left] = make(map[string]map[string]string) config.mapMapMapEnv[left] = make(map[string]map[string]map[string]string) } - config.mapEnv[left][right] = key + if left != "" && right != "" { + config.mapEnv[left][right] = key + } middle := splitted[count] - right = strings.Join(splitted[count+1:], "_") + right = strings.Trim(strings.Join(splitted[count+1:], "_"), "_") if len(config.mapMapEnv[left][middle]) == 0 { config.mapMapEnv[left][middle] = make(map[string]string) config.mapMapMapEnv[left][middle] = make(map[string]map[string]string) } - config.mapMapEnv[left][middle][right] = key + if left != "" && middle != "" && right != "" { + config.mapMapEnv[left][middle][right] = key + } lmiddle := splitted[count] rmiddle := splitted[count+1] - right = strings.Join(splitted[count+2:], "_") + right = strings.Trim(strings.Join(splitted[count+2:], "_"), "_") if len(config.mapMapEnv[left][lmiddle][rmiddle]) == 0 { config.mapMapMapEnv[left][lmiddle][rmiddle] = make(map[string]string) } - config.mapMapMapEnv[left][lmiddle][rmiddle][right] = key + if left != "" && lmiddle != "" && rmiddle != "" && right != "" { + config.mapMapMapEnv[left][lmiddle][rmiddle][right] = key + } } } }