From d392893cd73dc00c927f342778f6dca9628d328e Mon Sep 17 00:00:00 2001 From: Bjørn Erik Pedersen Date: Wed, 9 Jun 2021 10:58:18 +0200 Subject: Misc config loading fixes The main motivation behind this is simplicity and correctnes, but the new small config library is also faster: ``` BenchmarkDefaultConfigProvider/Viper-16 252418 4546 ns/op 2720 B/op 30 allocs/op BenchmarkDefaultConfigProvider/Custom-16 450756 2651 ns/op 1008 B/op 6 allocs/op ``` Fixes #8633 Fixes #8618 Fixes #8630 Updates #8591 Closes #6680 Closes #5192 --- related/inverted_index.go | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'related') diff --git a/related/inverted_index.go b/related/inverted_index.go index 2e0ea295d..329a8c998 100644 --- a/related/inverted_index.go +++ b/related/inverted_index.go @@ -22,6 +22,8 @@ import ( "strings" "time" + "github.com/gohugoio/hugo/common/maps" + "github.com/gohugoio/hugo/common/types" "github.com/mitchellh/mapstructure" ) @@ -404,16 +406,11 @@ func norm(num, min, max int) int { } // DecodeConfig decodes a slice of map into Config. -func DecodeConfig(in interface{}) (Config, error) { - if in == nil { +func DecodeConfig(m maps.Params) (Config, error) { + if m == nil { return Config{}, errors.New("no related config provided") } - m, ok := in.(map[string]interface{}) - if !ok { - return Config{}, fmt.Errorf("expected map[string]interface {} got %T", in) - } - if len(m) == 0 { return Config{}, errors.New("empty related config provided") } -- cgit v1.2.3