cfg

package
v1.9.7 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2021 License: MIT Imports: 11 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 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

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 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.

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

New creates a new AppConfig instance

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

Env fetch data from system env, based on existing config keys.

func (*AppConfig) EnvPrefix

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

EnvPrefix 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

Flag 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

KVStore save the key-value pairs

Jump to

Keyboard shortcuts

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