Home > @rushstack/terminal > TextRewriterState
TextRewriterState type
Represents the internal state of a TextRewriter subclass.
Signature:
export type TextRewriterState = Brand<unknown, 'TextRewriterState'>;
References: Brand
Remarks
For example, suppose that NormalizeNewlinesTextRewriter will be used to rewrite the input "line 1\r\nline 2\r\n"
to become "line 1\nline 2\n"
. But suppose that the "\r\n"
pair is split across two chunks:
const rewriter: NormalizeNewlinesTextRewriter = new NormalizeNewlinesTextRewriter(NewlineKind.Lf);
const state: TextRewriterState = rewriter.initialize();
let output: string = rewriter.process(state, 'line 1\r');
output += rewriter.process(state, '\nline 2\r\n');
output += rewriter.close(state);
// The final "output" value is: "line 1\nline 2\n"
The TextRewriterState
keeps track of this context, so that split "\r"
and "\n"
are interpreted as a single newline.