Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNilData = errors.New("nil data")
ErrNilData mean that exists nil pointer inside data struct
var (
ErrUnsupportedType = errors.New("unsupported type")
)
var FlagParsed func() error
FlagParsed define this callback when you need handle flags This callback will raise after method flag.Parse() return not nil error interrupt pasring
var UseCustomHelp = true
UseCustomHelp override default flag `Usage`
Functions ¶
func Parse ¶
func Parse(data interface{}) error
Parse define variables inside data from different sources, such as flag/environment variable or default value
func ParseWithExternal ¶
ParseWithExternal works same as Parse method but also can be used external sources (config files, key-value storages, etc.).
func SetLogger ¶
func SetLogger(logger Logger)
SetLogger define debug logger. This logger will print defined values in data fields
func SetPriority ¶
func SetPriority(s ...ConfigSource)
SetPriority overrides default priority order. Default priority order is: Flag, Environment variable, External source, Default value.
Types ¶
type ConfigSource ¶ added in v1.1.0
type ConfigSource int
const ( FlagVariable ConfigSource = iota EnvVariable ExternalSource DefaultValue )
func (ConfigSource) String ¶ added in v1.1.0
func (s ConfigSource) String() string
type EnvConf ¶ added in v1.1.0
type EnvConf struct {
Logger Logger
// contains filtered or unexported fields
}
func NewWithExternal ¶ added in v1.1.0
func (*EnvConf) Parse ¶ added in v1.1.0
Parse define variables inside data from different sources, such as flag/environment variable or default value
func (*EnvConf) PriorityOrder ¶ added in v1.1.0
func (e *EnvConf) PriorityOrder() []ConfigSource
PriorityOrder return parsing priority order
func (*EnvConf) SetPriorityOrder ¶ added in v1.1.0
func (e *EnvConf) SetPriorityOrder(s ...ConfigSource)
SetPriorityOrder overrides default priority order. Default priority order is: Flag, Environment variable, External source, Default value.
type JsonConfig ¶
type JsonConfig struct {
// contains filtered or unexported fields
}
func NewJsonConfig ¶
func NewJsonConfig() *JsonConfig
func (*JsonConfig) Read ¶
func (j *JsonConfig) Read(data []byte)
func (*JsonConfig) TagName ¶ added in v1.2.0
func (j *JsonConfig) TagName() string
func (*JsonConfig) Unmarshal ¶
func (j *JsonConfig) Unmarshal(v interface{}) error