UNPKG

@pilotlab/lux-debug

Version:

A luxurious user experience framework, developed by your friends at Pilot.

74 lines 2.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var readline = require('readline'); var logCursor_1 = require("./logCursor"); var logEnums_1 = require("./logEnums"); var LogConsole = (function () { function LogConsole(stream) { if (stream === void 0) { stream = process.stdout; } this._stream = stream; this._cursor = new logCursor_1.default(this); } Object.defineProperty(LogConsole.prototype, "stream", { get: function () { return this._stream; }, enumerable: true, configurable: true }); Object.defineProperty(LogConsole.prototype, "width", { get: function () { var out = process.stdout; if (out.getWindowSize) return out.getWindowSize()[0]; else if (out.columns && out.rows) out.columns; else return 0; }, enumerable: true, configurable: true }); Object.defineProperty(LogConsole.prototype, "height", { get: function () { var out = process.stdout; if (out.getWindowSize) return out.getWindowSize()[1]; else if (out.columns && out.rows) return out.rows; else return 0; }, enumerable: true, configurable: true }); Object.defineProperty(LogConsole.prototype, "cursor", { get: function () { return this._cursor; }, enumerable: true, configurable: true }); LogConsole.prototype.write = function (message) { this._stream.write(message); return this; }; LogConsole.prototype.erase = function (region) { switch (region) { case logEnums_1.LogRegion.LINE: readline.clearLine(this._stream, 0); break; case logEnums_1.LogRegion.LINE_LEFT: readline.clearLine(this._stream, -1); break; case logEnums_1.LogRegion.LINE_RIGHT: readline.clearLine(this._stream, 1); break; case logEnums_1.LogRegion.DOWN: readline.clearScreenDown(this._stream); break; case logEnums_1.LogRegion.SCREEN: default: this._stream.write(process.platform === 'win32' ? '\x1Bc' : '\x1B[2J\x1B[3J\x1B[H'); break; } return this; }; return LogConsole; }()); exports.LogConsole = LogConsole; exports.default = LogConsole; //# sourceMappingURL=logConsole.js.map