config

package
v1.5.3 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2026 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Overview

Package config provides a minimal validation framework used by plugins and core.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ValidateDuration

func ValidateDuration(min, max time.Duration) func(value interface{}, ctx ValidationContext) error

ValidateDuration returns a validator ensuring a duration is in [min, max].

func ValidateRange

func ValidateRange(min, max int64) func(value interface{}, ctx ValidationContext) error

ValidateRange returns a validator ensuring a numeric value is in [min, max].

Types

type ConfigValidator

type ConfigValidator struct {
	// contains filtered or unexported fields
}

ConfigValidator maintains a set of validation rules for a config struct.

func NewConfigValidator

func NewConfigValidator(strict bool, environment string) *ConfigValidator

NewConfigValidator creates a new validator instance.

func (*ConfigValidator) AddRule

func (cv *ConfigValidator) AddRule(field string, rule ValidationRule)

AddRule registers a rule for a field.

func (*ConfigValidator) ValidateConfig

func (cv *ConfigValidator) ValidateConfig(config interface{}, prefix string) *ValidationResult

ValidateConfig validates the provided config struct using registered rules. config should be a struct or pointer to struct.

type DefaultValueSetter

type DefaultValueSetter struct {
	// contains filtered or unexported fields
}

DefaultValueSetter applies default values to struct fields by name.

func NewDefaultValueSetter

func NewDefaultValueSetter() *DefaultValueSetter

func (*DefaultValueSetter) ApplyDefaults

func (d *DefaultValueSetter) ApplyDefaults(cfg interface{}) error

ApplyDefaults sets default values for zero-value fields in the struct pointed to by cfg.

func (*DefaultValueSetter) SetDefault

func (d *DefaultValueSetter) SetDefault(field string, value interface{})

func (*DefaultValueSetter) SetDefaultFunc

func (d *DefaultValueSetter) SetDefaultFunc(field string, fn func(interface{}) interface{})

type ValidationContext

type ValidationContext struct {
	Field string
	Path  string
}

ValidationContext carries optional metadata for a validation call.

type ValidationIssue

type ValidationIssue struct {
	Field   string
	Value   interface{}
	Message string
}

ValidationIssue represents a single validation message.

type ValidationResult

type ValidationResult struct {
	Valid    bool
	Errors   []ValidationIssue
	Warnings []ValidationIssue
	// contains filtered or unexported fields
}

ValidationResult aggregates validation errors and warnings.

func (*ValidationResult) AddError

func (r *ValidationResult) AddError(field string, value interface{}, message string)

AddError records a validation error and marks the result invalid.

func (*ValidationResult) AddWarning

func (r *ValidationResult) AddWarning(field string, value interface{}, message string)

AddWarning records a validation warning but does not change validity.

type ValidationRule

type ValidationRule struct {
	Name        string
	Description string
	Validator   func(value interface{}, ctx ValidationContext) error
	Required    bool
}

ValidationRule defines a field validator rule.

Jump to

Keyboard shortcuts

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