| 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("]"); |
| + }); |
| }); |