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 ¶
- Variables
- func FormatValidationErrors(result *validator.ValidationResult) string
- func FormatValidationErrorsMultiline(result *validator.ValidationResult) string
- func FormatValidationWarnings(result *validator.ValidationResult) []string
- func LoadAndValidateConfig[T any](configPath string, createDefault func() T, ...) (T, error)
- func LoadConfigFromFile[T any](configPath string, createDefault func() T) (T, error)
- func ValidateConfig[T any](config T, validatorInstance validator.Validator[T]) error
- type ValidationSummaryError
Constants ¶
This section is empty.
Variables ¶
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 ¶
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.
Types ¶
type ValidationSummaryError ¶
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.