package util import ( "github.com/mitchellh/mapstructure" ) // DecodeOther uses mapstructure to decode into target structure. Unused keys cause errors. func DecodeOther(other interface{}, cc interface{}) error { decoderConfig := &mapstructure.DecoderConfig{ Result: cc, ErrorUnused: true, WeaklyTypedInput: true, DecodeHook: mapstructure.StringToTimeDurationHookFunc(), } decoder, err := mapstructure.NewDecoder(decoderConfig) if err == nil { err = decoder.Decode(other) } return err }