Improve naming in config package

This commit is contained in:
Daniel 2018-08-23 14:56:53 +02:00
parent 0fd5a04e91
commit 4c857f01ce
2 changed files with 18 additions and 7 deletions

View file

@ -17,6 +17,17 @@ var (
boolTable map[string]bool boolTable map[string]bool
) )
type (
// StringOption defines the returned function by GetAsString.
StringOption func() string
// StringArrayOption defines the returned function by GetAsStringArray.
StringArrayOption func() []string
// IntOption defines the returned function by GetAsInt.
IntOption func() int64
// BoolOption defines the returned function by GetAsBool.
BoolOption func() bool
)
func getValidityFlag() *abool.AtomicBool { func getValidityFlag() *abool.AtomicBool {
validityFlagLock.RLock() validityFlagLock.RLock()
defer validityFlagLock.RUnlock() defer validityFlagLock.RUnlock()
@ -31,7 +42,7 @@ func resetValidityFlag() {
} }
// GetAsString returns a function that returns the wanted string with high performance. // GetAsString returns a function that returns the wanted string with high performance.
func GetAsString(name string, fallback string) func() string { func GetAsString(name string, fallback string) StringOption {
valid := getValidityFlag() valid := getValidityFlag()
value := findStringValue(name, fallback) value := findStringValue(name, fallback)
return func() string { return func() string {
@ -44,7 +55,7 @@ func GetAsString(name string, fallback string) func() string {
} }
// GetAsStringArray returns a function that returns the wanted string with high performance. // GetAsStringArray returns a function that returns the wanted string with high performance.
func GetAsStringArray(name string, fallback []string) func() []string { func GetAsStringArray(name string, fallback []string) StringArrayOption {
valid := getValidityFlag() valid := getValidityFlag()
value := findStringArrayValue(name, fallback) value := findStringArrayValue(name, fallback)
return func() []string { return func() []string {
@ -57,7 +68,7 @@ func GetAsStringArray(name string, fallback []string) func() []string {
} }
// GetAsInt returns a function that returns the wanted int with high performance. // GetAsInt returns a function that returns the wanted int with high performance.
func GetAsInt(name string, fallback int64) func() int64 { func GetAsInt(name string, fallback int64) IntOption {
valid := getValidityFlag() valid := getValidityFlag()
value := findIntValue(name, fallback) value := findIntValue(name, fallback)
return func() int64 { return func() int64 {
@ -70,7 +81,7 @@ func GetAsInt(name string, fallback int64) func() int64 {
} }
// GetAsBool returns a function that returns the wanted int with high performance. // GetAsBool returns a function that returns the wanted int with high performance.
func GetAsBool(name string, fallback bool) func() bool { func GetAsBool(name string, fallback bool) BoolOption {
valid := getValidityFlag() valid := getValidityFlag()
value := findBoolValue(name, fallback) value := findBoolValue(name, fallback)
return func() bool { return func() bool {

View file

@ -14,9 +14,9 @@ const (
OptTypeInt uint8 = 3 OptTypeInt uint8 = 3
OptTypeBool uint8 = 4 OptTypeBool uint8 = 4
ExpertiseLevelUser int8 = 1 ExpertiseLevelUser uint8 = 1
ExpertiseLevelExpert int8 = 2 ExpertiseLevelExpert uint8 = 2
ExpertiseLevelDeveloper int8 = 3 ExpertiseLevelDeveloper uint8 = 3
) )
var ( var (