refactor: simplify exclude and required tests logic using helper function

This commit is contained in:
Viren070
2025-05-06 22:12:36 +01:00
parent c5e71ce78e
commit a12cf8abc1
+17 -38
View File
@@ -356,45 +356,24 @@ export class AIOStreams {
}
// generate array of excludeTests. for each regex, only add to array if the filename or indexers are defined
let excludeTests = [];
let requiredTests = [];
let excludeTests: (boolean | null)[] = [];
let requiredTests: (boolean | null)[] = [];
if (parsedStream.filename) {
excludeTests.push(
excludeRegex
? safeRegexTest(excludeRegex, parsedStream.filename)
: null,
excludeKeywordsRegex
? safeRegexTest(excludeKeywordsRegex, parsedStream.filename)
: null
);
requiredTests.push(
requiredRegex
? safeRegexTest(requiredRegex, parsedStream.filename)
: null,
requiredKeywordsRegex
? safeRegexTest(requiredKeywordsRegex, parsedStream.filename)
: null
);
}
if (parsedStream.indexers) {
excludeTests.push(
excludeRegex
? safeRegexTest(excludeRegex, parsedStream.indexers)
: null,
excludeKeywordsRegex
? safeRegexTest(excludeKeywordsRegex, parsedStream.indexers)
: null
);
requiredTests.push(
requiredRegex
? safeRegexTest(requiredRegex, parsedStream.indexers)
: null,
requiredKeywordsRegex
? safeRegexTest(requiredKeywordsRegex, parsedStream.indexers)
: null
);
}
const addToTests = (tests: any[], field: string | undefined) => {
if (field) {
tests.push(
excludeRegex ? safeRegexTest(excludeRegex, field) : null,
excludeKeywordsRegex
? safeRegexTest(excludeKeywordsRegex, field)
: null
);
}
};
addToTests(excludeTests, parsedStream.filename);
addToTests(excludeTests, parsedStream.indexers);
addToTests(requiredTests, parsedStream.filename);
addToTests(requiredTests, parsedStream.indexers);
// filter out any null values as these are when the regex is not defined
excludeTests = excludeTests.filter((test) => test !== null);