@@ -2,13 +2,14 @@ package config
2
2
3
3
import (
4
4
"fmt"
5
- "github.com/fsnotify/fsnotify"
6
- "github.com/spf13/viper"
7
5
"os"
8
6
"sync"
9
- "time"
7
+
8
+ "github.com/fsnotify/fsnotify"
9
+ "github.com/spf13/viper"
10
10
)
11
11
12
+ //Config manager
12
13
type Config struct {
13
14
conf * viper.Viper
14
15
lock * sync.RWMutex
@@ -36,66 +37,49 @@ func NewRawConfig() *Config {
36
37
}
37
38
}
38
39
40
+ //Get a key return interface
39
41
func (cf * Config ) Get (key string ) interface {} {
40
42
cf .lock .RLock ()
41
43
defer cf .lock .RUnlock ()
42
44
return cf .conf .Get (key )
43
45
}
44
46
47
+ //GetString a key return string
45
48
func (cf * Config ) GetString (key string ) string {
46
49
cf .lock .RLock ()
47
50
defer cf .lock .RUnlock ()
48
51
return cf .conf .GetString (key )
49
52
}
50
53
54
+ //GetInt a key return int
51
55
func (cf * Config ) GetInt (key string ) int {
52
56
cf .lock .RLock ()
53
57
defer cf .lock .RUnlock ()
54
58
return cf .conf .GetInt (key )
55
59
}
56
60
61
+ //GetInt64 a key return int64
57
62
func (cf * Config ) GetInt64 (key string ) int64 {
58
63
cf .lock .RLock ()
59
64
defer cf .lock .RUnlock ()
60
65
return cf .conf .GetInt64 (key )
61
66
}
62
67
68
+ //GetFloat64 a key return Float64
63
69
func (cf * Config ) GetFloat64 (key string ) float64 {
64
70
cf .lock .RLock ()
65
71
defer cf .lock .RUnlock ()
66
72
return cf .conf .GetFloat64 (key )
67
73
}
68
74
75
+ //GetBool a key return int64
69
76
func (cf * Config ) GetBool (key string ) bool {
70
77
cf .lock .RLock ()
71
78
defer cf .lock .RUnlock ()
72
79
return cf .conf .GetBool (key )
73
80
}
74
81
75
- func (cf * Config ) GetDuration (key string ) time.Duration {
76
- cf .lock .RLock ()
77
- defer cf .lock .RUnlock ()
78
- return cf .conf .GetDuration (key )
79
- }
80
-
81
- func (cf * Config ) GetStringMap (key string ) map [string ]interface {} {
82
- cf .lock .RLock ()
83
- defer cf .lock .RUnlock ()
84
- return cf .conf .GetStringMap (key )
85
- }
86
-
87
- func (cf * Config ) GetStringSlice (key string ) []string {
88
- cf .lock .RLock ()
89
- defer cf .lock .RUnlock ()
90
- return cf .conf .GetStringSlice (key )
91
- }
92
-
93
- func (cf * Config ) GetBytes (key string ) uint {
94
- cf .lock .RLock ()
95
- defer cf .lock .RUnlock ()
96
- return cf .conf .GetSizeInBytes (key )
97
- }
98
-
82
+ //Set key:value
99
83
func (cf * Config ) Set (key string , value interface {}) {
100
84
cf .lock .Lock ()
101
85
defer cf .lock .Unlock ()
@@ -125,23 +109,3 @@ func (cf *Config) MergeConfig(configPath string) (*Config, error) {
125
109
func (cf * Config ) OnConfigChange (run func (in fsnotify.Event )) {
126
110
cf .conf .OnConfigChange (run )
127
111
}
128
-
129
- func (cf * Config ) Print () {
130
- keys := cf .conf .AllKeys ()
131
- for _ , key := range keys {
132
- fmt .Printf ("key: %s, value: %v\n " , key , cf .Get (key ))
133
- }
134
- }
135
-
136
- func (cf * Config ) equals (anotherConfig * Config ) bool {
137
- if len (cf .conf .AllKeys ()) != len (anotherConfig .conf .AllKeys ()) {
138
- return false
139
- }
140
- for _ , key := range anotherConfig .conf .AllKeys () {
141
- if ! cf .ContainsKey (key ) {
142
- fmt .Printf ("No value for key %s found \n " , key )
143
- return false
144
- }
145
- }
146
- return true
147
- }
0 commit comments