Documentation ¶
Index ¶
- func ApplyInputSourceValues(context *cli.Context, inputSourceContext InputSourceContext, flags []cli.Flag) error
- func InitInputSource(flags []cli.Flag, createInputSource func() (InputSourceContext, error)) cli.BeforeFunc
- func InitInputSourceWithContext(flags []cli.Flag, ...) cli.BeforeFunc
- func NewJSONSourceFromFlagFunc(flag string) func(c *cli.Context) (InputSourceContext, error)
- func NewTomlSourceFromFlagFunc(flagFileName string) func(context *cli.Context) (InputSourceContext, error)
- func NewYamlSourceFromFlagFunc(flagFileName string) func(context *cli.Context) (InputSourceContext, error)
- type BoolFlag
- type DurationFlag
- type FlagInputSourceExtension
- type Float64Flag
- type Float64SliceFlag
- type GenericFlag
- type InputSourceContext
- func NewJSONSource(data []byte) (InputSourceContext, error)
- func NewJSONSourceFromFile(f string) (InputSourceContext, error)
- func NewJSONSourceFromReader(r io.Reader) (InputSourceContext, error)
- func NewTomlSourceFromFile(file string) (InputSourceContext, error)
- func NewYamlSourceFromFile(file string) (InputSourceContext, error)
- type Int64Flag
- type Int64SliceFlag
- type IntFlag
- type IntSliceFlag
- type MapInputSource
- func (fsm *MapInputSource) Bool(name string) (bool, error)
- func (fsm *MapInputSource) Duration(name string) (time.Duration, error)
- func (fsm *MapInputSource) Float64(name string) (float64, error)
- func (fsm *MapInputSource) Generic(name string) (cli.Generic, error)
- func (fsm *MapInputSource) Int(name string) (int, error)
- func (fsm *MapInputSource) IntSlice(name string) ([]int, error)
- func (fsm *MapInputSource) Source() string
- func (fsm *MapInputSource) String(name string) (string, error)
- func (fsm *MapInputSource) StringSlice(name string) ([]string, error)
- type PathFlag
- type StringFlag
- type StringSliceFlag
- type Uint64Flag
- type UintFlag
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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)) cli.BeforeFunc
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)) cli.BeforeFunc
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 NewJSONSourceFromFlagFunc ¶
func NewJSONSourceFromFlagFunc(flag string) func(c *cli.Context) (InputSourceContext, error)
NewJSONSourceFromFlagFunc returns a func that takes a cli.Context and returns an InputSourceContext suitable for retrieving config variables from a file containing JSON data with the file name defined by the given flag.
func NewTomlSourceFromFlagFunc ¶
func NewTomlSourceFromFlagFunc(flagFileName string) func(context *cli.Context) (InputSourceContext, error)
NewTomlSourceFromFlagFunc creates a new TOML InputSourceContext from a provided flag name and source context.
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.
Types ¶
type BoolFlag ¶
type BoolFlag struct { *cli.BoolFlag // contains filtered or unexported fields }
BoolFlag is the flag type that wraps cli.BoolFlag to allow for other values to be specified
func (*BoolFlag) Apply ¶
Apply saves the flagSet for later usage calls, 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 DurationFlag ¶
type DurationFlag struct { *cli.DurationFlag // contains filtered or unexported fields }
DurationFlag is the flag type that wraps cli.DurationFlag to allow for other values to be specified
func NewDurationFlag ¶
func NewDurationFlag(fl *cli.DurationFlag) *DurationFlag
NewDurationFlag creates a new DurationFlag
func (*DurationFlag) Apply ¶
func (f *DurationFlag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, 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 ¶
type FlagInputSourceExtension interface {
cli.Flag
ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
}
FlagInputSourceExtension is an extension interface of cli.Flag that allows a value to be set on the existing parsed flags.
type Float64Flag ¶
type Float64Flag struct { *cli.Float64Flag // contains filtered or unexported fields }
Float64Flag is the flag type that wraps cli.Float64Flag to allow for other values to be specified
func NewFloat64Flag ¶
func NewFloat64Flag(fl *cli.Float64Flag) *Float64Flag
NewFloat64Flag creates a new Float64Flag
func (*Float64Flag) Apply ¶
func (f *Float64Flag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, 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 Float64SliceFlag ¶
type Float64SliceFlag struct { *cli.Float64SliceFlag // contains filtered or unexported fields }
Float64SliceFlag is the flag type that wraps cli.Float64SliceFlag to allow for other values to be specified
func NewFloat64SliceFlag ¶
func NewFloat64SliceFlag(fl *cli.Float64SliceFlag) *Float64SliceFlag
NewFloat64SliceFlag creates a new Float64SliceFlag
type GenericFlag ¶
type GenericFlag struct { *cli.GenericFlag // contains filtered or unexported fields }
GenericFlag is the flag type that wraps cli.GenericFlag to allow for other values to be specified
func NewGenericFlag ¶
func NewGenericFlag(fl *cli.GenericFlag) *GenericFlag
NewGenericFlag creates a new GenericFlag
func (*GenericFlag) Apply ¶
func (f *GenericFlag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, 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 ¶
type InputSourceContext interface { Source() string 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) }
InputSourceContext is an interface used to allow other input sources to be implemented as needed.
Source returns an identifier for the input source. In case of file source it should return path to the file.
func NewJSONSource ¶
func NewJSONSource(data []byte) (InputSourceContext, error)
NewJSONSource returns an InputSourceContext suitable for retrieving config variables from raw JSON data.
func NewJSONSourceFromFile ¶
func NewJSONSourceFromFile(f string) (InputSourceContext, error)
NewJSONSourceFromFile returns an InputSourceContext suitable for retrieving config variables from a file (or url) containing JSON data.
func NewJSONSourceFromReader ¶
func NewJSONSourceFromReader(r io.Reader) (InputSourceContext, error)
NewJSONSourceFromReader returns an InputSourceContext suitable for retrieving config variables from an io.Reader that returns JSON data.
func NewTomlSourceFromFile ¶
func NewTomlSourceFromFile(file string) (InputSourceContext, error)
NewTomlSourceFromFile creates a new TOML InputSourceContext from a filepath.
func NewYamlSourceFromFile ¶
func NewYamlSourceFromFile(file string) (InputSourceContext, error)
NewYamlSourceFromFile creates a new Yaml InputSourceContext from a filepath.
type Int64Flag ¶
type Int64Flag struct { *cli.Int64Flag // contains filtered or unexported fields }
Int64Flag is the flag type that wraps cli.Int64Flag to allow for other values to be specified
func NewInt64Flag ¶
func NewInt64Flag(fl *cli.Int64Flag) *Int64Flag
NewInt64Flag creates a new Int64Flag
type Int64SliceFlag ¶
type Int64SliceFlag struct { *cli.Int64SliceFlag // contains filtered or unexported fields }
Int64SliceFlag is the flag type that wraps cli.Int64SliceFlag to allow for other values to be specified
func NewInt64SliceFlag ¶
func NewInt64SliceFlag(fl *cli.Int64SliceFlag) *Int64SliceFlag
NewInt64SliceFlag creates a new Int64SliceFlag
type IntFlag ¶
type IntFlag struct { *cli.IntFlag // contains filtered or unexported fields }
IntFlag is the flag type that wraps cli.IntFlag to allow for other values to be specified
func (*IntFlag) Apply ¶
Apply saves the flagSet for later usage calls, 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 ¶
type IntSliceFlag struct { *cli.IntSliceFlag // contains filtered or unexported fields }
IntSliceFlag is the flag type that wraps cli.IntSliceFlag to allow for other values to be specified
func NewIntSliceFlag ¶
func NewIntSliceFlag(fl *cli.IntSliceFlag) *IntSliceFlag
NewIntSliceFlag creates a new IntSliceFlag
func (*IntSliceFlag) Apply ¶
func (f *IntSliceFlag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, 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 ¶
type MapInputSource struct {
// contains filtered or unexported fields
}
MapInputSource implements InputSourceContext to return data from the map that is loaded.
func (*MapInputSource) Bool ¶
func (fsm *MapInputSource) Bool(name string) (bool, error)
Bool returns an bool from the map otherwise returns false
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) Source ¶
func (fsm *MapInputSource) Source() string
Source returns the path of the source file
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 PathFlag ¶
type PathFlag struct { *cli.PathFlag // contains filtered or unexported fields }
PathFlag is the flag type that wraps cli.PathFlag to allow for other values to be specified
func (*PathFlag) Apply ¶
Apply saves the flagSet for later usage calls, then calls the wrapped PathFlag.Apply
func (*PathFlag) ApplyInputSourceValue ¶
func (f *PathFlag) ApplyInputSourceValue(context *cli.Context, isc InputSourceContext) error
ApplyInputSourceValue applies a Path value to the flagSet if required
type StringFlag ¶
type StringFlag struct { *cli.StringFlag // contains filtered or unexported fields }
StringFlag is the flag type that wraps cli.StringFlag to allow for other values to be specified
func NewStringFlag ¶
func NewStringFlag(fl *cli.StringFlag) *StringFlag
NewStringFlag creates a new StringFlag
func (*StringFlag) Apply ¶
func (f *StringFlag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, 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 ¶
type StringSliceFlag struct { *cli.StringSliceFlag // contains filtered or unexported fields }
StringSliceFlag is the flag type that wraps cli.StringSliceFlag to allow for other values to be specified
func NewStringSliceFlag ¶
func NewStringSliceFlag(fl *cli.StringSliceFlag) *StringSliceFlag
NewStringSliceFlag creates a new StringSliceFlag
func (*StringSliceFlag) Apply ¶
func (f *StringSliceFlag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, 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
type Uint64Flag ¶
type Uint64Flag struct { *cli.Uint64Flag // contains filtered or unexported fields }
Uint64Flag is the flag type that wraps cli.Uint64Flag to allow for other values to be specified
func NewUint64Flag ¶
func NewUint64Flag(fl *cli.Uint64Flag) *Uint64Flag
NewUint64Flag creates a new Uint64Flag