in internal/mode/chunk/chunk.go [146:178]
func parseFlags() (CommandOptions, error) {
var opts CommandOptions
var adapterStr string
flag.StringVar(&opts.OptionsJSON, "options", "", "JSON string of options for chunking")
validAdaptersList := make([]string, len(validAdapters))
for i, adapter := range validAdapters {
validAdaptersList[i] = string(adapter)
}
flag.StringVar(&adapterStr, "adapter", "", fmt.Sprintf("Adapter to use (%s)", strings.Join(validAdaptersList, ", ")))
flag.StringVar(&opts.ConnectionJSON, "connection", "", "JSON string of connection parameters")
flag.Parse()
if adapterStr == "" {
return CommandOptions{}, fmt.Errorf("-adapter flag is required")
}
if opts.OptionsJSON == "" {
return CommandOptions{}, fmt.Errorf("-options flag is required")
}
if opts.ConnectionJSON == "" {
return CommandOptions{}, fmt.Errorf("-connection flag is required")
}
opts.AdapterType = AdapterType(adapterStr)
if !isValidAdapter(opts.AdapterType) {
return CommandOptions{}, fmt.Errorf("invalid adapter: %s, must be one of: %s", opts.AdapterType, strings.Join(validAdaptersList, ", "))
}
return opts, nil
}