Index: abp2blocklist.js |
=================================================================== |
--- a/abp2blocklist.js |
+++ b/abp2blocklist.js |
@@ -17,33 +17,34 @@ |
"use strict"; |
let readline = require("readline"); |
let Filter = require("filterClasses").Filter; |
let ContentBlockerList = require("./lib/abp2blocklist.js").ContentBlockerList; |
var rl = readline.createInterface({input: process.stdin, terminal: false}); |
-var blockerList = new ContentBlockerList(); |
+var blockerList = new ContentBlockerList({merge: "all"}); |
rl.on("line", line => |
{ |
if (/^\s*[^\[\s]/.test(line)) |
blockerList.addFilter(Filter.fromText(Filter.normalize(line))); |
}); |
rl.on("close", () => |
{ |
- let rules = blockerList.generateRules(); |
- |
- // If the rule set is too huge, JSON.stringify throws |
- // "RangeError: Invalid string length" on Node.js. As a workaround, print |
- // each rule individually. |
- console.log("["); |
- if (rules.length > 0) |
+ blockerList.generateRules().then(rules => |
{ |
- let stringifyRule = rule => JSON.stringify(rule, null, "\t"); |
- for (let i = 0; i < rules.length - 1; i++) |
- console.log(stringifyRule(rules[i]) + ","); |
- console.log(stringifyRule(rules[rules.length - 1])); |
- } |
- console.log("]"); |
+ // If the rule set is too huge, JSON.stringify throws |
+ // "RangeError: Invalid string length" on Node.js. As a workaround, print |
+ // each rule individually. |
+ console.log("["); |
+ if (rules.length > 0) |
+ { |
+ let stringifyRule = rule => JSON.stringify(rule, null, "\t"); |
+ for (let i = 0; i < rules.length - 1; i++) |
+ console.log(stringifyRule(rules[i]) + ","); |
+ console.log(stringifyRule(rules[rules.length - 1])); |
+ } |
+ console.log("]"); |
+ }); |
}); |