readStream static method

void readStream(
  1. Stream<List<int>> byteStream,
  2. StreamController controller,
  3. dynamic onSuccess(
    1. ChatStreamResponse
    ),
  4. dynamic onError(
    1. String
    ),
)

Implementation

static void readStream(
  Stream<List<int>> byteStream,
  StreamController controller,
  Function(ChatStreamResponse) onSuccess,
  Function(String) onError,
) {
  byteStream.listen((byteChunk) {
    final String decodedChunk = utf8.decode(byteChunk);

    final List<String> lines = decodedChunk.split('\n');

    processAndEmitData(controller, lines, onSuccess, onError);
  }, onError: (error) {
    onError(error.toString());
    controller.addError(Exception('Stream error: $error'));
  }, onDone: () {
// Handle stream completion
    controller.close();
  });
}