Package altsrc
Overview ▹
Index ▹
func ApplyInputSourceValues ¶
func ApplyInputSourceValues(context *cli.Context, inputSourceContext InputSourceContext, flags []cli.Flag) error
ApplyInputSourceValues iterates over all provided flags and executes ApplyInputSourceValue on flags implementing the FlagInputSourceExtension interface to initialize these flags to an alternate input source.
func InitInputSource ¶
func InitInputSource(flags []cli.Flag, createInputSource func() (InputSourceContext, error)) func(context *cli.Context) error
InitInputSource is used to to setup an InputSourceContext on a cli.Command Before method. It will create a new input source based on the func provided. If there is no error it will then apply the new input source to any flags that are supported by the input source
func InitInputSourceWithContext ¶
func InitInputSourceWithContext(flags []cli.Flag, createInputSource func(context *cli.Context) (InputSourceContext, error)) func(context *cli.Context) error
InitInputSourceWithContext is used to to setup an InputSourceContext on a cli.Command Before method. It will create a new input source based on the func provided with potentially using existing cli.Context values to initialize itself. If there is no error it will then apply the new input source to any flags that are supported by the input source
func NewYamlSourceFromFlagFunc ¶
func NewYamlSourceFromFlagFunc(flagFileName string) func(context *cli.Context) (InputSourceContext, error)
NewYamlSourceFromFlagFunc creates a new Yaml InputSourceContext from a provided flag name and source context.
type BoolFlag ¶
BoolFlag is the flag type that wraps cli.BoolFlag to allow for other values to be specified
type BoolFlag struct {
cli.BoolFlag
// contains filtered or unexported fields
}
func NewBoolFlag ¶
func NewBoolFlag(flag cli.BoolFlag) *BoolFlag
NewBoolFlag creates a new BoolFlag
func (*BoolFlag) Apply ¶
func (f *BoolFlag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped BoolFlag.Apply
func (*BoolFlag) ApplyInputSourceValue ¶
func (f *BoolFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a Bool value to the flagSet if required
type BoolTFlag ¶
BoolTFlag is the flag type that wraps cli.BoolTFlag to allow for other values to be specified
type BoolTFlag struct {
cli.BoolTFlag
// contains filtered or unexported fields
}
func NewBoolTFlag ¶
func NewBoolTFlag(flag cli.BoolTFlag) *BoolTFlag
NewBoolTFlag creates a new BoolTFlag
func (*BoolTFlag) Apply ¶
func (f *BoolTFlag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped BoolTFlag.Apply
func (*BoolTFlag) ApplyInputSourceValue ¶
func (f *BoolTFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a BoolT value to the flagSet if required
type DurationFlag ¶
DurationFlag is the flag type that wraps cli.DurationFlag to allow for other values to be specified
type DurationFlag struct {
cli.DurationFlag
// contains filtered or unexported fields
}
func NewDurationFlag ¶
func NewDurationFlag(flag cli.DurationFlag) *DurationFlag
NewDurationFlag creates a new DurationFlag
func (*DurationFlag) Apply ¶
func (f *DurationFlag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped DurationFlag.Apply
func (*DurationFlag) ApplyInputSourceValue ¶
func (f *DurationFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a Duration value to the flagSet if required
type FlagInputSourceExtension ¶
FlagInputSourceExtension is an extension interface of cli.Flag that allows a value to be set on the existing parsed flags.
type FlagInputSourceExtension interface { cli.Flag ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error }
type Float64Flag ¶
Float64Flag is the flag type that wraps cli.Float64Flag to allow for other values to be specified
type Float64Flag struct {
cli.Float64Flag
// contains filtered or unexported fields
}
func NewFloat64Flag ¶
func NewFloat64Flag(flag cli.Float64Flag) *Float64Flag
NewFloat64Flag creates a new Float64Flag
func (*Float64Flag) Apply ¶
func (f *Float64Flag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped Float64Flag.Apply
func (*Float64Flag) ApplyInputSourceValue ¶
func (f *Float64Flag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a Float64 value to the flagSet if required
type GenericFlag ¶
GenericFlag is the flag type that wraps cli.GenericFlag to allow for other values to be specified
type GenericFlag struct {
cli.GenericFlag
// contains filtered or unexported fields
}
func NewGenericFlag ¶
func NewGenericFlag(flag cli.GenericFlag) *GenericFlag
NewGenericFlag creates a new GenericFlag
func (*GenericFlag) Apply ¶
func (f *GenericFlag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped GenericFlag.Apply
func (*GenericFlag) ApplyInputSourceValue ¶
func (f *GenericFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a generic value to the flagSet if required
type InputSourceContext ¶
InputSourceContext is an interface used to allow other input sources to be implemented as needed.
type InputSourceContext interface { Int(name string) (int, error) Duration(name string) (time.Duration, error) Float64(name string) (float64, error) String(name string) (string, error) StringSlice(name string) ([]string, error) IntSlice(name string) ([]int, error) Generic(name string) (cli.Generic, error) Bool(name string) (bool, error) BoolT(name string) (bool, error) }
func NewYamlSourceFromFile ¶
func NewYamlSourceFromFile(file string) (InputSourceContext, error)
NewYamlSourceFromFile creates a new Yaml InputSourceContext from a filepath.
type IntFlag ¶
IntFlag is the flag type that wraps cli.IntFlag to allow for other values to be specified
type IntFlag struct {
cli.IntFlag
// contains filtered or unexported fields
}
func NewIntFlag ¶
func NewIntFlag(flag cli.IntFlag) *IntFlag
NewIntFlag creates a new IntFlag
func (*IntFlag) Apply ¶
func (f *IntFlag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped IntFlag.Apply
func (*IntFlag) ApplyInputSourceValue ¶
func (f *IntFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a int value to the flagSet if required
type IntSliceFlag ¶
IntSliceFlag is the flag type that wraps cli.IntSliceFlag to allow for other values to be specified
type IntSliceFlag struct {
cli.IntSliceFlag
// contains filtered or unexported fields
}
func NewIntSliceFlag ¶
func NewIntSliceFlag(flag cli.IntSliceFlag) *IntSliceFlag
NewIntSliceFlag creates a new IntSliceFlag
func (*IntSliceFlag) Apply ¶
func (f *IntSliceFlag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped IntSliceFlag.Apply
func (*IntSliceFlag) ApplyInputSourceValue ¶
func (f *IntSliceFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a IntSlice value if required
type MapInputSource ¶
MapInputSource implements InputSourceContext to return data from the map that is loaded.
type MapInputSource struct {
// contains filtered or unexported fields
}
func (*MapInputSource) Bool ¶
func (fsm *MapInputSource) Bool(name string) (bool, error)
Bool returns an bool from the map otherwise returns false
func (*MapInputSource) BoolT ¶
func (fsm *MapInputSource) BoolT(name string) (bool, error)
BoolT returns an bool from the map otherwise returns true
func (*MapInputSource) Duration ¶
func (fsm *MapInputSource) Duration(name string) (time.Duration, error)
Duration returns a duration from the map if it exists otherwise returns 0
func (*MapInputSource) Float64 ¶
func (fsm *MapInputSource) Float64(name string) (float64, error)
Float64 returns an float64 from the map if it exists otherwise returns 0
func (*MapInputSource) Generic ¶
func (fsm *MapInputSource) Generic(name string) (cli.Generic, error)
Generic returns an cli.Generic from the map if it exists otherwise returns nil
func (*MapInputSource) Int ¶
func (fsm *MapInputSource) Int(name string) (int, error)
Int returns an int from the map if it exists otherwise returns 0
func (*MapInputSource) IntSlice ¶
func (fsm *MapInputSource) IntSlice(name string) ([]int, error)
IntSlice returns an []int from the map if it exists otherwise returns nil
func (*MapInputSource) String ¶
func (fsm *MapInputSource) String(name string) (string, error)
String returns a string from the map if it exists otherwise returns an empty string
func (*MapInputSource) StringSlice ¶
func (fsm *MapInputSource) StringSlice(name string) ([]string, error)
StringSlice returns an []string from the map if it exists otherwise returns nil
type StringFlag ¶
StringFlag is the flag type that wraps cli.StringFlag to allow for other values to be specified
type StringFlag struct {
cli.StringFlag
// contains filtered or unexported fields
}
func NewStringFlag ¶
func NewStringFlag(flag cli.StringFlag) *StringFlag
NewStringFlag creates a new StringFlag
func (*StringFlag) Apply ¶
func (f *StringFlag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped StringFlag.Apply
func (*StringFlag) ApplyInputSourceValue ¶
func (f *StringFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a String value to the flagSet if required
type StringSliceFlag ¶
StringSliceFlag is the flag type that wraps cli.StringSliceFlag to allow for other values to be specified
type StringSliceFlag struct {
cli.StringSliceFlag
// contains filtered or unexported fields
}
func NewStringSliceFlag ¶
func NewStringSliceFlag(flag cli.StringSliceFlag) *StringSliceFlag
NewStringSliceFlag creates a new StringSliceFlag
func (*StringSliceFlag) Apply ¶
func (f *StringSliceFlag) Apply(set *flag.FlagSet)
Apply saves the flagSet for later usage then calls the wrapped StringSliceFlag.Apply
func (*StringSliceFlag) ApplyInputSourceValue ¶
func (f *StringSliceFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a StringSlice value to the flagSet if required