@nexucis/fuzzy
Advanced tools
+1
-0
@@ -0,1 +1,2 @@ | ||
| export declare function score(intervals: FuzzyMatchingInterval[], strLength: number): number; | ||
| export interface FuzzyConfiguration { | ||
@@ -2,0 +3,0 @@ caseSensitive?: boolean; |
+36
-13
@@ -24,3 +24,3 @@ "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Fuzzy = void 0; | ||
| exports.Fuzzy = exports.score = void 0; | ||
| function escapeHTML(text) { | ||
@@ -42,9 +42,28 @@ return text.replace(/[&<>"']/g, (m) => { | ||
| } | ||
| function score(intervals) { | ||
| // score should be used to calculate the score based on the intervals created during the matching step. | ||
| // Here is how the score is determinated: | ||
| // 1. Consecutive characters should increase the score more than linearly | ||
| // 2. More there is a distance between the characters, higher it reduces the score | ||
| // For example, for the pattern 'abc', the following string are sorted by the highest score | ||
| // abcdef > defabc > abec > defabec | ||
| // Note: this function is exported only for testing purpose. | ||
| function score(intervals, strLength) { | ||
| let result = 0; | ||
| for (const interval of intervals) { | ||
| result = result + Math.pow((interval.to - interval.from + 1), 2); | ||
| for (let i = 0; i < intervals.length; i++) { | ||
| const currentInterval = intervals[i]; | ||
| let previousNotMatchingInterval = null; | ||
| if (i === 0 && currentInterval.from !== 0) { | ||
| previousNotMatchingInterval = { from: 0, to: currentInterval.from - 1 }; | ||
| } | ||
| if (i > 0) { | ||
| previousNotMatchingInterval = { from: intervals[i - 1].to + 1, to: currentInterval.from - 1 }; | ||
| } | ||
| if (previousNotMatchingInterval !== null) { | ||
| result = result - (previousNotMatchingInterval.to - previousNotMatchingInterval.from + 1) / strLength; | ||
| } | ||
| result = result + Math.pow((currentInterval.to - currentInterval.from + 1), 2); | ||
| } | ||
| return result; | ||
| } | ||
| exports.score = score; | ||
| class Fuzzy { | ||
@@ -62,2 +81,3 @@ constructor(conf) { | ||
| filter(pattern, list, conf) { | ||
| const shouldSort = (conf === null || conf === void 0 ? void 0 : conf.shouldSort) !== undefined ? conf.shouldSort : this.shouldSort; | ||
| let result = []; | ||
@@ -71,3 +91,3 @@ for (let i = 0; i < list.length; i++) { | ||
| } | ||
| if (this.shouldSort || (conf === null || conf === void 0 ? void 0 : conf.shouldSort)) { | ||
| if (shouldSort) { | ||
| result = result.sort((a, b) => { | ||
@@ -83,3 +103,5 @@ return b.score - a.score; | ||
| let localText = text; | ||
| if (!this.caseSensitive || ((conf === null || conf === void 0 ? void 0 : conf.caseSensitive) !== undefined && !conf.caseSensitive)) { | ||
| const caseSensitive = (conf === null || conf === void 0 ? void 0 : conf.caseSensitive) !== undefined ? conf.caseSensitive : this.caseSensitive; | ||
| const includeMatches = (conf === null || conf === void 0 ? void 0 : conf.includeMatches) !== undefined ? conf.includeMatches : this.includeMatches; | ||
| if (!caseSensitive) { | ||
| localPattern = localPattern.toLowerCase(); | ||
@@ -93,6 +115,6 @@ localText = localText.toLowerCase(); | ||
| original: text, | ||
| rendered: this.render(text, intervals), | ||
| rendered: this.render(text, intervals, conf), | ||
| score: Infinity, | ||
| }; | ||
| if (this.includeMatches || (conf === null || conf === void 0 ? void 0 : conf.includeMatches)) { | ||
| if (includeMatches) { | ||
| result.intervals = intervals; | ||
@@ -125,5 +147,5 @@ } | ||
| rendered: this.render(text, intervals, conf), | ||
| score: score(intervals), | ||
| score: score(intervals, text.length), | ||
| }; | ||
| if (this.includeMatches || (conf === null || conf === void 0 ? void 0 : conf.includeMatches)) { | ||
| if (includeMatches) { | ||
| result.intervals = intervals; | ||
@@ -137,2 +159,4 @@ } | ||
| let rendered = ''; | ||
| const pre = (conf === null || conf === void 0 ? void 0 : conf.pre) ? conf.pre : this.pre; | ||
| const post = (conf === null || conf === void 0 ? void 0 : conf.post) ? conf.post : this.post; | ||
| for (let i = 0; i < intervals.length; i++) { | ||
@@ -152,4 +176,2 @@ const currentInterval = intervals[i]; | ||
| const currentStr = this.extractSubString(text, currentInterval, conf); | ||
| const pre = (conf === null || conf === void 0 ? void 0 : conf.pre) ? conf.pre : this.pre; | ||
| const post = (conf === null || conf === void 0 ? void 0 : conf.post) ? conf.post : this.post; | ||
| rendered = rendered + previousStr + pre + currentStr + post; | ||
@@ -165,4 +187,5 @@ } | ||
| extractSubString(text, interval, conf) { | ||
| const shouldEscape = (conf === null || conf === void 0 ? void 0 : conf.escapeHTML) !== undefined ? conf.escapeHTML : this.escapeHTML; | ||
| let str = text.substr(interval.from, interval.to - interval.from + 1); | ||
| if (this.escapeHTML || (conf === null || conf === void 0 ? void 0 : conf.escapeHTML)) { | ||
| if (shouldEscape) { | ||
| str = escapeHTML(str); | ||
@@ -169,0 +192,0 @@ } |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@nexucis/fuzzy", | ||
| "version": "0.2.0", | ||
| "version": "0.2.1", | ||
| "description": "small, standalone fuzzy search / fuzzy filter. browser or node", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
+19
-1
@@ -56,3 +56,3 @@ Fuzzy | ||
| // [ | ||
| // {rendered: '<b>li</b>on', index: 0, score: 4, original: 'lion', intervales:[{from:0, to:2}]}, | ||
| // {rendered: 'lion', index: 0, score: 4, original: 'lion', intervales:[{from:0, to:2}]}, | ||
| // ] | ||
@@ -62,4 +62,22 @@ // | ||
| 4. Override locally the global configuration | ||
| ```typescript | ||
| import Fuzzy from '@nexucis/fuzzy' | ||
| const fuz = new Fuzzy({includeMatches: true}) | ||
| const list = ['lion', 'goat', 'mouse', 'dragon'] | ||
| console.log(fuz.filter('li', list), {includeMatches: false}) | ||
| // [ | ||
| // {rendered: 'lion', index: 0, score: 4, original: 'lion'}, | ||
| // ] | ||
| // | ||
| ``` | ||
| ## Available Options | ||
| **Note**: each option can be passed to the constructor or/and in each method exposed. | ||
| The options passed in the method take precedence over the one passed in the contructor. | ||
| ### caseSensitive | ||
@@ -66,0 +84,0 @@ |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
21484
15.53%219
12.31%129
16.22%3
50%