|
|
|
package option
|
|
|
|
|
|
|
|
import (
|
|
|
|
"gitoa.ru/go-4devs/console/input/value"
|
|
|
|
"gitoa.ru/go-4devs/console/input/variable"
|
|
|
|
)
|
|
|
|
|
|
|
|
func Short(in rune) variable.Option {
|
|
|
|
return func(v *variable.Variable) {
|
|
|
|
v.Alias = string(in)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func Default(in interface{}) variable.Option {
|
|
|
|
return variable.Default(value.New(in))
|
|
|
|
}
|
|
|
|
|
|
|
|
func Required(v *variable.Variable) {
|
|
|
|
variable.Required(v)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Valid(f ...func(value.Value) error) variable.Option {
|
|
|
|
return variable.Valid(f...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Array(v *variable.Variable) {
|
|
|
|
variable.Array(v)
|
|
|
|
}
|
|
|
|
|
|
|
|
func String(name, description string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.String(name, description, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Bool(name, description string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.Bool(name, description, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Duration(name, description string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.Duration(name, description, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Float64(name, description string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.Float64(name, description, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Int(name, description string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.Int(name, description, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Int64(name, description string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.Int64(name, description, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Time(name, description string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.Time(name, description, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Uint(name, description string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.Uint(name, description, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Uint64(name, descriontion string, opts ...variable.Option) variable.Variable {
|
|
|
|
return variable.Uint64(name, descriontion, append(opts, variable.ArgOption)...)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Err(name string, err error) variable.Error {
|
|
|
|
return variable.Err(name, variable.TypeOption, err)
|
|
|
|
}
|