| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-present eyeo GmbH | 3  * Copyright (C) 2006-present eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU General Public License | 14  * You should have received a copy of the GNU General Public License | 
| 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| 16  */ | 16  */ | 
| 17 | 17 | 
| 18 "use strict"; | 18 "use strict"; | 
| 19 | 19 | 
| 20 /** | 20 /** | 
| 21  * @fileOverview Matcher class implementing matching addresses against | 21  * @fileOverview Matcher class implementing matching addresses against | 
| 22  *               a list of filters. | 22  *               a list of filters. | 
| 23  */ | 23  */ | 
| 24 | 24 | 
| 25 const {Filter, WhitelistFilter} = require("./filterClasses"); | 25 import {Filter, WhitelistFilter} from "./filterClasses"; | 
| 26 | 26 | 
| 27 /** | 27 /** | 
| 28  * Blacklist/whitelist filter matching | 28  * Blacklist/whitelist filter matching | 
| 29  * @constructor | 29  * @constructor | 
| 30  */ | 30  */ | 
| 31 function Matcher() | 31 export function Matcher() | 
| 32 { | 32 { | 
| 33   this.clear(); | 33   this.clear(); | 
| 34 } | 34 } | 
| 35 exports.Matcher = Matcher; |  | 
| 36 | 35 | 
| 37 Matcher.prototype = { | 36 Matcher.prototype = { | 
| 38   /** | 37   /** | 
| 39    * Lookup table for filters by their associated keyword | 38    * Lookup table for filters by their associated keyword | 
| 40    * @type {Map.<string,Filter>} | 39    * @type {Map.<string,Filter>} | 
| 41    */ | 40    */ | 
| 42   filterByKeyword: null, | 41   filterByKeyword: null, | 
| 43 | 42 | 
| 44   /** | 43   /** | 
| 45    * Lookup table for keywords by the filter | 44    * Lookup table for keywords by the filter | 
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 237     return null; | 236     return null; | 
| 238   } | 237   } | 
| 239 }; | 238 }; | 
| 240 | 239 | 
| 241 /** | 240 /** | 
| 242  * Combines a matcher for blocking and exception rules, automatically sorts | 241  * Combines a matcher for blocking and exception rules, automatically sorts | 
| 243  * rules into two Matcher instances. | 242  * rules into two Matcher instances. | 
| 244  * @constructor | 243  * @constructor | 
| 245  * @augments Matcher | 244  * @augments Matcher | 
| 246  */ | 245  */ | 
| 247 function CombinedMatcher() | 246 export function CombinedMatcher() | 
| 248 { | 247 { | 
| 249   this.blacklist = new Matcher(); | 248   this.blacklist = new Matcher(); | 
| 250   this.whitelist = new Matcher(); | 249   this.whitelist = new Matcher(); | 
| 251   this.resultCache = Object.create(null); | 250   this.resultCache = Object.create(null); | 
| 252 } | 251 } | 
| 253 exports.CombinedMatcher = CombinedMatcher; |  | 
| 254 | 252 | 
| 255 /** | 253 /** | 
| 256  * Maximal number of matching cache entries to be kept | 254  * Maximal number of matching cache entries to be kept | 
| 257  * @type {number} | 255  * @type {number} | 
| 258  */ | 256  */ | 
| 259 CombinedMatcher.maxCacheEntries = 1000; | 257 CombinedMatcher.maxCacheEntries = 1000; | 
| 260 | 258 | 
| 261 CombinedMatcher.prototype = | 259 CombinedMatcher.prototype = | 
| 262 { | 260 { | 
| 263   /** | 261   /** | 
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 440     this.cacheEntries++; | 438     this.cacheEntries++; | 
| 441 | 439 | 
| 442     return result; | 440     return result; | 
| 443   } | 441   } | 
| 444 }; | 442 }; | 
| 445 | 443 | 
| 446 /** | 444 /** | 
| 447  * Shared CombinedMatcher instance that should usually be used. | 445  * Shared CombinedMatcher instance that should usually be used. | 
| 448  * @type {CombinedMatcher} | 446  * @type {CombinedMatcher} | 
| 449  */ | 447  */ | 
| 450 exports.defaultMatcher = new CombinedMatcher(); | 448 export let defaultMatcher = new CombinedMatcher(); | 
| OLD | NEW | 
|---|