Documentation ¶
Index ¶
- Variables
- func AddListener(key string, callback func())
- func GetDefault(opt Option) interface{}
- func KnownOption(rule Option) bool
- func NotifyListeners(key string)
- func RegisterHiddenOption(key string, t Type, defaultValue interface{})
- func RegisterOption(key string, t Type, defaultValue interface{})
- func RegisterOptionWithEvents(key string, t Type, defaultValue interface{}, get, set Event)
- type Enums
- type Event
- type Option
- type Registry
- type Type
Constants ¶
This section is empty.
Variables ¶
var EmptyEvent = func(value interface{}) (interface{}, error) { if enum, ok := value.(*Enums); ok { return enum.Default, nil } return value, nil }
Functions ¶
func AddListener ¶
func AddListener(key string, callback func())
AddListener adds a listener for changes to the given config key that calls the given callback function. Client code is responsible for calling NotifyListeners to signal config changes to listeners.
func GetDefault ¶
func GetDefault(opt Option) interface{}
func KnownOption ¶
func NotifyListeners ¶
func NotifyListeners(key string)
NotifyListeners notifies listeners that the given config key has changed.
func RegisterHiddenOption ¶
Registers a hidden config option without get/set events.
func RegisterOption ¶
Registers a config option without get/set events.
func RegisterOptionWithEvents ¶
Registers a config option with get/set events.
Types ¶
type Event ¶
type Event func(value interface{}) (interface{}, error)
Event is run when a user tries to set or get a config value via `state config`
type Option ¶
type Option struct { Name string Type Type Default interface{} GetEvent Event SetEvent Event // contains filtered or unexported fields }
Option defines what a config value's name and type should be, along with any get/set events
func GetOption ¶
GetOption returns a config option, regardless of whether or not it has been registered. Use KnownOption to determine if the returned option has been previously registered.
func Registered ¶
func Registered() []Option
Registered returns all registered options, excluding hidden ones