Documentation
¶
Overview ¶
Package helpers provides utility functions for building Relicta plugins.
Index ¶
- func ExpandGlob(pattern string) ([]string, error)
- func RequiredEnvVars(keys ...string) []string
- func ValidateAssetPath(path string) error
- type ConfigParser
- func (p *ConfigParser) GetBool(key string, defaultVal bool) bool
- func (p *ConfigParser) GetFloat(key string, defaultVal float64) float64
- func (p *ConfigParser) GetInt(key string, defaultVal int) int
- func (p *ConfigParser) GetMap(key string) map[string]any
- func (p *ConfigParser) GetString(key, envKey, defaultVal string) string
- func (p *ConfigParser) GetStringSlice(key string, defaultVal []string) []string
- func (p *ConfigParser) Has(key string) bool
- func (p *ConfigParser) Unmarshal(v any) error
- type ValidationBuilder
- func (b *ValidationBuilder) AddError(field, message string) *ValidationBuilder
- func (b *ValidationBuilder) AddErrorWithCode(field, message, code string) *ValidationBuilder
- func (b *ValidationBuilder) Build() *plugin.ValidateResponse
- func (b *ValidationBuilder) HasErrors() bool
- func (b *ValidationBuilder) RequireString(config map[string]any, field, envFallback string) *ValidationBuilder
- func (b *ValidationBuilder) ValidateOneOf(config map[string]any, field string, allowed []string) *ValidationBuilder
- func (b *ValidationBuilder) ValidatePattern(config map[string]any, field, pattern, message string) *ValidationBuilder
- func (b *ValidationBuilder) ValidateURL(config map[string]any, field string) *ValidationBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExpandGlob ¶
ExpandGlob expands a glob pattern to matching file paths.
func RequiredEnvVars ¶
RequiredEnvVars checks that required environment variables are set. Returns a list of missing variables.
func ValidateAssetPath ¶
ValidateAssetPath validates that an asset path is safe and exists. This prevents path traversal attacks and ensures the file can be accessed.
Types ¶
type ConfigParser ¶
type ConfigParser struct {
// contains filtered or unexported fields
}
ConfigParser helps parse plugin configuration with type safety and defaults.
func NewConfigParser ¶
func NewConfigParser(config map[string]any) *ConfigParser
NewConfigParser creates a new config parser from a config map.
func (*ConfigParser) GetBool ¶
func (p *ConfigParser) GetBool(key string, defaultVal bool) bool
GetBool returns a boolean value from config.
func (*ConfigParser) GetFloat ¶
func (p *ConfigParser) GetFloat(key string, defaultVal float64) float64
GetFloat returns a float value from config.
func (*ConfigParser) GetInt ¶
func (p *ConfigParser) GetInt(key string, defaultVal int) int
GetInt returns an integer value from config.
func (*ConfigParser) GetMap ¶
func (p *ConfigParser) GetMap(key string) map[string]any
GetMap returns a map from config.
func (*ConfigParser) GetString ¶
func (p *ConfigParser) GetString(key, envKey, defaultVal string) string
GetString returns a string value from config, with optional environment variable fallback. Priority: config value > environment variable > default value
func (*ConfigParser) GetStringSlice ¶
func (p *ConfigParser) GetStringSlice(key string, defaultVal []string) []string
GetStringSlice returns a string slice from config.
func (*ConfigParser) Has ¶
func (p *ConfigParser) Has(key string) bool
Has returns true if the key exists in the config.
func (*ConfigParser) Unmarshal ¶
func (p *ConfigParser) Unmarshal(v any) error
Unmarshal decodes the config into a struct.
type ValidationBuilder ¶
type ValidationBuilder struct {
// contains filtered or unexported fields
}
ValidationBuilder helps construct validation responses.
func NewValidationBuilder ¶
func NewValidationBuilder() *ValidationBuilder
NewValidationBuilder creates a new validation builder.
func (*ValidationBuilder) AddError ¶
func (b *ValidationBuilder) AddError(field, message string) *ValidationBuilder
AddError adds a validation error.
func (*ValidationBuilder) AddErrorWithCode ¶
func (b *ValidationBuilder) AddErrorWithCode(field, message, code string) *ValidationBuilder
AddErrorWithCode adds a validation error with an error code.
func (*ValidationBuilder) Build ¶
func (b *ValidationBuilder) Build() *plugin.ValidateResponse
Build creates the final ValidateResponse.
func (*ValidationBuilder) HasErrors ¶
func (b *ValidationBuilder) HasErrors() bool
HasErrors returns true if there are validation errors.
func (*ValidationBuilder) RequireString ¶
func (b *ValidationBuilder) RequireString(config map[string]any, field, envFallback string) *ValidationBuilder
RequireString adds an error if the field is empty or missing.
func (*ValidationBuilder) ValidateOneOf ¶
func (b *ValidationBuilder) ValidateOneOf(config map[string]any, field string, allowed []string) *ValidationBuilder
ValidateOneOf validates that a field contains one of the allowed values.
func (*ValidationBuilder) ValidatePattern ¶
func (b *ValidationBuilder) ValidatePattern(config map[string]any, field, pattern, message string) *ValidationBuilder
ValidatePattern validates that a field matches a regex pattern.
func (*ValidationBuilder) ValidateURL ¶
func (b *ValidationBuilder) ValidateURL(config map[string]any, field string) *ValidationBuilder
ValidateURL validates that a field contains a valid URL.