Index: abp2blocklist.js |
=================================================================== |
--- a/abp2blocklist.js |
+++ b/abp2blocklist.js |
@@ -27,10 +27,23 @@ |
rl.on("line", line => |
{ |
if (/^\s*[^\[\s]/.test(line)) |
blockerList.addFilter(Filter.fromText(Filter.normalize(line))); |
}); |
rl.on("close", () => |
{ |
- console.log(JSON.stringify(blockerList.generateRules(), null, "\t")); |
+ let rules = blockerList.generateRules(); |
+ |
+ // If the rule set is too huge, Node.js throws |
Manish Jethani
2017/06/24 14:54:15
This had to be done because of this change.
kzar
2017/07/07 11:40:13
So if the exception is thrown then only half the J
Manish Jethani
2017/07/08 05:33:59
If the exception is thrown the program crashes. Th
kzar
2017/07/10 12:33:07
Acknowledged.
|
+ // "RangeError: Invalid string length". 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("]"); |
}); |