runAsync method

  1. @override
Future<void> runAsync(
  1. String label,
  2. List<String> args
)

Implementation

@override
Future<void> runAsync(String label, List<String> args) async {
  final actions = <String, _RoleAction>{
    'list': _list,
    'show': _show,
    'create': _create,
    'delete': _delete,
    'rename': _rename,
    'priority': _setPriority,
    'permission': _permission,
  };
  final action = args.firstOrNull ?? 'list';
  final handler = actions[action];
  if (handler == null) throw const CommandUsageException();
  await handler(args.isEmpty ? [] : args.sublist(1));
}