diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2018-06-14 11:15:02 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2018-06-14 08:15:02 -0700 |
commit | d0cda0500eb4fa8818323a8680ac38a504aa9c15 (patch) | |
tree | b59eaab60a5c3b880afac90936085a9fea45d529 /vendor/github.com/mattermost/viper/flags.go | |
parent | 337b121bfb948627262f66ad599fc68787017179 (diff) | |
download | chat-d0cda0500eb4fa8818323a8680ac38a504aa9c15.tar.gz chat-d0cda0500eb4fa8818323a8680ac38a504aa9c15.tar.bz2 chat-d0cda0500eb4fa8818323a8680ac38a504aa9c15.zip |
MM-10769 Rename references to spf13/viper to mattermost/viper (#8948)
Diffstat (limited to 'vendor/github.com/mattermost/viper/flags.go')
-rw-r--r-- | vendor/github.com/mattermost/viper/flags.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/vendor/github.com/mattermost/viper/flags.go b/vendor/github.com/mattermost/viper/flags.go new file mode 100644 index 000000000..dd32f4e1c --- /dev/null +++ b/vendor/github.com/mattermost/viper/flags.go @@ -0,0 +1,57 @@ +package viper + +import "github.com/spf13/pflag" + +// FlagValueSet is an interface that users can implement +// to bind a set of flags to viper. +type FlagValueSet interface { + VisitAll(fn func(FlagValue)) +} + +// FlagValue is an interface that users can implement +// to bind different flags to viper. +type FlagValue interface { + HasChanged() bool + Name() string + ValueString() string + ValueType() string +} + +// pflagValueSet is a wrapper around *pflag.ValueSet +// that implements FlagValueSet. +type pflagValueSet struct { + flags *pflag.FlagSet +} + +// VisitAll iterates over all *pflag.Flag inside the *pflag.FlagSet. +func (p pflagValueSet) VisitAll(fn func(flag FlagValue)) { + p.flags.VisitAll(func(flag *pflag.Flag) { + fn(pflagValue{flag}) + }) +} + +// pflagValue is a wrapper aroung *pflag.flag +// that implements FlagValue +type pflagValue struct { + flag *pflag.Flag +} + +// HasChanges returns whether the flag has changes or not. +func (p pflagValue) HasChanged() bool { + return p.flag.Changed +} + +// Name returns the name of the flag. +func (p pflagValue) Name() string { + return p.flag.Name +} + +// ValueString returns the value of the flag as a string. +func (p pflagValue) ValueString() string { + return p.flag.Value.String() +} + +// ValueType returns the type of the flag as a string. +func (p pflagValue) ValueType() string { + return p.flag.Value.Type() +} |