in internal/config/params.go [41:71]
func LoadForStruct[T any](
ctx context.Context,
target target.Target,
userInput map[string]any,
) (T, error) {
var (
rv T
err error
)
err = mapstructure.Decode(userInput, &rv)
if err != nil {
return withErr[T](err)
}
err = DefaultValidator.Struct(rv)
if err != nil {
return withErr[T](err)
}
rv, err = applyDefaultingIfNeeded(ctx, target, rv)
if err != nil {
return withErr[T](err)
}
err = applyValidationIfNeeded(rv)
if err != nil {
return withErr[T](err)
}
return rv, nil
}