From e4e3d62f5ac637b0f2db792967abca561c8e8c75 Mon Sep 17 00:00:00 2001 From: Julien Herr Date: Mon, 25 May 2026 08:38:46 +0200 Subject: [PATCH] refactor(domain): clearer diacritics escape + hasKeyword boolean Co-Authored-By: Claude Sonnet 4.6 --- src/domain/confirmation.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/domain/confirmation.ts b/src/domain/confirmation.ts index 44208da..3c5fa2d 100644 --- a/src/domain/confirmation.ts +++ b/src/domain/confirmation.ts @@ -79,8 +79,8 @@ function matchesAny(haystack: string, needles: string[]): boolean { return needles.some((n) => haystack.includes(n)); } -function keywordHits(haystack: string): number { - return KEYWORDS.reduce((n, kw) => (haystack.includes(kw) ? n + 1 : n), 0); +function hasKeyword(haystack: string): boolean { + return KEYWORDS.some((kw) => haystack.includes(kw)); } function linkScore(href: string, text: string): number { @@ -113,8 +113,8 @@ export function detectConfirmation( const subject = stripNegatives(normalize(input.subject)); const text = stripNegatives(normalize(input.text)); - const subjectScore = keywordHits(subject) > 0 ? 2 : 0; - const bodyScore = keywordHits(text) > 0 ? 1 : 0; + const subjectScore = hasKeyword(subject) ? 2 : 0; + const bodyScore = hasKeyword(text) ? 1 : 0; const bestLinkScore = candidates[0].score; const score = subjectScore + bodyScore + bestLinkScore;