Command.withArguments constructor

Command.withArguments(
  1. CommandConstructor cmdBuilder,
  2. Map<String, String> args,
  3. AsyncErrorHandlerFunction? asyncErrorHandler
)

Build command with arguments

args can contain arguments, only supported by getParser. If getParser return null, new command instance will have null arguments

Throws ArgParserException

Implementation

factory Command.withArguments(CommandConstructor cmdBuilder,
    Map<String, String> args, AsyncErrorHandlerFunction? asyncErrorHandler) {
  final cmd = cmdBuilder();
  final parser = cmd.getParser();
  if (parser != null) {
    final cmdForParse =
        ('/${cmd.name} ' + _buildCommandArgs(args)).split(' ');
    cmd.arguments = parser.parse(cmdForParse);
    if (asyncErrorHandler != null && cmd.asyncErrorHandler == null) {
      cmd.asyncErrorHandler = asyncErrorHandler;
    }
  }
  return cmd;
}