diff --git a/src/index.ts b/src/index.ts index 7972c0e..317ac3f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -196,23 +196,26 @@ function getMatchRanking( testString = testString.toLowerCase() stringToRank = stringToRank.toLowerCase() + // Use indexOf to check for equality/includes + const indexOfStringToRankInTestString = testString.indexOf(stringToRank) + // case insensitive equals - if (testString === stringToRank) { + if (testString.length === stringToRank.length && indexOfStringToRankInTestString === 0) { return rankings.EQUAL } // starts with - if (testString.startsWith(stringToRank)) { + if (indexOfStringToRankInTestString === 0) { return rankings.STARTS_WITH } // word starts with - if (testString.includes(` ${stringToRank}`)) { + if (indexOfStringToRankInTestString > 0 && testString[indexOfStringToRankInTestString-1] === ' ') { return rankings.WORD_STARTS_WITH } // contains - if (testString.includes(stringToRank)) { + if (indexOfStringToRankInTestString > 0) { return rankings.CONTAINS } else if (stringToRank.length === 1) { // If the only character in the given stringToRank