mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-06 19:47:04 +03:00
Add not contains, not regex and regex ignore case
This commit is contained in:
@@ -28,7 +28,11 @@ export enum SkipRuleOperator {
|
|||||||
Equal = "==",
|
Equal = "==",
|
||||||
NotEqual = "!=",
|
NotEqual = "!=",
|
||||||
Contains = "*=",
|
Contains = "*=",
|
||||||
Regex = "~="
|
NotContains = "!*=",
|
||||||
|
Regex = "~=",
|
||||||
|
RegexIgnoreCase = "~i=",
|
||||||
|
NotRegex = "!~=",
|
||||||
|
NotRegexIgnoreCase = "!~i="
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AdvancedSkipRule {
|
export interface AdvancedSkipRule {
|
||||||
@@ -127,8 +131,16 @@ function isSkipRulePassing(segment: SponsorTime | VideoLabelsCacheData, rule: Ad
|
|||||||
return value !== rule.value;
|
return value !== rule.value;
|
||||||
case SkipRuleOperator.Contains:
|
case SkipRuleOperator.Contains:
|
||||||
return String(value).toLocaleLowerCase().includes(String(rule.value).toLocaleLowerCase());
|
return String(value).toLocaleLowerCase().includes(String(rule.value).toLocaleLowerCase());
|
||||||
|
case SkipRuleOperator.NotContains:
|
||||||
|
return !String(value).toLocaleLowerCase().includes(String(rule.value).toLocaleLowerCase());
|
||||||
case SkipRuleOperator.Regex:
|
case SkipRuleOperator.Regex:
|
||||||
return new RegExp(rule.value as string).test(String(value));
|
return new RegExp(rule.value as string).test(String(value));
|
||||||
|
case SkipRuleOperator.RegexIgnoreCase:
|
||||||
|
return new RegExp(rule.value as string, "i").test(String(value));
|
||||||
|
case SkipRuleOperator.NotRegex:
|
||||||
|
return !new RegExp(rule.value as string).test(String(value));
|
||||||
|
case SkipRuleOperator.NotRegexIgnoreCase:
|
||||||
|
return !new RegExp(rule.value as string, "i").test(String(value));
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user