()
| 167 | } |
| 168 | |
| 169 | function start() { |
| 170 | /** |
| 171 | * Initialize the JSON provider object keys. |
| 172 | * |
| 173 | * @param {object} obj |
| 174 | */ |
| 175 | function getKeys(obj) { |
| 176 | for (const key in obj) { |
| 177 | prvKeys.push(key); |
| 178 | } |
| 179 | } |
| 180 | |
| 181 | /** |
| 182 | * Initialize the providers form the JSON object. |
| 183 | * |
| 184 | */ |
| 185 | function createProviders() { |
| 186 | let data = storage.ClearURLsData; |
| 187 | |
| 188 | for (let p = 0; p < prvKeys.length; p++) { |
| 189 | //Create new provider |
| 190 | providers.push(new Provider(prvKeys[p], data.providers[prvKeys[p]].getOrDefault('completeProvider', false), |
| 191 | data.providers[prvKeys[p]].getOrDefault('forceRedirection', false))); |
| 192 | |
| 193 | //Add URL Pattern |
| 194 | providers[p].setURLPattern(data.providers[prvKeys[p]].getOrDefault('urlPattern', '')); |
| 195 | |
| 196 | let rules = data.providers[prvKeys[p]].getOrDefault('rules', []); |
| 197 | //Add rules to provider |
| 198 | for (let r = 0; r < rules.length; r++) { |
| 199 | providers[p].addRule(rules[r]); |
| 200 | } |
| 201 | |
| 202 | let rawRules = data.providers[prvKeys[p]].getOrDefault('rawRules', []); |
| 203 | //Add raw rules to provider |
| 204 | for (let raw = 0; raw < rawRules.length; raw++) { |
| 205 | providers[p].addRawRule(rawRules[raw]); |
| 206 | } |
| 207 | |
| 208 | let referralMarketingRules = data.providers[prvKeys[p]].getOrDefault('referralMarketing', []); |
| 209 | //Add referral marketing rules to provider |
| 210 | for (let referralMarketing = 0; referralMarketing < referralMarketingRules.length; referralMarketing++) { |
| 211 | providers[p].addReferralMarketing(referralMarketingRules[referralMarketing]); |
| 212 | } |
| 213 | |
| 214 | let exceptions = data.providers[prvKeys[p]].getOrDefault('exceptions', []); |
| 215 | //Add exceptions to provider |
| 216 | for (let e = 0; e < exceptions.length; e++) { |
| 217 | providers[p].addException(exceptions[e]); |
| 218 | } |
| 219 | |
| 220 | let redirections = data.providers[prvKeys[p]].getOrDefault('redirections', []); |
| 221 | //Add redirections to provider |
| 222 | for (let re = 0; re < redirections.length; re++) { |
| 223 | providers[p].addRedirection(redirections[re]); |
| 224 | } |
| 225 | |
| 226 | let methods = data.providers[prvKeys[p]].getOrDefault('methods', []); |
no test coverage detected