execute method

  1. @override
Future<int> execute(
  1. List<String> arguments
)
override

Implementation

@override
Future<int> execute(List<String> arguments) async {
  if (arguments.length > 1) {
    Console.error('terminate-port accepts at most one port.');
    return ExitCode.usage;
  }
  final explicit = arguments.isEmpty ? null : int.tryParse(arguments.single);
  if (arguments.isNotEmpty && explicit == null) {
    Console.error('Port must be an integer.');
    return ExitCode.usage;
  }

  final port = explicit ?? _portFromEnv() ?? 8000;
  final success = await runCommand(port);
  if (!success) return ExitCode.failure;
  Console.success('Port $port is available');
  return ExitCode.success;
}