mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-23 03:17:43 +08:00
43 lines
791 B
Go
43 lines
791 B
Go
package commands
|
|
|
|
type ArgumentType int
|
|
|
|
const (
|
|
ArgString ArgumentType = iota
|
|
ArgFile
|
|
)
|
|
|
|
type Argument struct {
|
|
Name string
|
|
Type ArgumentType
|
|
Required bool
|
|
Variadic bool
|
|
SupportsStdin bool
|
|
Description string
|
|
}
|
|
|
|
func StringArg(name string, required, variadic bool, description string) Argument {
|
|
return Argument{
|
|
Name: name,
|
|
Type: ArgString,
|
|
Required: required,
|
|
Variadic: variadic,
|
|
Description: description,
|
|
}
|
|
}
|
|
|
|
func FileArg(name string, required, variadic bool, description string) Argument {
|
|
return Argument{
|
|
Name: name,
|
|
Type: ArgFile,
|
|
Required: required,
|
|
Variadic: variadic,
|
|
Description: description,
|
|
}
|
|
}
|
|
|
|
func (a Argument) EnableStdin() Argument {
|
|
a.SupportsStdin = true
|
|
return a
|
|
}
|