Command.withArguments constructor
Command.withArguments(
- CommandConstructor cmdBuilder,
- Map<
String, String> args, - 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;
}