Feat: salvage more bad syntax from adguard

This commit is contained in:
SukkaW 2024-09-23 10:11:13 +08:00
parent b2a1fc47e6
commit c198e371ec

View File

@ -292,6 +292,7 @@ const kwfilter = createKeywordFilter([
'$removeparam',
'$popunder',
'$cname',
'$frame',
// some bad syntax
'^popup'
]);
@ -307,7 +308,7 @@ export function parse($line: string, result: [string, ParseType], allowThirdPart
return result;
}
const line = $line.trim();
let line = $line.trim();
/** @example line.length */
const len = line.length;
@ -415,11 +416,17 @@ export function parse($line: string, result: [string, ParseType], allowThirdPart
* `://o0e.ru^$third-party`
* `.1.1.1.l80.js^$third-party`
*/
if (line.includes('$third-party') || line.includes('$frame')) {
if (line.includes('$third-party')) {
if (!allowThirdParty) {
result[1] = ParseType.Null;
return result;
}
line = line
.replace('$third-party,', '$')
.replace('$third-party', '');
}
/** @example line.endsWith('^') */
const lineEndsWithCaret = lastCharCode === 94; // lastChar === '^';
/** @example line.endsWith('^|') */