@pilotlab/lux-debug
Version:
A luxurious user experience framework, developed by your friends at Pilot.
74 lines • 2.58 kB
JavaScript
;
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