123456789101112131415161718192021222324252627282930313233343536373839 |
- import process from 'node:process';
- import restoreCursor from 'restore-cursor';
-
- let isHidden = false;
-
- const cliCursor = {};
-
- cliCursor.show = (writableStream = process.stderr) => {
- if (!writableStream.isTTY) {
- return;
- }
-
- isHidden = false;
- writableStream.write('\u001B[?25h');
- };
-
- cliCursor.hide = (writableStream = process.stderr) => {
- if (!writableStream.isTTY) {
- return;
- }
-
- restoreCursor();
- isHidden = true;
- writableStream.write('\u001B[?25l');
- };
-
- cliCursor.toggle = (force, writableStream) => {
- if (force !== undefined) {
- isHidden = force;
- }
-
- if (isHidden) {
- cliCursor.show(writableStream);
- } else {
- cliCursor.hide(writableStream);
- }
- };
-
- export default cliCursor;
|