| 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-2017 eyeo GmbH | 3  * Copyright (C) 2006-2017 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 const compiled = require("compiled"); | 20 const {Subscription, SpecialSubscription, DownloadableSubscription} = | 
| 21 for (let cls of [ | 21     require("compiled"); | 
| 22   "Subscription", "SpecialSubscription", "DownloadableSubscription" | 22 | 
| 23 ]) | 23 /** | 
| 24 { | 24  * This property allows iterating over the list of filters. It will delete | 
| 25   exports[cls] = compiled[cls]; | 25  * references automatically at the end of the current loop iteration. If you | 
| 26 } | 26  * need persistent references or element access by position you should use | 
|  | 27  * Subscription.filterAt() instead. | 
|  | 28  * @type {Iterable} | 
|  | 29  */ | 
|  | 30 Object.defineProperty(Subscription.prototype, "filters", { | 
|  | 31   enumerable: true, | 
|  | 32   get() | 
|  | 33   { | 
|  | 34     return { | 
|  | 35       [Symbol.iterator]: function*() | 
|  | 36       { | 
|  | 37         for (let i = 0, l = this.filterCount; i < l; i++) | 
|  | 38         { | 
|  | 39           let filter = this.filterAt(i); | 
|  | 40           try | 
|  | 41           { | 
|  | 42             yield filter; | 
|  | 43           } | 
|  | 44           finally | 
|  | 45           { | 
|  | 46             filter.delete(); | 
|  | 47           } | 
|  | 48         } | 
|  | 49       }.bind(this) | 
|  | 50     }; | 
|  | 51   } | 
|  | 52 }); | 
|  | 53 | 
|  | 54 exports.Subscription = Subscription; | 
|  | 55 exports.SpecialSubscription = SpecialSubscription; | 
|  | 56 exports.DownloadableSubscription = DownloadableSubscription; | 
| OLD | NEW | 
|---|