summaryrefslogtreecommitdiffstats
path: root/node_modules/xss/lib/cli.js
blob: 4aa075e7a50a3420308d27653cbd929546155003 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
 * 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);
});