Home > @rushstack/terminal > TerminalTransform
TerminalTransform class
The abstract base class for TerminalWritable objects that receive an input, transform it somehow, and then write the output to another TerminalWritable
.
Signature:
export declare abstract class TerminalTransform extends TerminalWritable
Extends: TerminalWritable
Remarks
The TerminalTransform
and SplitterTransform base classes formalize the idea of modeling data flow as a directed acyclic graph of reusable transforms, whose final outputs are TerminalWritable
objects.
The design is based loosely on the WritableStream
and TransformStream
classes from the system Streams API, except that instead of asynchronous byte streams, the TerminalWritable
system synchronously transmits human readable messages intended to be rendered on a text console or log file.
The main feature of the TerminalTransform
class is its TerminalTransform.destination property, which tracks the next link in the graph.
Constructors
Constructor | Modifiers | Description |
---|---|---|
(constructor)(options) | Constructs a new instance of the TerminalTransform class |
Properties
Property | Modifiers | Type | Description |
---|---|---|---|
destination | readonly | TerminalWritable | The target TerminalWritable that the TerminalTransform will write its output to. |
preventDestinationAutoclose | readonly | boolean | Prevents the TerminalTransform.destination object from being closed automatically when the transform is closed. |
Methods
Method | Modifiers | Description |
---|---|---|
autocloseDestination() | protected | The default implementation of TerminalTransform.onClose() calls this method, which closes the TerminalTransform.destination if appropriate. |
onClose() | protected |