MCPcopy Create free account
hub / github.com/UiPath/uipathcli / validateArguments

Method validateArguments

commandline/command_builder.go:216–244  ·  view source on GitHub ↗
(context *CommandExecContext, parameters []parser.Parameter, config config.Config)

Source from the content-addressed store, hash-verified

214}
215
216func (b CommandBuilder) validateArguments(context *CommandExecContext, parameters []parser.Parameter, config config.Config) error {
217 err := errors.New("Invalid arguments:")
218 result := true
219 for _, parameter := range parameters {
220 value := b.getValue(parameter, context, config)
221 if parameter.Required && value == "" {
222 result = false
223 err = fmt.Errorf("%w\n Argument --%s is missing", err, parameter.Name)
224 }
225 if value != "" && len(parameter.AllowedValues) > 0 {
226 valid := false
227 for _, allowedValue := range parameter.AllowedValues {
228 if fmt.Sprint(allowedValue) == value {
229 valid = true
230 break
231 }
232 }
233 if !valid {
234 allowedValues := b.formatAllowedValues(parameter.AllowedValues)
235 result = false
236 err = fmt.Errorf("%w\n Argument value '%v' for --%s is invalid, allowed values: %s", err, value, parameter.Name, allowedValues)
237 }
238 }
239 }
240 if result {
241 return nil
242 }
243 return err
244}
245
246func (b CommandBuilder) logger(debug bool, writer io.Writer) log.Logger {
247 if debug {

Callers 1

Calls 3

getValueMethod · 0.95
formatAllowedValuesMethod · 0.95
NewMethod · 0.80

Tested by

no test coverage detected