run method

  1. @override
Future<void> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<void> run() async {
  var key = argResults?.rest.isNotEmpty == true ? argResults!.rest[0] : '';
  final lookup = EntriesLookup.forDefaults(
    androidOnly: argResults?['android'] == true,
    iosOnly: argResults?['ios'] == true,
  );

  if (key.isEmpty) {
    Logger.info(
      'No permission key or a search keyword provide. try permit add <permission_key|keyword>',
    );
    return;
  }

  final entries = lookup.find(key);

  if (entries.isNotEmpty) {
    final resolved = _resolveEntries(List.of(entries), key);
    _onAddEntries(resolved, lookup);
  } else {
    Logger.info('No permission entries found for key: $key');
    return;
  }
}