stdioChannel function
Creates a StreamChannel
for Stdio communication where messages are
separated by newlines.
This expects incoming messages on input
, and writes messages to output
.
Implementation
StreamChannel<String> stdioChannel({
required Stream<List<int>> input,
required StreamSink<List<int>> output,
}) => StreamChannel.withCloseGuarantee(input, output)
.transform(StreamChannelTransformer.fromCodec(utf8))
.transformStream(const LineSplitter())
.transformSink(
StreamSinkTransformer.fromHandlers(
handleData: (data, sink) {
sink.add('$data\n');
},
),
);