Documentation ¶
Overview ¶
Package parser implements command arguments parsing.
Index ¶
- Variables
- type ParserFunc
- func AnyMap(dest *map[string]any) ParserFunc
- func Anys(dest *[]any) ParserFunc
- func Bytes(dest *[]byte) ParserFunc
- func Enum(dest *string, allowed ...string) ParserFunc
- func Flag(name string, dest *bool) ParserFunc
- func Float(dest *float64) ParserFunc
- func FloatMap(dest *map[any]float64) ParserFunc
- func Int(dest *int) ParserFunc
- func Named(name string, parsers ...ParserFunc) ParserFunc
- func OneOf(parsers ...ParserFunc) ParserFunc
- func String(dest *string) ParserFunc
- func Strings(dest *[]string) ParserFunc
- func StringsN(dest *[]string, nVar *int) ParserFunc
- type Pipeline
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type ParserFunc ¶
ParserFunc parses some of the arguments and returns the rest.
func Bytes ¶
func Bytes(dest *[]byte) ParserFunc
Bytes parses a positional argument as a byte slice.
func Enum ¶
func Enum(dest *string, allowed ...string) ParserFunc
Enum parses a positional argument as a string enum.
func FloatMap ¶
func FloatMap(dest *map[any]float64) ParserFunc
FloatMap parses variadic float-value pairs.
func Named ¶
func Named(name string, parsers ...ParserFunc) ParserFunc
Named parses a named argument with given parsers. Returns an error if any of the parsers does not fire.
func OneOf ¶
func OneOf(parsers ...ParserFunc) ParserFunc
OneOf parses the arguments with one of the given parsers. Returns an error if more than one parser fires.
func Strings ¶
func Strings(dest *[]string) ParserFunc
Strings parses variadic arguments as a slice of strings.
func StringsN ¶
func StringsN(dest *[]string, nVar *int) ParserFunc
StringsN parses n variadic arguments as a slice of strings. nVar is a pointer to the number of arguments to parse.
type Pipeline ¶
type Pipeline struct {
// contains filtered or unexported fields
}
Pipeline parses command arguments according to a sequence of parsers.
func New ¶
func New(parsers ...ParserFunc) *Pipeline
New creates a new pipeline with the given parsers.