vxconf

package
v1.7.21 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2020 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Get

func Get(cfg interface{}, path string) (interface{}, error)

Get returns a child of the given value according to a dotted path.

func IsProd

func IsProd() bool

IsProd return true if app is in production mode.

func JsonToString

func JsonToString(in interface{}, pretty bool) string

func LoadSectionTo

func LoadSectionTo(runMode, sectionKeyPath string, configHolder interface{}) (err error)

LoadSectionTo returns error while cannot yaml Marshal and Unmarshal

func RenderJson

func RenderJson(cfg interface{}) (string, error)

RenderJson renders a JSON configuration.

func RenderYaml

func RenderYaml(cfg interface{}) (string, error)

RenderYaml renders a YAML configuration.

func RunMode

func RunMode(defaultVal ...string) (runMode string)

RunMode return running mode string: prod, devel, staging, ...

func RunModeExt

func RunModeExt(defaultVal ...string) (runMode string)

RunModeExt return running mode and position: prod-newyork, devel-paris, staging, ...

func Set

func Set(cfg interface{}, path string, value interface{}) error

Set returns an error, in case when it is not possible to establish the value obtained in accordance with given dotted path.

func UnescapeUnicode

func UnescapeUnicode(b []byte) string

UnescapeUnicode 解码 \uxxxx 为 unicode 字符; 但是输入的 b 应该是 yaml 格式

func YamlToString

func YamlToString(in interface{}, pretty bool) string

Types

type AppConfig

type AppConfig struct {
	// loaded from meta.yaml
	Root interface{}
	// app runtime k/v store
	KV KVStore
}

AppConfig represents a configuration with convenient access methods.

func Must

func Must(cfg *AppConfig, err error) *AppConfig

Must is a wrapper for parsing functions to be used during initialization. It panics on failure.

func New

func New() AppConfig

func ParseJson

func ParseJson(cfg string) (*AppConfig, error)

ParseJson reads a JSON configuration from the given string.

func ParseJsonFile

func ParseJsonFile(filename string) (*AppConfig, error)

ParseJsonFile reads a JSON configuration from the given filename.

func ParseYaml

func ParseYaml(cfg string) (*AppConfig, error)

ParseYaml reads a YAML configuration from the given string.

func ParseYamlFile

func ParseYamlFile(filename string) (*AppConfig, error)

ParseYamlFile reads a YAML configuration from the given filename.

func (*AppConfig) Bool

func (c *AppConfig) Bool(path string) (bool, error)

Bool returns a bool according to a dotted path.

func (*AppConfig) Copy

func (c *AppConfig) Copy(dottedPath ...string) (*AppConfig, error)

Copy returns a deep copy with given path or without.

func (*AppConfig) Env

func (c *AppConfig) Env() *AppConfig

Fetch data from system env, based on existing config keys.

func (*AppConfig) EnvPrefix

func (c *AppConfig) EnvPrefix(prefix string) *AppConfig

Fetch data from system env using prefix, based on existing config keys.

func (*AppConfig) Extend

func (c *AppConfig) Extend(cfg *AppConfig) (*AppConfig, error)

Extend returns extended copy of current config with applied values from the given config instance. Note that if you extend with different structure you will get an error. See: `.Set()` method for details.

func (*AppConfig) Flag

func (c *AppConfig) Flag() *AppConfig

Parse command line arguments, based on existing config keys.

func (*AppConfig) Float64

func (c *AppConfig) Float64(path string) (float64, error)

Float64 returns a float64 according to a dotted path.

func (*AppConfig) Get

func (c *AppConfig) Get(path string) (*AppConfig, error)

Get returns a nested config according to a dotted path.

func (*AppConfig) Int

func (c *AppConfig) Int(path string) (int, error)

Int returns an int according to a dotted path.

func (*AppConfig) List

func (c *AppConfig) List(path string) ([]interface{}, error)

List returns a []interface{} according to a dotted path.

func (*AppConfig) Map

func (c *AppConfig) Map(path string) (map[string]interface{}, error)

Map returns a map[string]interface{} according to a dotted path.

func (*AppConfig) Set

func (c *AppConfig) Set(path string, val interface{}) error

Set a nested config according to a dotted path.

func (*AppConfig) String

func (c *AppConfig) String(path string) (string, error)

String returns a string according to a dotted path.

func (*AppConfig) UBool

func (c *AppConfig) UBool(path string, defaults ...bool) bool

UBool returns a bool according to a dotted path or default value or false.

func (*AppConfig) UFloat64

func (c *AppConfig) UFloat64(path string, defaults ...float64) float64

UFloat64 returns a float64 according to a dotted path or default value or 0.

func (*AppConfig) UInt

func (c *AppConfig) UInt(path string, defaults ...int) int

UInt returns an int according to a dotted path or default value or 0.

func (*AppConfig) UList

func (c *AppConfig) UList(path string, defaults ...[]interface{}) []interface{}

UList returns a []interface{} according to a dotted path or defaults or []interface{}.

func (*AppConfig) UMap

func (c *AppConfig) UMap(path string, defaults ...map[string]interface{}) map[string]interface{}

UMap returns a map[string]interface{} according to a dotted path or default or map[string]interface{}.

func (*AppConfig) UString

func (c *AppConfig) UString(path string, defaults ...string) string

UString returns a string according to a dotted path or default or "".

type KVStore

type KVStore map[string]string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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