From 58d908785f31ad99cd27604ba8a8831c26aee6e3 Mon Sep 17 00:00:00 2001 From: Gopal Shah Date: Mon, 22 May 2017 19:03:21 -0700 Subject: [PATCH] correctly tokenize strings --- dist/wade.js | 20 +++++++++++++++++--- dist/wade.min.js | 2 +- src/index.js | 20 +++++++++++++++++--- 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/dist/wade.js b/dist/wade.js index 801aee7..e556edd 100644 --- a/dist/wade.js +++ b/dist/wade.js @@ -77,6 +77,20 @@ } } + var getWords = function(str) { + var lastIndex = str.length - 1; + + if(str[0] === " ") { + str = str.substring(1); + } + + if(str[lastIndex] === " ") { + str = str.substring(0, lastIndex); + } + + return str.split(" "); + } + var lowercase = function(str) { return str.toLowerCase(); } @@ -86,7 +100,7 @@ } var removeStopWords = function(str) { - var words = str.split(" "); + var words = getWords(str); for(var i = 0; i < words.length; i++) { if(stopWords.indexOf(words[i]) !== -1) { @@ -100,7 +114,7 @@ var Wade = function(data) { var search = function(item) { var index = search.index; - var keywords = Wade.process(item).split(" "); + var keywords = getWords(Wade.process(item)); var keywordsLength = keywords.length; var fullwordsLength = keywordsLength - 1; var scoreIncrement = 1 / keywordsLength; @@ -141,7 +155,7 @@ Wade.index = function(data) { var index = {}; for(var i = 0; i < data.length; i++) { - var str = data[i].split(" "); + var str = getWords(data[i]); for(var j = 0; j < str.length; j++) { var item = str[j]; var itemLength = item.length - 1; diff --git a/dist/wade.min.js b/dist/wade.min.js index be5c475..80b7039 100644 --- a/dist/wade.min.js +++ b/dist/wade.min.js @@ -3,4 +3,4 @@ * Copyright 2017 Kabir Shah * Released under the MIT License */ -!function(e,o){"object"==typeof module&&module.exports?module.exports=o():e.Wade=o()}(this,function(){var e=["about","after","all","also","am","an","and","another","any","are","as","at","be","because","been","before","being","between","both","but","by","came","can","come","could","did","do","each","for","from","get","got","has","had","he","have","her","here","him","himself","his","how","if","in","into","is","it","like","make","many","me","might","more","most","much","must","my","never","now","of","on","only","or","other","our","out","over","said","same","see","should","since","some","still","such","take","than","that","the","their","them","then","there","these","they","this","those","through","to","too","under","up","very","was","way","we","well","were","what","where","which","while","who","with","would","you","your","a","i"],o=/\.|\,|\!/g,n=function(e,o){for(var n=o,r=0;r