; | |
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); | |
} | |
}; | |