Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: lib/matcher.js

Issue 29715555: Issue 6447 - Switch to Harmony modules in lib/* (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Patch Set: Created March 6, 2018, 7:42 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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();
OLDNEW
« lib/common.js ('K') | « lib/filterStorage.js ('k') | lib/notification.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld