Documentation
¶
Index ¶
- Variables
- func Add(l Loader)
- func AssignValue(value string, field reflect.Value) error
- func GetExistEnv(name ...string) (string, bool)
- func HookTimeDuration(in reflect.Type, out reflect.Type, data any) (any, error)
- func TagValue(field reflect.StructField, tags ...string) string
- func TagValueM(field reflect.StructField, tags ...string) *string
- type HookFunc
- type Loader
- type LoaderName
- type Option
- type OptionFunc
- type Order
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrSkipLoader = errors.New("skip loader") ErrMissingOpt = errors.New("missing option") )
View Source
var ( OrderDefault = Order{ Before: []LoaderName{NameConsul, NameVault, NameHTTP, NameFile, NameEnv}, } OrderConsul = Order{ Before: []LoaderName{NameVault, NameHTTP, NameFile, NameEnv}, After: []LoaderName{NameDefault}, } OrderVault = Order{ Before: []LoaderName{NameHTTP, NameFile, NameEnv}, After: []LoaderName{NameDefault, NameConsul}, } OrderHTTP = Order{ Before: []LoaderName{NameFile, NameEnv}, After: []LoaderName{NameDefault, NameConsul, NameVault}, } OrderFile = Order{ Before: []LoaderName{NameEnv}, After: []LoaderName{NameDefault, NameConsul, NameVault, NameHTTP}, } OrderEnv = Order{ After: []LoaderName{NameDefault, NameConsul, NameVault, NameHTTP, NameFile}, } )
View Source
var Loaders = map[LoaderName]Loader{}
Functions ¶
func AssignValue ¶
AssignValue assigns the value to the field.
func GetExistEnv ¶
func HookTimeDuration ¶
HookTimeDuration for time.Duration
Types ¶
type HookFunc ¶
type HookFunc = struct2.HookDecodeFunc
HookFunc get input, output and data and return modified data.
type LoaderName ¶ added in v0.4.0
type LoaderName string
const ( NameDefault LoaderName = "default" NameConsul LoaderName = "consul" NameVault LoaderName = "vault" NameHTTP LoaderName = "http" NameFile LoaderName = "file" NameEnv LoaderName = "env" )
func OrderLoaders ¶ added in v0.2.0
func OrderLoaders(loaders map[LoaderName]Loader) []LoaderName
type Option ¶
type Option struct {
Tag string
Name string
Hooks []HookFunc
MapDecoder func(input any, output any) error
Logger logadapter.Adapter
}
func NewOption ¶
func NewOption(opts ...OptionFunc) *Option
type OptionFunc ¶ added in v0.2.0
type OptionFunc func(*Option)
func WithHooks ¶
func WithHooks(hooks ...HookFunc) OptionFunc
WithHooks sets the hooks for conversion.
func WithLogger ¶
func WithLogger(logger logadapter.Adapter) OptionFunc
WithLogger sets the logger for logging.
func WithMapDecoder ¶
func WithMapDecoder(decoder func(input any, output any) error) OptionFunc
WithMapDecoder sets the decoder for conversion between map and struct.
- output is the target struct
func WithName ¶
func WithName(name string) OptionFunc
WithName sets the name for loader.
Loader will look this name for file, config name, etc.
func WithTag ¶
func WithTag(tag string) OptionFunc
WithTag sets the tag name for struct field.
- loaders may use this tag to load the configuration.
type Order ¶ added in v0.2.0
type Order struct {
Before []LoaderName
After []LoaderName
}
Click to show internal directories.
Click to hide internal directories.