2 Commits

3 changed files with 9 additions and 5 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "smartfuzzy", "name": "smartfuzzy",
"version": "1.1.0", "version": "1.1.1",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/smartfuzzy", "name": "@pushrocks/smartfuzzy",
"version": "1.1.0", "version": "1.1.1",
"private": false, "private": false,
"description": "fuzzy match strings against word dictionaries/arrays", "description": "fuzzy match strings against word dictionaries/arrays",
"main": "dist/index.js", "main": "dist/index.js",

View File

@ -34,7 +34,7 @@ export class Smartfuzzy {
return dictionaryMap; return dictionaryMap;
} }
getClosestMatchForString(stringArg: string) { getClosestMatchForString(stringArg: string): string {
const fuseDictionary: { name: string }[] = []; const fuseDictionary: { name: string }[] = [];
for (const wordArg of this.dictionary) { for (const wordArg of this.dictionary) {
fuseDictionary.push({ fuseDictionary.push({
@ -51,7 +51,11 @@ export class Smartfuzzy {
keys: ['name'] keys: ['name']
}; };
const fuse = new plugins.fuseJs(fuseDictionary, fuseOptions); const fuse = new plugins.fuseJs(fuseDictionary, fuseOptions);
const result = fuse.search(stringArg); const fuzzyResult = fuse.search(stringArg);
return result; let closestMatch: string = null;
if(fuzzyResult.length > 0) {
closestMatch = fuzzyResult[0].name;
}
return closestMatch;
} }
} }