Skip to content

Commit ce0208b

Browse files
committed
refactor regex
1 parent 08d276c commit ce0208b

File tree

1 file changed

+37
-15
lines changed

1 file changed

+37
-15
lines changed

src/ts/ytcf-logic.ts

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,18 @@ export function shouldFilterMessage(action: Chat.MessageAction): boolean {
6262
if (!condition.value) {
6363
numValidFilters--;
6464
} else {
65-
try {
66-
const regex = parseRegex(condition.value);
67-
const result = regex.test(compStr);
68-
if (result === condition.invert) {
69-
break;
70-
}
71-
} catch (e) {
72-
console.error(e);
65+
// try {
66+
// const regex = parseRegex(condition.value);
67+
// const result = regex.test(compStr);
68+
// if (result === condition.invert) {
69+
// break;
70+
// }
71+
// } catch (e) {
72+
// console.error(e);
73+
// break;
74+
// }
75+
const { result, error } = testRegex(condition.value, compStr);
76+
if (error || result === condition.invert) {
7377
break;
7478
}
7579
}
@@ -84,6 +88,22 @@ export function shouldFilterMessage(action: Chat.MessageAction): boolean {
8488
return false;
8589
}
8690

91+
export const testRegex = (expression: string, value: string): { result: boolean; error: Error | false; } => {
92+
try {
93+
const regex = parseRegex(expression);
94+
return {
95+
result: regex.test(value),
96+
error: false
97+
};
98+
} catch (e) {
99+
console.error(e);
100+
return {
101+
result: false,
102+
error: e as Error
103+
};
104+
}
105+
}
106+
87107
export function shouldActivatePreset(preset: YtcF.FilterPreset, info: SimpleVideoInfo): boolean {
88108
for (const trigger of preset.triggers) {
89109
let compStr = '';
@@ -111,13 +131,15 @@ export function shouldActivatePreset(preset: YtcF.FilterPreset, info: SimpleVide
111131
const result = s1[trigger.type](s2);
112132
if (result) return true;
113133
} else {
114-
try {
115-
const regex = parseRegex(trigger.value);
116-
const result = regex.test(compStr);
117-
if (result) return true;
118-
} catch (e) {
119-
console.error(e);
120-
}
134+
// try {
135+
// const regex = parseRegex(trigger.value);
136+
// const result = regex.test(compStr);
137+
// if (result) return true;
138+
// } catch (e) {
139+
// console.error(e);
140+
// }
141+
const { result } = testRegex(trigger.value, compStr);
142+
if (result) return true;
121143
}
122144
}
123145
return false;

0 commit comments

Comments
 (0)