[#493] node/config: Change Sub implementation

In some cases viper doesn't interpret `section.value` as a subsection with
`section` name, but value is value still can be accessed through full
pathname.

Fix `Config.Sub` method implementation in order to always interpret
configuration like described above as a subsection. From now method never
returns nil, therefore an additional check has been removed from the `Value`
method.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-05-21 20:28:06 +03:00 committed by Leonard Lyubich
parent e5c014bbfb
commit 1aa88159ca
3 changed files with 17 additions and 15 deletions

View file

@ -13,7 +13,11 @@ import (
// Sub-trees are named configuration sub-sections,
// leaves are named configuration values.
// Names are of string type.
type Config viper.Viper
type Config struct {
v *viper.Viper
path []string
}
const (
separator = "."
@ -49,5 +53,7 @@ func New(_ Prm, opts ...Option) *Config {
}
}
return (*Config)(v)
return &Config{
v: v,
}
}