* Add DocBlock to WatchConfig
Added a small description of the WatchConfig().
So that you can understand in the ide why you could use it.
* Update viper.go
* update viper.go
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
Co-authored-by: Márk Sági-Kazár <sagikazarmark@users.noreply.github.com>
Co-authored-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
One might want to write the debug information somewhere other than
Stdout. This patch adss a DebugTo function and method, that accepts
an io.Writer. It changes the original Debug implementation to call
this new function with a default of os.Stdout, which maintains
backward compatibility.
Signed-off-by: Brad P. Crochet <brad@redhat.com>
We have encountered numerous places where it is convenient to have viper return a `uint16` value, especially in combination with the new `netip` package that represents a port correctly as `uint16` rather than just an `int`. cobra already supports this, but we need a conversion from the existing `GetUint` method in viper.
The logger interface uses k,v pairs, but it was being called with a
format string, here.
Changed to use k,v pairs.
I didn't find any other instances of this problem.
Some codecs might have options that rely on Viper in the future
(eg. key delimiter) which requires initializing codecs
for each Viper instance.
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
This interface is specific to decoding data into Viper's internal,
so it's okay to make it Viper specific.
BREAKING CHANGE: the decoder interface now accepts a map instead of an
interface
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
When merging a key where the target value is nil, the type of the target
and source do not match. What currently happens is an error is logged
and the key is skipped.
I have changed it so that it does the same thing as when the target key
is missing: copy the source value to the target.
Signed-off-by: Carolyn Van Slyck <me@carolynvanslyck.com>