Skip to content

Commit

Permalink
remove unused case, add more optimization for multiple patterns
Browse files Browse the repository at this point in the history
  • Loading branch information
kbrsh committed May 22, 2017
1 parent 74b9bc4 commit 60feaf9
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 43 deletions.
69 changes: 48 additions & 21 deletions dist/wade.js
Expand Up @@ -36,32 +36,30 @@

var match = false;

if(itemLength !== 0) {
while(i < length) {
for(var j = itemLength - 1; j >= 0; j--) {
var char = item[j];
var target = data[j + i];

if(char === target) {
match = true;
while(i < length) {
for(var j = itemLength - 1; j >= 0; j--) {
var char = item[j];
var target = data[j + i];

if(char === target) {
match = true;
} else {
var shift = table[target];

if(shift === undefined) {
i += j + 1;
} else {
var shift = table[target];

if(shift === undefined) {
i += j + 1;
} else {
i += shift;
}

match = false;
break;
i += shift;
}
}

if(match === true) {
break;
match = false;
break;
}
}

if(match === true) {
break;
}
}

return match;
Expand All @@ -81,6 +79,25 @@
}
}

var addMultiplePatternTable = function(table, trie) {

}

var containsMultiplePatterns = function(items, trie, table, data) {
var dataLength = data.length;

var i = 0;
var length = dataLength - itemLength + 1;

var match = false;

while(i < length) {
i++;
}

return match;
}

var lowercase = function(str) {
return str.toLowerCase();
}
Expand Down Expand Up @@ -135,9 +152,19 @@
}
} else {
var trie = {};
var table = {};
for(var i = 0; i < keywordsLength; i++) {
addMultiplePatternTrie(trie, i, keywords[i]);
}
addMultiplePatternTable(table, trie);
for(var i = 0; i < dataLength; i++) {
if(containsMultiplePatterns(keywords[i], trie, table, data[i]) === true) {
results.push({
index: i,
score: 1
});
}
}
}

return results;
Expand Down
2 changes: 1 addition & 1 deletion dist/wade.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

69 changes: 48 additions & 21 deletions src/index.js
Expand Up @@ -26,32 +26,30 @@ var containsPattern = function(item, itemLength, table, data) {

var match = false;

if(itemLength !== 0) {
while(i < length) {
for(var j = itemLength - 1; j >= 0; j--) {
var char = item[j];
var target = data[j + i];

if(char === target) {
match = true;
while(i < length) {
for(var j = itemLength - 1; j >= 0; j--) {
var char = item[j];
var target = data[j + i];

if(char === target) {
match = true;
} else {
var shift = table[target];

if(shift === undefined) {
i += j + 1;
} else {
var shift = table[target];

if(shift === undefined) {
i += j + 1;
} else {
i += shift;
}

match = false;
break;
i += shift;
}
}

if(match === true) {
break;
match = false;
break;
}
}

if(match === true) {
break;
}
}

return match;
Expand All @@ -71,6 +69,25 @@ var addMultiplePatternTrie = function(parent, id, item) {
}
}

var addMultiplePatternTable = function(table, trie) {

}

var containsMultiplePatterns = function(items, trie, table, data) {
var dataLength = data.length;

var i = 0;
var length = dataLength - itemLength + 1;

var match = false;

while(i < length) {
i++;
}

return match;
}

var lowercase = function(str) {
return str.toLowerCase();
}
Expand Down Expand Up @@ -125,9 +142,19 @@ var Wade = function(data) {
}
} else {
var trie = {};
var table = {};
for(var i = 0; i < keywordsLength; i++) {
addMultiplePatternTrie(trie, i, keywords[i]);
}
addMultiplePatternTable(table, trie);
for(var i = 0; i < dataLength; i++) {
if(containsMultiplePatterns(keywords[i], trie, table, data[i]) === true) {
results.push({
index: i,
score: 1
});
}
}
}

return results;
Expand Down

0 comments on commit 60feaf9

Please sign in to comment.