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.
		
		
		
		
		
			
		
			
				
					46 lines
				
				842 B
			
		
		
			
		
	
	
					46 lines
				
				842 B
			| 
											3 years ago
										 | /** | ||
|  |  * command line tool | ||
|  |  * | ||
|  |  * @author Zongmin Lei<leizongmin@gmail.com> | ||
|  |  */ | ||
|  | 
 | ||
|  | var xss = require("./"); | ||
|  | var readline = require("readline"); | ||
|  | 
 | ||
|  | var rl = readline.createInterface({ | ||
|  |   input: process.stdin, | ||
|  |   output: process.stdout, | ||
|  | }); | ||
|  | 
 | ||
|  | console.log('Enter a blank line to do xss(), enter "@quit" to exit.\n'); | ||
|  | 
 | ||
|  | function take(c, n) { | ||
|  |   var ret = ""; | ||
|  |   for (var i = 0; i < n; i++) { | ||
|  |     ret += c; | ||
|  |   } | ||
|  |   return ret; | ||
|  | } | ||
|  | 
 | ||
|  | function setPrompt(line) { | ||
|  |   line = line.toString(); | ||
|  |   rl.setPrompt("[" + line + "]" + take(" ", 5 - line.length)); | ||
|  |   rl.prompt(); | ||
|  | } | ||
|  | 
 | ||
|  | setPrompt(1); | ||
|  | 
 | ||
|  | var html = []; | ||
|  | rl.on("line", function (line) { | ||
|  |   if (line === "@quit") return process.exit(); | ||
|  |   if (line === "") { | ||
|  |     console.log(""); | ||
|  |     console.log(xss(html.join("\r\n"))); | ||
|  |     console.log(""); | ||
|  |     html = []; | ||
|  |   } else { | ||
|  |     html.push(line); | ||
|  |   } | ||
|  |   setPrompt(html.length + 1); | ||
|  | }); |