UNPKG

lib-utils-ts

Version:

<img src="https://img.shields.io/npm/v/lib-utils-ts"/> <img src="https://img.shields.io/snyk/vulnerabilities/npm/lib-utils-ts"/> <img src="https://img.shields.io/npm/l/lib-utils-ts"/> <img src="https://img.shields.io/github/languages/top/devGnode/lib-util

50 lines (39 loc) 1.37 kB
import { Writer } from "./Writer"; import {OutputStream} from "./OutputStream"; import {format} from "util"; import {BYTE} from "../primitives/Globals"; import {Objects} from "../type/Objects"; import * as os from "os"; /*** * @see Writer */ export class PrintWriter extends Writer{ private readonly out:Writer; private readonly autoFlush:boolean; private readonly lineSeparator:string = os.EOL; constructor(out:Writer|OutputStream, autoFlush?:boolean) { super(); this.out = out; this.autoFlush = autoFlush; } public close(): void {this.out.close();} public flush(): void {this.out.flush();} public write(b: number | BYTE | string) {this.out.write(b);} public writeBytes(buffer: string[]|string, off?: number, len?: number): void { this.out.writeBytes(buffer,off,len); } public print(value?:Object):void{ this.write(Objects.isNull(value)?"null":value.toString()); } public println(value?:Object):void{ this.write(Objects.isNull(value)?"null":value.toString()); this.newLine(); } private newLine():void{ this.write(this.lineSeparator); } public printf(pattern:string, ... args: Object[]){ return this.write(format.apply( null, [ pattern ].concat(args.map(value=>value.toString())))); } } Object.package(this);