config

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2019 License: GPL-3.0 Imports: 21 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

	ReleaseLevelStable       = "stable"
	ReleaseLevelBeta         = "beta"
	ReleaseLevelExperimental = "experimental"
)

Various attribute options. 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(values map[string]interface{}) ([]byte, error)

MapToJSON expands a flattened map and returns it as json. The map is altered in the process.

func Register

func Register(option *Option) error

Register registers a new configuration option.

func SetConfigOption

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

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

func SetDataRoot added in v0.3.0

func SetDataRoot(root *utils.DirStructure)

SetDataRoot sets the data root from which the updates module derives its paths.

func SetDefaultConfig

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

SetDefaultConfig sets the (fallback) default config.

func SetDefaultConfigOption

func SetDefaultConfigOption(key 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 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 {
	sync.Mutex

	Name        string
	Key         string // in path format: category/sub/key
	Description string

	ReleaseLevel   string
	ExpertiseLevel uint8
	OptType        uint8

	RequiresRestart bool
	DefaultValue    interface{}

	ExternalOptType string
	ValidationRegex string
	// contains filtered or unexported fields
}

Option describes a configuration option.

func (*Option) Export

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

Export expors an option to a Record.

type StorageInterface added in v0.3.0

type StorageInterface struct {
	storage.InjectBase
}

StorageInterface provices a storage.Interface to the configuration manager.

func (*StorageInterface) Delete added in v0.3.0

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

Delete deletes a record from the database.

func (*StorageInterface) Get added in v0.3.0

func (s *StorageInterface) Get(key string) (record.Record, error)

Get returns a database record.

func (*StorageInterface) Put added in v0.3.0

func (s *StorageInterface) Put(r record.Record) error

Put stores a record in the database.

func (*StorageInterface) Query added in v0.3.0

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

Query returns a an iterator for the supplied query.

func (*StorageInterface) ReadOnly added in v0.3.0

func (s *StorageInterface) ReadOnly() bool

ReadOnly returns whether the database is read only.

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