@ionic/utils-terminal
Version:
Terminal utils for NodeJS
39 lines (38 loc) • 1.09 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Cursor = void 0;
const tslib_1 = require("tslib");
const signal_exit_1 = tslib_1.__importDefault(require("signal-exit"));
const ansi_1 = require("./ansi");
class Cursor {
static show() {
if (Cursor.stream.isTTY) {
Cursor._isVisible = true;
Cursor.stream.write(ansi_1.EscapeCode.cursorShow());
}
}
static hide() {
if (Cursor.stream.isTTY) {
if (!Cursor._listenerAttached) {
(0, signal_exit_1.default)(() => {
Cursor.show();
});
Cursor._listenerAttached = true;
}
Cursor._isVisible = false;
Cursor.stream.write(ansi_1.EscapeCode.cursorHide());
}
}
static toggle() {
if (Cursor._isVisible) {
Cursor.hide();
}
else {
Cursor.show();
}
}
}
exports.Cursor = Cursor;
Cursor.stream = process.stderr;
Cursor._isVisible = true;
Cursor._listenerAttached = false;
;