You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@nexucis/fuzzy

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nexucis/fuzzy - npm Package Compare versions

Comparing version
0.2.0
to
0.2.1
+1
-0
index.d.ts

@@ -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 +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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"}
{
"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",

@@ -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 @@