diff --git a/packages/addon/src/addon.ts b/packages/addon/src/addon.ts index 12dc36be..689979fb 100644 --- a/packages/addon/src/addon.ts +++ b/packages/addon/src/addon.ts @@ -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);