From 387e58a7146807063521fff10789ffe986348efd Mon Sep 17 00:00:00 2001 From: mikiher Date: Wed, 21 May 2025 09:57:44 +0300 Subject: [PATCH] Add levenshteinSimilarity function to utils --- server/utils/index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/utils/index.js b/server/utils/index.js index 9f7d961c..36962027 100644 --- a/server/utils/index.js +++ b/server/utils/index.js @@ -34,6 +34,14 @@ const levenshteinDistance = (str1, str2, caseSensitive = false) => { } module.exports.levenshteinDistance = levenshteinDistance +const levenshteinSimilarity = (str1, str2, caseSensitive = false) => { + const distance = levenshteinDistance(str1, str2, caseSensitive) + const maxLength = Math.max(str1.length, str2.length) + if (maxLength === 0) return 1 + return 1 - distance / maxLength +} +module.exports.levenshteinSimilarity = levenshteinSimilarity + module.exports.isObject = (val) => { return val !== null && typeof val === 'object' }