xcfg

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidKey = errors.New("invalid key, maybe not exist in xcfg")

ErrInvalidKey ...

Functions

func Apply

func Apply(conf map[string]interface{}) error

Apply ...

func Debug

func Debug(sep string)

Debug ...

func Get

func Get(key string) interface{}

Get returns an interface. For a specific value use one of the Get____ methods.

func GetBool

func GetBool(key string) bool

GetBool returns the value associated with the key as a boolean with default defaultConfiguration.

func GetDuration

func GetDuration(key string) time.Duration

GetDuration returns the value associated with the key as a duration with default defaultConfiguration.

func GetFloat64

func GetFloat64(key string) float64

GetFloat64 returns the value associated with the key as a float64 with default defaultConfiguration.

func GetInt

func GetInt(key string) int

GetInt returns the value associated with the key as an integer with default defaultConfiguration.

func GetInt64

func GetInt64(key string) int64

GetInt64 returns the value associated with the key as an integer with default defaultConfiguration.

func GetSlice

func GetSlice(key string) []interface{}

GetSlice returns the value associated with the key as a slice of strings with default defaultConfiguration.

func GetString

func GetString(key string) string

GetString returns the value associated with the key as a string with default defaultConfiguration.

func GetStringMap

func GetStringMap(key string) map[string]interface{}

GetStringMap returns the value associated with the key as a map of interfaces with default defaultConfiguration.

func GetStringMapString

func GetStringMapString(key string) map[string]string

GetStringMapString returns the value associated with the key as a map of strings with default defaultConfiguration.

func GetStringMapStringSlice

func GetStringMapStringSlice(key string) map[string][]string

GetStringMapStringSlice returns the value associated with the key as a map to a slice of strings with default defaultConfiguration.

func GetStringSlice

func GetStringSlice(key string) []string

GetStringSlice returns the value associated with the key as a slice of strings with default defaultConfiguration.

func GetTime

func GetTime(key string) time.Time

GetTime returns the value associated with the key as time with default defaultConfiguration.

func LoadFromDataSource

func LoadFromDataSource(ds DataSource, unmarshaler Unmarshaler) error

LoadFromDataSource load configuration from data source if data source supports dynamic xcfg, a xmonitor goroutinue would be

func LoadFromReader

func LoadFromReader(r io.Reader, unmarshaler Unmarshaler) error

Load loads configuration from provided provider with default defaultConfiguration.

func OnChange

func OnChange(fn func(*Configuration))

OnChange 注册change回调函数

func Reset

func Reset()

Reset resets all to default settings.

func Set

func Set(key string, val interface{})

Set set xcfg value for key

func Traverse

func Traverse(sep string) map[string]interface{}

Traverse ...

func UnmarshalKey

func UnmarshalKey(key string, rawVal interface{}, opts ...GetOption) error

UnmarshalKey takes a single key and unmarshal it into a Struct with default defaultConfiguration.

func UnmarshalWithExpect

func UnmarshalWithExpect(key string, expect interface{}) interface{}

UnmarshalWithExpect unmarshal key, returns expect if failed

Types

type Configuration

type Configuration struct {
	DivideKey string
	// contains filtered or unexported fields
}

Configuration provides configuration for application.

func New

func New() *Configuration

New constructs a new Configuration with provider.

func (*Configuration) Get

func (c *Configuration) Get(key string) interface{}

Get returns the value associated with the key

func (*Configuration) GetBool

func (c *Configuration) GetBool(key string) bool

GetBool returns the value associated with the key as a boolean.

func (*Configuration) GetDuration

func (c *Configuration) GetDuration(key string) time.Duration

GetDuration returns the value associated with the key as a duration.

func (*Configuration) GetFloat64

func (c *Configuration) GetFloat64(key string) float64

GetFloat64 returns the value associated with the key as a float64.

func (*Configuration) GetInt

func (c *Configuration) GetInt(key string) int

GetInt returns the value associated with the key as an integer.

func (*Configuration) GetInt64

func (c *Configuration) GetInt64(key string) int64

GetInt64 returns the value associated with the key as an integer.

func (*Configuration) GetSlice

func (c *Configuration) GetSlice(key string) []interface{}

GetSlice returns the value associated with the key as a slice of strings.

func (*Configuration) GetSliceStringMap

func (c *Configuration) GetSliceStringMap(key string) []map[string]interface{}

GetSliceStringMap returns the value associated with the slice of maps.

func (*Configuration) GetString

func (c *Configuration) GetString(key string) string

GetString returns the value associated with the key as a string.

func (*Configuration) GetStringMap

func (c *Configuration) GetStringMap(key string) map[string]interface{}

GetStringMap returns the value associated with the key as a map of interfaces.

func (*Configuration) GetStringMapString

func (c *Configuration) GetStringMapString(key string) map[string]string

GetStringMapString returns the value associated with the key as a map of strings.

func (*Configuration) GetStringMapStringSlice

func (c *Configuration) GetStringMapStringSlice(key string) map[string][]string

GetStringMapStringSlice returns the value associated with the key as a map to a slice of strings.

func (*Configuration) GetStringSlice

func (c *Configuration) GetStringSlice(key string) []string

GetStringSlice returns the value associated with the key as a slice of strings.

func (*Configuration) GetTime

func (c *Configuration) GetTime(key string) time.Time

GetTime returns the value associated with the key as time.

func (*Configuration) Load

func (c *Configuration) Load(content []byte, unmarshaler Unmarshaler) error

Load ...

func (*Configuration) LoadFromDataSource

func (c *Configuration) LoadFromDataSource(ds DataSource, unmarshaler Unmarshaler) error

LoadFromDataSource ...

func (*Configuration) LoadFromReader

func (c *Configuration) LoadFromReader(reader io.Reader, unmarshaler Unmarshaler) error

Load loads configuration from provided data source.

func (*Configuration) OnChange

func (c *Configuration) OnChange(fn func(*Configuration))

OnChange 注册change回调函数

func (*Configuration) Set

func (c *Configuration) Set(key string, val interface{}) error

Set ...

func (*Configuration) SetKeyDivideKey

func (c *Configuration) SetKeyDivideKey(divideKey string)

SetKeyDivideKey set DivideKey of a defaultConfiguration instance.

func (*Configuration) Sub

func (c *Configuration) Sub(key string) *Configuration

Sub returns new Configuration instance representing a sub tree of this instance.

func (*Configuration) UnmarshalKey

func (c *Configuration) UnmarshalKey(key string, rawVal interface{}, opts ...GetOption) error

UnmarshalKey takes a single key and unmarshal it into a Struct.

func (*Configuration) UnmarshalWithExpect

func (c *Configuration) UnmarshalWithExpect(key string, expect interface{}) interface{}

UnmarshalWithExpect unmarshal key, returns expect if failed

func (*Configuration) WriteConfig

func (c *Configuration) WriteConfig() error

WriteConfig ...

type DataSource

type DataSource interface {
	ReadConfig() ([]byte, error)
	IsConfigChanged() <-chan struct{}
	io.Closer
}

DataSource ...

type GetOption

type GetOption func(o *GetOptions)

GetOption ...

func TagName

func TagName(tag string) GetOption

设置Tag

type GetOptions

type GetOptions struct {
	TagName string
}

GetOption ...

type Unmarshaler

type Unmarshaler func([]byte, interface{}) error

Unmarshaler ...

Directories

Path Synopsis
datasource

Jump to

Keyboard shortcuts

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