config

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExpandValueEnv

func ExpandValueEnv(value string) string

ExpandValueEnv returns value of convert with environment variable.

Return environment variable if value start with "${" and end with "}". Return default value if environment variable is empty or not exist.

It accept value formats "${env}" , "${env||}}" , "${env||defaultValue}" , "defaultvalue". Examples:

v1 := config.ExpandValueEnv("${GOPATH}")			// return the GOPATH environment variable.
v2 := config.ExpandValueEnv("${GOBhojpur||/usr/local/go}")	// return the default value "/usr/local/go/".
v3 := config.ExpandValueEnv("Bhojpur")				// return the value "Bhojpur".

func ExpandValueEnvForMap

func ExpandValueEnvForMap(m map[string]interface{}) map[string]interface{}

ExpandValueEnvForMap convert all string value with environment variable.

func ParseBool

func ParseBool(val interface{}) (value bool, err error)

ParseBool returns the boolean value represented by the string.

It accepts 1, 1.0, t, T, TRUE, true, True, YES, yes, Yes,Y, y, ON, on, On, 0, 0.0, f, F, FALSE, false, False, NO, no, No, N,n, OFF, off, Off. Any other value returns an error.

func Register

func Register(name string, adapter Config)

Register makes a config adapter available by the adapter name. If Register is called twice with the same name or if driver is nil, it panics.

func ToString

func ToString(x interface{}) string

ToString converts values of any type to string.

Types

type Config

type Config interface {
	Parse(key string) (Configure, error)
	ParseData(data []byte) (Configure, error)
}

Config is the Adapter interface for parsing config file to get raw data to Configer.

type Configure added in v0.0.4

type Configure interface {
	Set(key, val string) error   // support section::key type in given key when using ini type.
	String(key string) string    // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.
	Strings(key string) []string // get string slice
	Int(key string) (int, error)
	Int64(key string) (int64, error)
	Bool(key string) (bool, error)
	Float(key string) (float64, error)
	DefaultString(key string, defaultVal string) string      // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same.
	DefaultStrings(key string, defaultVal []string) []string // get string slice
	DefaultInt(key string, defaultVal int) int
	DefaultInt64(key string, defaultVal int64) int64
	DefaultBool(key string, defaultVal bool) bool
	DefaultFloat(key string, defaultVal float64) float64
	DIY(key string) (interface{}, error)
	GetSection(section string) (map[string]string, error)
	SaveConfigFile(filename string) error
}

Configure defines how to get and set value from configuration raw data.

func NewConfig

func NewConfig(adapterName, filename string) (Configure, error)

NewConfig adapterName is ini/json/xml/yaml. filename is the config file path.

func NewConfigData

func NewConfigData(adapterName string, data []byte) (Configure, error)

NewConfigData adapterName is ini/json/xml/yaml. data is the config data.

func NewFakeConfig

func NewFakeConfig() Configure

NewFakeConfig return a fake Configure

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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