Documentation ¶
Index ¶
- func Get(cfg interface{}, path string) (interface{}, error)
- func NormalizeValue(value interface{}) (interface{}, error)
- func RenderJSON(cfg interface{}) (string, error)
- func RenderYaml(cfg interface{}) (string, error)
- func Set(cfg interface{}, path string, value interface{}) error
- type AppConfig
- func (c *AppConfig) Bool(path string) (bool, error)
- func (c *AppConfig) Copy(dottedPath ...string) (*AppConfig, error)
- func (c *AppConfig) Env() *AppConfig
- func (c *AppConfig) EnvPrefix(prefix string) *AppConfig
- func (c *AppConfig) Extend(cfg *AppConfig) (*AppConfig, error)
- func (c *AppConfig) Flag() *AppConfig
- func (c *AppConfig) Float64(path string) (float64, error)
- func (c *AppConfig) Get(path string) (*AppConfig, error)
- func (c *AppConfig) Int(path string) (int, error)
- func (c *AppConfig) List(path string) ([]interface{}, error)
- func (c *AppConfig) Map(path string) (map[string]interface{}, error)
- func (c *AppConfig) Set(path string, val interface{}) error
- func (c *AppConfig) String(path string) (string, error)
- func (c *AppConfig) UBool(path string, defaults ...bool) bool
- func (c *AppConfig) UFloat64(path string, defaults ...float64) float64
- func (c *AppConfig) UInt(path string, defaults ...int) int
- func (c *AppConfig) UList(path string, defaults ...[]interface{}) []interface{}
- func (c *AppConfig) UMap(path string, defaults ...map[string]interface{}) map[string]interface{}
- func (c *AppConfig) UString(path string, defaults ...string) string
- type KVStore
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NormalizeValue ¶
func NormalizeValue(value interface{}) (interface{}, error)
NormalizeValue normalizes a unmarshalled value. This is needed because encoding/json doesn't support marshalling map[interface{}]interface{}.
func RenderJSON ¶
RenderJSON renders a JSON configuration.
func RenderYaml ¶
RenderYaml renders a YAML configuration.
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 ¶
Must is a wrapper for parsing functions to be used during initialization. It panics on failure.
func ParseJSONFile ¶
ParseJSONFile reads a JSON configuration from the given filename.
func ParseYamlFile ¶
ParseYamlFile reads a YAML configuration from the given filename.
func (*AppConfig) EnvPrefix ¶
EnvPrefix fetch data from system env using prefix, based on existing config keys.
func (*AppConfig) Extend ¶
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) UBool ¶
UBool returns a bool according to a dotted path or default value or false.
func (*AppConfig) UFloat64 ¶
UFloat64 returns a float64 according to a dotted path or default value or 0.
func (*AppConfig) UList ¶
UList returns a []interface{} according to a dotted path or defaults or []interface{}.