func LoadForStruct[T any]()

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
}