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 {
  final args = argResults!;
  if (args['follow'] as bool) return _follow(args);

  final client = _apiClientFrom(args);
  try {
    final events = (await client.get('/events') as List).cast<Map>();
    if (events.isEmpty) {
      stdout.writeln('no events yet');
      return;
    }
    for (final e in events) {
      stdout.writeln(_format(e));
    }
  } finally {
    client.close();
  }
}