Files
js-xss/lib/cli.js

46 lines
842 B
JavaScript
Raw Permalink Normal View History

2012-09-19 13:02:59 +08:00
/**
2017-12-21 14:19:10 +08:00
* command line tool
2014-02-13 15:10:09 +08:00
*
2017-12-21 14:19:10 +08:00
* @author Zongmin Lei<leizongmin@gmail.com>
2012-09-19 13:02:59 +08:00
*/
2017-12-21 14:22:34 +08:00
var xss = require("./");
var readline = require("readline");
2012-09-19 13:02:59 +08:00
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
2012-09-19 13:02:59 +08:00
});
console.log('Enter a blank line to do xss(), enter "@quit" to exit.\n');
2017-12-21 14:22:34 +08:00
function take(c, n) {
var ret = "";
2015-12-23 12:29:40 +08:00
for (var i = 0; i < n; i++) {
ret += c;
}
return ret;
}
2017-12-21 14:22:34 +08:00
function setPrompt(line) {
2015-12-23 12:29:40 +08:00
line = line.toString();
2017-12-21 14:22:34 +08:00
rl.setPrompt("[" + line + "]" + take(" ", 5 - line.length));
2015-12-23 12:29:40 +08:00
rl.prompt();
}
2012-09-19 13:02:59 +08:00
2015-12-23 12:29:40 +08:00
setPrompt(1);
2012-09-19 13:02:59 +08:00
var html = [];
rl.on("line", function (line) {
2017-12-21 14:22:34 +08:00
if (line === "@quit") return process.exit();
if (line === "") {
console.log("");
console.log(xss(html.join("\r\n")));
console.log("");
2012-09-19 13:02:59 +08:00
html = [];
} else {
html.push(line);
}
2015-12-23 12:29:40 +08:00
setPrompt(html.length + 1);
2012-09-19 13:02:59 +08:00
});