config

package
v0.0.0-...-35a4376 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FieldValidation

func FieldValidation(config any, fieldValidator map[string]func(any) error) error

func GenerateDotEnvFromConfig

func GenerateDotEnvFromConfig(serviceName, filePath string, config WithValidation) error

func GenericNumberLowerOrEmptyValidator

func GenericNumberLowerOrEmptyValidator[T NumberTypeGeneric]() func(any) error

func GenericStringNotEmptyValidator

func GenericStringNotEmptyValidator[T ~string]() func(any) error

func GetConfigField

func GetConfigField[T WithValidation](
	config WithValidation,
	fieldValueMatchers ...func(T) bool,
) (T, error)

func LoadConfig

func LoadConfig(configStruct WithValidation, nodePath string, loadOptions ...Option) error

func ValidationValidator

func ValidationValidator() func(any) error

Types

type NumberTypeGeneric

type NumberTypeGeneric interface {
	~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uint |
		~int8 | ~int16 | ~int32 | ~int64 | ~int |
		~float32 | ~float64
}

type Option

type Option struct {
	Provider      koanf.Provider
	Parser        koanf.Parser
	UnmarshalConf koanf.UnmarshalConf
}

func WithEnvLoadOption

func WithEnvLoadOption(envVarPrefixOption ...string) Option

func WithJSONLoadOption

func WithJSONLoadOption(filePath string) Option

type WithValidation

type WithValidation interface {
	ValidateConfigFields() error
}

Jump to

Keyboard shortcuts

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