Script.fromLineTransformer constructor

Script.fromLineTransformer(
  1. StreamTransformer<String, String> transformer, {
  2. String? name,
})

Creates a Script from a StreamTransformer on string streams.

This script transforms each line of stdin with transformer and emits it via stdout. It exits once the transformed stream closes. Any error events emitted by transformer are treated as errors in the script.

Script.kill returns true if the stream was interrupted and the script exits with Script.exitCode 143, or false if the stream was already closed.

Implementation

factory Script.fromLineTransformer(
        StreamTransformer<String, String> transformer,
        {String? name}) =>
    Script.fromByteTransformer(
        StreamTransformer.fromBind((stream) => stream.lines
            .transform(transformer)
            .map<List<int>>((line) => utf8.encode("$line\n"))),
        name: name ?? transformer.toString());