feige
2024-11-17 7c33a1164d3019feb3ad9e4844b3d364e5c6eb44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
'use strict';
const restoreCursor = require('restore-cursor');
 
let isHidden = false;
 
exports.show = (writableStream = process.stderr) => {
    if (!writableStream.isTTY) {
        return;
    }
 
    isHidden = false;
    writableStream.write('\u001B[?25h');
};
 
exports.hide = (writableStream = process.stderr) => {
    if (!writableStream.isTTY) {
        return;
    }
 
    restoreCursor();
    isHidden = true;
    writableStream.write('\u001B[?25l');
};
 
exports.toggle = (force, writableStream) => {
    if (force !== undefined) {
        isHidden = force;
    }
 
    if (isHidden) {
        exports.show(writableStream);
    } else {
        exports.hide(writableStream);
    }
};