Gathering detailed insights and metrics for fuzzyset
Gathering detailed insights and metrics for fuzzyset
Gathering detailed insights and metrics for fuzzyset
Gathering detailed insights and metrics for fuzzyset
npm install fuzzyset
97.3
Supply Chain
95
Quality
77.7
Maintenance
100
Vulnerability
93.1
License
Module System
Min. Node Version
Typescript Support
Node Version
NPM Version
1,370 Stars
83 Commits
105 Forks
26 Watching
3 Branches
7 Contributors
Updated on 22 Nov 2024
JavaScript (100%)
Cumulative downloads
Total Downloads
Last day
-54.7%
2,233
Compared to previous day
Last week
-28.1%
16,852
Compared to previous week
Last month
-13%
89,763
Compared to previous month
Last year
138.3%
841,238
Compared to previous year
Fuzzyset is a data structure that performs something akin to fulltext search against data to determine likely mispellings and approximate string matching.
The usage is simple. Just add a string to the set, and ask for it later
by using .get
:
1 a = FuzzySet(); 2 a.add("michael axiak"); 3 a.get("micael asiak"); 4 // will be [[0.8461538461538461, 'michael axiak']];
The result will be an array of [score, matched_value]
arrays.
The score is between 0 and 1, with 1 being a perfect match.
1npm install fuzzyset
(Used to be fuzzyset.js
.)
Then:
1import FuzzySet from 'fuzzyset' 2 3// or, depending on your JavaScript environment... 4 5const FuzzySet = require('fuzzyset')
Or for use directly on the web:
1<script type="text/javascript" src="dist/fuzzyset.js"></script>
This library should work just fine with TypeScript, too.
array
: An array of strings to initialize the data structure withuseLevenshtein
: Whether or not to use the levenshtein distance to determine the match scoring. Default: true
gramSizeLower
: The lower bound of gram sizes to use, inclusive (see interactive documentation). Default: 2
gramSizeUpper
: The upper bound of gram sizes to use, inclusive (see interactive documentation). Default: 3
get(value, [default], [minScore=.33])
: try to match a string to entries with a score of at least minScore (defaulted to .33), otherwise return null
or default
if it is given.add(value)
: add a value to the set returning false
if it is already in the set.length()
: return the number of items in the set.isEmpty()
: returns true if the set is empty.values()
: returns an array of the values in the set.To play with the library or see how it works internally, check out the amazing interactive documentation:
To contribute to the library, edit the lib/fuzzyset.js
file then run npm run build
to generate all the different file formats in the dist/
directory. Or run npm run dev
while developing to auto-build as you change files.
This package is licensed under the Prosperity Public License 3.0.
That means that this package is free to use for non-commercial projects — personal projects, public benefit projects, research, education, etc. (see the license for full details). If your project is commercial (even for internal use at your company), you have 30 days to try this package for free before you have to pay a one-time licensing fee of $42.
You can purchase a commercial license instantly here.
Why this license scheme? Since I quit tech to become a therapist, my income is much lower (due to the unjust costs of mental health care in the US, but don't get me started). I'm asking for paid licenses for Fuzzyset.js to support all the free work I've done on this project over the past 10 years (!) and so I can live a sustainable life in service of my therapy clients. If you're a small operation that would like to use Fuzzyset.js but can't swing the license cost, please reach out to me and we can work something out.
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
Reason
Found 1/29 approved changesets -- score normalized to 0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2024-11-25
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More