Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bool ¶
type Bool interface {
Refreshable
CurrentBool() bool
MapBool(func(bool) interface{}) Refreshable
SubscribeToBool(func(bool)) (unsubscribe func())
}
func NewBool ¶
func NewBool(in Refreshable) Bool
type BoolPtr ¶
type BoolPtr interface {
Refreshable
CurrentBoolPtr() *bool
MapBoolPtr(func(*bool) interface{}) Refreshable
SubscribeToBoolPtr(func(*bool)) (unsubscribe func())
}
func NewBoolPtr ¶
func NewBoolPtr(in Refreshable) BoolPtr
type DefaultRefreshable ¶
type DefaultRefreshable struct {
sync.Mutex // protects subscribers
// contains filtered or unexported fields
}
func NewDefaultRefreshable ¶
func NewDefaultRefreshable(val interface{}) *DefaultRefreshable
func (*DefaultRefreshable) Current ¶
func (d *DefaultRefreshable) Current() interface{}
func (*DefaultRefreshable) Map ¶
func (d *DefaultRefreshable) Map(mapFn func(interface{}) interface{}) Refreshable
func (*DefaultRefreshable) Subscribe ¶
func (d *DefaultRefreshable) Subscribe(consumer func(interface{})) (unsubscribe func())
func (*DefaultRefreshable) Update ¶
func (d *DefaultRefreshable) Update(val interface{}) error
type Duration ¶
type Duration interface {
Refreshable
CurrentDuration() time.Duration
MapDuration(func(time.Duration) interface{}) Refreshable
SubscribeToDuration(func(time.Duration)) (unsubscribe func())
}
Duration is a Refreshable that can return the current time.Duration.
func NewDuration ¶
func NewDuration(in Refreshable) Duration
type DurationPtr ¶
type DurationPtr interface {
Refreshable
CurrentDurationPtr() *time.Duration
MapDurationPtr(func(*time.Duration) interface{}) Refreshable
SubscribeToDurationPtr(func(*time.Duration)) (unsubscribe func())
}
func NewDurationPtr ¶
func NewDurationPtr(in Refreshable) DurationPtr
type Int ¶
type Int interface {
Refreshable
CurrentInt() int
MapInt(func(int) interface{}) Refreshable
SubscribeToInt(func(int)) (unsubscribe func())
}
func NewInt ¶
func NewInt(in Refreshable) Int
type IntPtr ¶
type IntPtr interface {
Refreshable
CurrentIntPtr() *int
MapIntPtr(func(*int) interface{}) Refreshable
SubscribeToIntPtr(func(*int)) (unsubscribe func())
}
func NewIntPtr ¶
func NewIntPtr(in Refreshable) IntPtr
type Refreshable ¶
type Refreshable interface {
// Current returns the most recent value of this Refreshable.
Current() interface{}
// Subscribe subscribes to changes of this Refreshable. The provided function is called with the value of Current()
// whenever the value changes.
Subscribe(consumer func(interface{})) (unsubscribe func())
// Map returns a new Refreshable based on the current one that handles updates based on the current Refreshable.
Map(func(interface{}) interface{}) Refreshable
}
type String ¶
type String interface {
Refreshable
CurrentString() string
MapString(func(string) interface{}) Refreshable
SubscribeToString(func(string)) (unsubscribe func())
}
func NewString ¶
func NewString(in Refreshable) String
type StringPtr ¶
type StringPtr interface {
Refreshable
CurrentStringPtr() *string
MapStringPtr(func(*string) interface{}) Refreshable
SubscribeToStringPtr(func(*string)) (unsubscribe func())
}
func NewStringPtr ¶
func NewStringPtr(in Refreshable) StringPtr
type StringSlice ¶
type StringSlice interface {
Refreshable
CurrentStringSlice() []string
MapStringSlice(func([]string) interface{}) Refreshable
SubscribeToStringSlice(func([]string)) (unsubscribe func())
}
func NewStringSlice ¶
func NewStringSlice(in Refreshable) StringSlice
type ValidatingRefreshable ¶
type ValidatingRefreshable struct {
Refreshable
// contains filtered or unexported fields
}
func NewValidatingRefreshable ¶
func NewValidatingRefreshable(origRefreshable Refreshable, validatingFn func(interface{}) error) (*ValidatingRefreshable, error)
NewValidatingRefreshable returns a new Refreshable whose current value is the latest value that passes the provided validatingFn successfully. This returns an error if the current value of the passed in Refreshable does not pass the validatingFn or if the validatingFn or Refreshable are nil.
func (*ValidatingRefreshable) Current ¶
func (v *ValidatingRefreshable) Current() interface{}
func (*ValidatingRefreshable) LastValidateErr ¶
func (v *ValidatingRefreshable) LastValidateErr() error
func (*ValidatingRefreshable) Map ¶
func (v *ValidatingRefreshable) Map(mapFn func(interface{}) interface{}) Refreshable
func (*ValidatingRefreshable) Subscribe ¶
func (v *ValidatingRefreshable) Subscribe(consumer func(interface{})) (unsubscribe func())
Click to show internal directories.
Click to hide internal directories.