loader

package
v5.27.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package loader provides common functionality for config managers to eliminate duplication.

This package contains shared utilities used across different config manager implementations, including common loading patterns and helper functions.

Key functionality:

  • LoadConfigFromFile: Generic file loading with path resolution
  • LoadAndValidateConfig: Combined loading and validation
  • ValidateConfig: Configuration validation with standardized error handling
  • FormatValidationErrors: Error formatting for CLI display
  • ValidationSummaryError: Concise validation error summaries

Index

Constants

This section is empty.

Variables

View Source
var ErrConfigurationValidationFailed = errors.New("configuration validation failed")

ErrConfigurationValidationFailed is returned when configuration validation fails.

Functions

func FormatValidationErrors

func FormatValidationErrors(result *validator.ValidationResult) string

FormatValidationErrors formats validation errors into a single-line readable string. This function eliminates duplication between different config managers.

func FormatValidationErrorsMultiline

func FormatValidationErrorsMultiline(result *validator.ValidationResult) string

FormatValidationErrorsMultiline formats validation errors into a multi-line string for CLI display. This function provides a standardized way to format validation errors for user-facing output. Format (with notify symbol "✗ " indentation applied):

✗ error: <message>
  field: <field>
  fix: <fix>

func FormatValidationWarnings

func FormatValidationWarnings(result *validator.ValidationResult) []string

FormatValidationWarnings formats validation warnings for CLI display. This function provides a standardized way to format validation warnings.

func LoadAndValidateConfig

func LoadAndValidateConfig[T any](
	configPath string,
	createDefault func() T,
	validatorInstance validator.Validator[T],
) (T, error)

LoadAndValidateConfig loads a configuration from disk and validates it using the provided validator. This helper combines LoadConfigFromFile and ValidateConfig to reduce duplication across config managers. It returns the loaded configuration or an error if loading or validation fails.

func LoadConfigFromFile

func LoadConfigFromFile[T any](
	configPath string,
	createDefault func() T,
) (T, error)

LoadConfigFromFile loads a configuration from a file with common error handling and path resolution. This function eliminates duplication between different config managers.

Parameters:

  • configPath: The path to the configuration file
  • createDefault: Function to create a default configuration

Returns the loaded configuration or an error.

func ValidateConfig

func ValidateConfig[T any](config T, validatorInstance validator.Validator[T]) error

ValidateConfig validates a configuration and returns an error if validation fails. This function eliminates duplication between different config managers.

Types

type ValidationSummaryError

type ValidationSummaryError struct {
	ErrorCount   int
	WarningCount int
}

ValidationSummaryError is an error that contains only a validation summary message. This error type is used to provide a concise summary instead of a full error stack.

func NewValidationSummaryError

func NewValidationSummaryError(errorCount, warningCount int) *ValidationSummaryError

NewValidationSummaryError creates a new ValidationSummaryError.

func (*ValidationSummaryError) Error

func (e *ValidationSummaryError) Error() string

Error implements the error interface, returning a summary message.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL