You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					36 lines
				
				617 B
			
		
		
			
		
	
	
					36 lines
				
				617 B
			| 
								 
											3 years ago
										 
									 | 
							
								'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);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								};
							 |