object_config

package
v0.0.0-...-8122643 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debug

func Debug(log logger.Logger, obj Object, configPath ...string)

func Info

func Info(log logger.Logger, obj Object, configPath ...string)

func Key

func Key(path string, key string) string

func KeyInt

func KeyInt(path string, key int) string

func Load

func Load(cfg config.Config, obj Object, configPath string) error

func LoadLogStringMapInt

func LoadLogStringMapInt(cfg config.Config, log logger.Logger, configPath string, loggerFields ...logger.Fields) (map[string]int, error)

func LoadLogStringMapPlain

func LoadLogStringMapPlain[T any](cfg config.Config, log logger.Logger, configPath string, loggerFields ...logger.Fields) (map[string]T, error)

func LoadLogStringMapSlice

func LoadLogStringMapSlice[T any](cfg config.Config, log logger.Logger, configPath string, loggerFields ...logger.Fields) (map[string][]T, error)

func LoadLogStringMapString

func LoadLogStringMapString(cfg config.Config, log logger.Logger, configPath string, loggerFields ...logger.Fields) (map[string]string, error)

func LoadLogValidate

func LoadLogValidate(cfg config.Config, log logger.Logger, vld validator.Validator, obj Object, defaultPath string, optionalPath ...string) error

Load, print to log and validate oject. Known bug: default values do not work poperly within arrays.

func LoadLogValidateApp

func LoadLogValidateApp(app app_context.Context, obj Object, defaultPath string, optionalPath ...string) error

func LoadLogValidateSubobjectsList

func LoadLogValidateSubobjectsList[T WithInit](cfg config.Config, log logger.Logger, vld validator.Validator, configPath string, createSubobjectFnc SubobjectBuilder[T], loggerFields ...logger.Fields) ([]T, error)

func LoadLogValidateSubobjectsMap

func LoadLogValidateSubobjectsMap[T Subobject](cfg config.Config, log logger.Logger, vld validator.Validator, configPath string, createSubobjectFnc SubobjectFactory[T], loggerFields ...logger.Fields) (map[string]T, error)

func LoadValidate

func LoadValidate(cfg config.Config, vld validator.Validator, obj Object, defaultPath string, optionalPath ...string) error

func Log

func Log(log logger.Logger, configPath string, obj Object, logLevel ...logger.Level)

func LogParameter

func LogParameter(log logger.Logger, key string, value string, logLevel logger.Level)

func LogValidate

func LogValidate(log logger.Logger, vld validator.Validator, obj Object, defaultPath string, optionalPath ...string) error

Types

type Object

type Object interface {
	Config() interface{}
}

type Subobject

type Subobject interface {
	WithProtocol
	common.WithName
	WithInit
}

type SubobjectBuilder

type SubobjectBuilder[T WithInit] func() T

type SubobjectFactory

type SubobjectFactory[T Subobject] func(protocol string) (T, error)

type WithInit

type WithInit interface {
	Init(cfg config.Config, log logger.Logger, vld validator.Validator, configPath ...string) error
}

type WithProtocol

type WithProtocol interface {
	Protocol() string
	SetProtocol(protocol string)
}

type WithProtocolBase

type WithProtocolBase struct {
	PROTOCOL string `gorm:"index" json:"protocol" validate:"required" long:"protocol" description:"Protocol"`
}

func (*WithProtocolBase) Protocol

func (p *WithProtocolBase) Protocol() string

func (*WithProtocolBase) SetProtocol

func (p *WithProtocolBase) SetProtocol(protocol string)

Jump to

Keyboard shortcuts

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