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