mirror of
https://github.com/spf13/viper
synced 2025-05-07 20:57:18 +00:00
stringarray pulls directly from pflag
This commit is contained in:
parent
3171ef9a22
commit
98d51522b2
2 changed files with 16 additions and 0 deletions
6
flags.go
6
flags.go
|
@ -14,6 +14,7 @@ type FlagValue interface {
|
||||||
HasChanged() bool
|
HasChanged() bool
|
||||||
Name() string
|
Name() string
|
||||||
ValueString() string
|
ValueString() string
|
||||||
|
ValueStringArray() []string
|
||||||
ValueType() string
|
ValueType() string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,6 +52,11 @@ func (p pflagValue) ValueString() string {
|
||||||
return p.flag.Value.String()
|
return p.flag.Value.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ValueStringArray returns the value of the flag as []string.
|
||||||
|
func (p pflagValue) ValueStringArray() []string {
|
||||||
|
return p.flag.Value.StringArray()
|
||||||
|
}
|
||||||
|
|
||||||
// ValueType returns the type of the flag as a string.
|
// ValueType returns the type of the flag as a string.
|
||||||
func (p pflagValue) ValueType() string {
|
func (p pflagValue) ValueType() string {
|
||||||
return p.flag.Value.Type()
|
return p.flag.Value.Type()
|
||||||
|
|
10
viper.go
10
viper.go
|
@ -731,6 +731,12 @@ func (v *Viper) GetDuration(key string) time.Duration {
|
||||||
return cast.ToDuration(v.Get(key))
|
return cast.ToDuration(v.Get(key))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetStringArray returns the value associated with the key as a slice of strings.
|
||||||
|
func GetStringArray(key string) []string { return v.GetStringArray(key) }
|
||||||
|
func (v *Viper) GetStringArray(key string) []string {
|
||||||
|
return cast.ToStringSlice(v.Get(key))
|
||||||
|
}
|
||||||
|
|
||||||
// GetStringSlice returns the value associated with the key as a slice of strings.
|
// GetStringSlice returns the value associated with the key as a slice of strings.
|
||||||
func GetStringSlice(key string) []string { return v.GetStringSlice(key) }
|
func GetStringSlice(key string) []string { return v.GetStringSlice(key) }
|
||||||
func (v *Viper) GetStringSlice(key string) []string {
|
func (v *Viper) GetStringSlice(key string) []string {
|
||||||
|
@ -955,6 +961,8 @@ func (v *Viper) find(lcaseKey string) interface{} {
|
||||||
s = strings.TrimSuffix(s, "]")
|
s = strings.TrimSuffix(s, "]")
|
||||||
res, _ := readAsCSV(s)
|
res, _ := readAsCSV(s)
|
||||||
return res
|
return res
|
||||||
|
case "stringArray":
|
||||||
|
return flag.ValueStringArray()
|
||||||
default:
|
default:
|
||||||
return flag.ValueString()
|
return flag.ValueString()
|
||||||
}
|
}
|
||||||
|
@ -1024,6 +1032,8 @@ func (v *Viper) find(lcaseKey string) interface{} {
|
||||||
s = strings.TrimSuffix(s, "]")
|
s = strings.TrimSuffix(s, "]")
|
||||||
res, _ := readAsCSV(s)
|
res, _ := readAsCSV(s)
|
||||||
return res
|
return res
|
||||||
|
case "stringArray":
|
||||||
|
return flag.ValueStringArray()
|
||||||
default:
|
default:
|
||||||
return flag.ValueString()
|
return flag.ValueString()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue