UNPKG

842 BJavaScriptView Raw
1/**
2 * command line tool
3 *
4 * @author Zongmin Lei<leizongmin@gmail.com>
5 */
6
7var xss = require("./");
8var readline = require("readline");
9
10var rl = readline.createInterface({
11 input: process.stdin,
12 output: process.stdout,
13});
14
15console.log('Enter a blank line to do xss(), enter "@quit" to exit.\n');
16
17function take(c, n) {
18 var ret = "";
19 for (var i = 0; i < n; i++) {
20 ret += c;
21 }
22 return ret;
23}
24
25function setPrompt(line) {
26 line = line.toString();
27 rl.setPrompt("[" + line + "]" + take(" ", 5 - line.length));
28 rl.prompt();
29}
30
31setPrompt(1);
32
33var html = [];
34rl.on("line", function (line) {
35 if (line === "@quit") return process.exit();
36 if (line === "") {
37 console.log("");
38 console.log(xss(html.join("\r\n")));
39 console.log("");
40 html = [];
41 } else {
42 html.push(line);
43 }
44 setPrompt(html.length + 1);
45});