mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-01 02:30:39 +08:00
commands: Added Option helper constructors
This commit is contained in:

committed by
Juan Batiz-Benet

parent
3e30093c2b
commit
38b31c65f8
@ -18,11 +18,43 @@ type Option struct {
|
|||||||
Type reflect.Kind // value must be this type
|
Type reflect.Kind // value must be this type
|
||||||
Description string // a short string to describe this option
|
Description string // a short string to describe this option
|
||||||
|
|
||||||
// TODO: add more features(?):
|
// MAYBE_TODO: add more features(?):
|
||||||
//Default interface{} // the default value (ignored if `Required` is true)
|
//Default interface{} // the default value (ignored if `Required` is true)
|
||||||
//Required bool // whether or not the option must be provided
|
//Required bool // whether or not the option must be provided
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// constructor helper functions
|
||||||
|
func NewOption(kind reflect.Kind, names ...string) Option {
|
||||||
|
if len(names) < 2 {
|
||||||
|
panic("Options require at least two string values (name and description)")
|
||||||
|
}
|
||||||
|
|
||||||
|
desc := names[len(names)-1]
|
||||||
|
names = names[:len(names)-2]
|
||||||
|
|
||||||
|
return Option{
|
||||||
|
Names: names,
|
||||||
|
Type: kind,
|
||||||
|
Description: desc,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func BoolOption(names ...string) Option {
|
||||||
|
return NewOption(Bool, names...)
|
||||||
|
}
|
||||||
|
func IntOption(names ...string) Option {
|
||||||
|
return NewOption(Int, names...)
|
||||||
|
}
|
||||||
|
func UintOption(names ...string) Option {
|
||||||
|
return NewOption(Uint, names...)
|
||||||
|
}
|
||||||
|
func FloatOption(names ...string) Option {
|
||||||
|
return NewOption(Float, names...)
|
||||||
|
}
|
||||||
|
func StringOption(names ...string) Option {
|
||||||
|
return NewOption(String, names...)
|
||||||
|
}
|
||||||
|
|
||||||
// Flag names
|
// Flag names
|
||||||
const (
|
const (
|
||||||
EncShort = "enc"
|
EncShort = "enc"
|
||||||
|
Reference in New Issue
Block a user