From 6ba94afb68102f4af433b950088951f1c9fee1db Mon Sep 17 00:00:00 2001 From: Michael Brevard Date: Sat, 15 Mar 2025 19:58:34 +0200 Subject: [PATCH] perf: better string operations on fake domain check --- index.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index 0d388623c..2724d8f5b 100644 --- a/index.js +++ b/index.js @@ -21,11 +21,12 @@ function hostnameFromEmailAddress(email) { function isFakeDomain(domain, json = false) { if (!json) json = static_json_v1 - for (let dom of Object.keys(json.domains)) { - // exact match - if (dom === domain.toLowerCase().trim()) return dom + const normalizedDomain = domain.toLowerCase().trim() + // exact match + if (json.domains[normalizedDomain]) return normalizedDomain + for (const dom in json.domains) { // subdomain match - if (domain.search(new RegExp(`.+\\.${dom}`)) === 0) return dom + if (new RegExp(`${dom}$`).test(normalizedDomain)) return dom } return false }