listenToProcessOutput method

void listenToProcessOutput(
  1. Process process, {
  2. void onStdout(
    1. String
    )?,
  3. void onStderr(
    1. String
    )?,
  4. void printCallback(
    1. String
    )?,
  5. String printTag = '',
})

Implementation

void listenToProcessOutput(
  Process process, {
  void Function(String)? onStdout,
  void Function(String)? onStderr,
  void Function(String)? printCallback,
  String printTag = '',
}) {
  printCallback =
      printCallback ?? (line) => _defaultPrintCallback(line, tag: printTag);

  streamSubscriptions.addAll([
    transformToLines(process.stdout).listen((String line) {
      onStdout?.call(line);
      stdoutController.add(line);
    }),
    transformToLines(process.stderr).listen((String line) {
      onStderr?.call(line);
      stderrController.add(line);
    }),

    // This is just debug printing to aid running/debugging tests locally.
    stdoutController.stream.listen(printCallback),
    stderrController.stream.listen(printCallback),
  ]);
}