diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..39bc17f --- /dev/null +++ b/.babelrc @@ -0,0 +1,6 @@ +{ + "presets": ["es2015"], + "plugins": [ + "transform-runtime" + ] +} diff --git a/compare-strings.min.js b/compare-strings.min.js new file mode 100644 index 0000000..3189641 --- /dev/null +++ b/compare-strings.min.js @@ -0,0 +1,7 @@ +'use strict';var _map=require('babel-runtime/core-js/map');var _map2=_interopRequireDefault(_map);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}module.exports={compareTwoStrings:compareTwoStrings,findBestMatch:findBestMatch};function compareTwoStrings(first,second){first=first.replace(/\s+/g,'');second=second.replace(/\s+/g,'');if(!first.length&&!second.length)return 1;// if both are empty strings +if(!first.length||!second.length)return 0;// if only one is empty string +if(first===second)return 1;// identical +if(first.length===1&&second.length===1)return 0;// both are 1-letter strings +if(first.length<2||second.length<2)return 0;// if either is a 1-letter string +var firstBigrams=new _map2.default;for(var i=0;i0){firstBigrams.set(_bigram,_count-1);intersectionSize++}}return 2*intersectionSize/(first.length+second.length-2)}function findBestMatch(mainString,targetStrings){if(!areArgsValid(mainString,targetStrings))throw new Error('Bad arguments: First argument should be a string, second should be an array of strings');var ratings=[];var bestMatchIndex=0;for(var i=0;iratings[bestMatchIndex].rating){bestMatchIndex=i}}var bestMatch=ratings[bestMatchIndex];return{ratings:ratings,bestMatch:bestMatch,bestMatchIndex:bestMatchIndex}}function flattenDeep(arr){return Array.isArray(arr)?arr.reduce(function(a,b){return a.concat(flattenDeep(b))},[]):[arr]}function areArgsValid(mainString,targetStrings){if(typeof mainString!=='string')return false;if(!Array.isArray(targetStrings))return false;if(!targetStrings.length)return false;if(targetStrings.find(function(s){return typeof s!=='string'}))return false;return true}function letterPairs(str){var pairs=[];for(var i=0,max=str.length-1;i compare-strings.min.js", "test": "jasmine" }, "repository": { @@ -24,11 +25,14 @@ "levenshtein" ], "files": [ - "compare-strings.js" + "compare-strings.js", "compare-strings.min.js" ], "author": "Akash Kurdekar (http://untilfalse.com/)", "license": "ISC", "devDependencies": { + "babel-core": "^6.26.3", + "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-es2015": "^6.24.1", "jasmine": "^3.3.0" } }