config

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 22, 2019 License: GPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OptTypeString      uint8 = 1
	OptTypeStringArray uint8 = 2
	OptTypeInt         uint8 = 3
	OptTypeBool        uint8 = 4

	ExpertiseLevelUser      uint8 = 1
	ExpertiseLevelExpert    uint8 = 2
	ExpertiseLevelDeveloper uint8 = 3
)

Variable Type IDs for frontend Identification. Use ExternalOptType for extended types in the frontend.

Variables

View Source
var (

	// ErrInvalidJSON is returned by SetConfig and SetDefaultConfig if they receive invalid json.
	ErrInvalidJSON = errors.New("json string invalid")

	// ErrInvalidOptionType is returned by SetConfigOption and SetDefaultConfigOption if given an unsupported option type.
	ErrInvalidOptionType = errors.New("invalid option value type")
)
View Source
var (
	// Concurrent makes concurrency safe get methods available.
	Concurrent = &safe{}
)
View Source
var (

	// ErrIncompleteCall is return when RegisterOption is called with empty mandatory values.
	ErrIncompleteCall = errors.New("could not register config option: all fields, except for the validationRegex are mandatory")
)

Functions

func Changed

func Changed() <-chan struct{}

Changed signals if any config option was changed.

func JSONToMap

func JSONToMap(jsonData []byte) (map[string]interface{}, error)

JSONToMap parses and flattens a hierarchical json object.

func MapToJSON

func MapToJSON(mapData map[string]interface{}) ([]byte, error)

MapToJSON expands a flattened map and returns it as json.

func Register

func Register(option *Option) error

Register registers a new configuration option.

func SetConfigOption

func SetConfigOption(name string, value interface{}) error

SetConfigOption sets a single value in the (prioritized) user defined config.

func SetDefaultConfig

func SetDefaultConfig(m map[string]interface{}) error

SetDefaultConfig sets the (fallback) default config.

func SetDefaultConfigOption

func SetDefaultConfigOption(name string, value interface{}) error

SetDefaultConfigOption sets a single value in the (fallback) default config.

Types

type BoolOption

type BoolOption func() bool

BoolOption defines the returned function by GetAsBool.

func GetAsBool

func GetAsBool(name string, fallback bool) BoolOption

GetAsBool returns a function that returns the wanted int with high performance.

type ConfigStorageInterface

type ConfigStorageInterface struct {
	storage.InjectBase
}

ConfigStorageInterface provices a storage.Interface to the configuration manager.

func (*ConfigStorageInterface) Delete

func (s *ConfigStorageInterface) Delete(key string) error

Delete deletes a record from the database.

func (*ConfigStorageInterface) Get

Get returns a database record.

func (*ConfigStorageInterface) Put

Put stores a record in the database.

func (*ConfigStorageInterface) Query

func (s *ConfigStorageInterface) Query(q *query.Query, local, internal bool) (*iterator.Iterator, error)

Query returns a an iterator for the supplied query.

func (*ConfigStorageInterface) ReadOnly

func (s *ConfigStorageInterface) ReadOnly() bool

ReadOnly returns whether the database is read only.

type IntOption

type IntOption func() int64

IntOption defines the returned function by GetAsInt.

func GetAsInt

func GetAsInt(name string, fallback int64) IntOption

GetAsInt returns a function that returns the wanted int with high performance.

type Option

type Option struct {
	Name            string
	Key             string // category/sub/key
	Description     string
	ExpertiseLevel  uint8
	OptType         uint8
	DefaultValue    interface{}
	ExternalOptType string
	ValidationRegex string
	// contains filtered or unexported fields
}

Option describes a configuration option.

func (*Option) Export

func (opt *Option) Export() (record.Record, error)

Export expors an option to a Record.

type StringArrayOption

type StringArrayOption func() []string

StringArrayOption defines the returned function by GetAsStringArray.

func GetAsStringArray

func GetAsStringArray(name string, fallback []string) StringArrayOption

GetAsStringArray returns a function that returns the wanted string with high performance.

type StringOption

type StringOption func() string

StringOption defines the returned function by GetAsString.

func GetAsString

func GetAsString(name string, fallback string) StringOption

GetAsString returns a function that returns the wanted string with high performance.

Jump to

Keyboard shortcuts

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