summaryrefslogtreecommitdiffstats
path: root/node_modules/xss/lib/cli.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--node_modules/xss/lib/cli.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/node_modules/xss/lib/cli.js b/node_modules/xss/lib/cli.js
new file mode 100644
index 0000000..4aa075e
--- /dev/null
+++ b/node_modules/xss/lib/cli.js
@@ -0,0 +1,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);
+});