validate method

bool validate()

validate command line arguments

Implementation

bool validate() {
  // Ensure `-m` is an accepted flag
  if (!acceptedFlags.contains('-m')) {
    acceptedFlags.add('-m');
  }

  if (RgbCli.arguments.contains(commandName) ||
      RgbCli.arguments.contains('$commandName:$name')) {
    var flagsNotAccepted = flags.where((element) => !acceptedFlags.contains(element)).toList();

    if (flagsNotAccepted.isNotEmpty) {
      LogService.info(LocaleKeys.info_unnecessary_flag.trArgsPlural(
        LocaleKeys.info_unnecessary_flag_prural,
        flagsNotAccepted.length,
        [flagsNotAccepted.toString()],
      )!);
    }

    if (args.length > maxParameters) {
      List pars = args.skip(maxParameters).toList();
      throw CliException(
        LocaleKeys.error_unnecessary_parameter.trArgsPlural(
          LocaleKeys.error_unnecessary_parameter_plural,
          pars.length,
          [pars.toString()],
        ),
        codeSample: codeSample,
      );
    }
  }
  return true;
}