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