v3/src/ts-protoc-gen/CodePrinter.ts

26 lines
616 B
TypeScript

import { Printer } from './Printer';
import { generateIndent } from './util';
export class CodePrinter {
private indentation: string;
constructor(private depth: number, private printer: Printer) {
this.indentation = generateIndent(1);
}
indent() {
this.depth++;
return this;
}
dedent() {
this.depth--;
return this;
}
printLn(line: string) {
this.printer.printLn(new Array(this.depth + 1).join(this.indentation) + line);
return this;
}
printEmptyLn() {
this.printer.printEmptyLn();
return this;
}
}