Socket
Socket
Sign inDemoInstall

fast-levenshtein

Package Overview
Dependencies
0
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.2 to 1.0.3

2

bower.json
{
"name": "fast-levenshtein",
"version": "1.0.2",
"version": "1.0.3",
"homepage": "https://github.com/hiddentao/fast-levenshtein",

@@ -5,0 +5,0 @@ "authors": [

@@ -43,3 +43,3 @@ (function() {

var prevRow = new Array(str2.length + 1),
curCol, nextCol, i, j;
curCol, nextCol, i, j, tmp;

@@ -61,8 +61,10 @@ // initialise previous row

// insertion
if (nextCol > curCol + 1) {
nextCol = curCol + 1;
tmp = curCol + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
// deletion
else if (nextCol > prevRow[j + 1] + 1) {
nextCol = prevRow[j + 1] + 1;
tmp = prevRow[j + 1] + 1;
if (nextCol > tmp) {
nextCol = tmp;
}

@@ -103,3 +105,4 @@

curCol, nextCol,
i, j, startTime, currentTime;
i, j, tmp,
startTime, currentTime;

@@ -144,8 +147,10 @@ // initialise previous row

// insertion
if (nextCol > curCol + 1) {
nextCol = curCol + 1;
tmp = curCol + 1;
if (nextCol > tmp) {
nextCol = tmp;
}
// deletion
else if (nextCol > prevRow[j + 1] + 1) {
nextCol = prevRow[j + 1] + 1;
tmp = prevRow[j + 1] + 1;
if (nextCol > tmp) {
nextCol = tmp;
}

@@ -152,0 +157,0 @@

/*! fast-levenshtein 2014-07-10. Copyright Ramesh Nair <ram@hiddentao.com> (http://www.hiddentao.com/) */
(function(){"use strict";var e=function(e){for(var n=Array.prototype.slice.call(arguments,1),r=0;n.length>r;++r){var t=n[r];for(var l in t)t.hasOwnProperty(l)&&(e[l]=t[l])}return e},n={get:function(e,n){if(e===n)return 0;if(0===e.length)return n.length;if(0===n.length)return e.length;var r,t,l,u,f=Array(n.length+1);for(l=0;f.length>l;++l)f[l]=l;for(l=0;e.length>l;++l){for(t=l+1,u=0;n.length>u;++u)r=t,t=f[u]+(e.charAt(l)===n.charAt(u)?0:1),t>r+1?t=r+1:t>f[u+1]+1&&(t=f[u+1]+1),f[u]=r;f[u]=t}return t},getAsync:function(n,r,t,l){if(l=e({},{progress:null},l),n===r)return t(null,0);if(0===n.length)return t(null,r.length);if(0===r.length)return t(null,n.length);var u,f,o,i,a,g,h=Array(r.length+1);for(o=0;h.length>o;++o)h[o]=o;f=1,o=0,i=-1;var c=function(){for(a=(new Date).valueOf(),g=a;1e3>g-a;){if(r.length<=++i){if(h[i]=f,n.length<=++o)return t(null,f);f=o+1,i=0}u=f,f=h[i]+(n.charAt(o)===r.charAt(i)?0:1),f>u+1?f=u+1:f>h[i+1]+1&&(f=h[i+1]+1),h[i]=u,g=(new Date).valueOf()}if(null!==l.progress)try{l.progress.call(null,100*o/n.length)}catch(e){return t("Progress callback: "+(""+e))}setTimeout(c(),0)};c()}};"undefined"!=typeof define&&null!==define&&define.amd?define(function(){return n}):"undefined"!=typeof module&&null!==module?module.exports=n:"undefined"!=typeof window&&null!==window&&(window.Levenshtein=n)})();
(function(){"use strict";var e=function(e){for(var n=Array.prototype.slice.call(arguments,1),r=0;n.length>r;++r){var t=n[r];for(var l in t)t.hasOwnProperty(l)&&(e[l]=t[l])}return e},n={get:function(e,n){if(e===n)return 0;if(0===e.length)return n.length;if(0===n.length)return e.length;var r,t,l,u,f,o=Array(n.length+1);for(l=0;o.length>l;++l)o[l]=l;for(l=0;e.length>l;++l){for(t=l+1,u=0;n.length>u;++u)r=t,t=o[u]+(e.charAt(l)===n.charAt(u)?0:1),f=r+1,t>f&&(t=f),f=o[u+1]+1,t>f&&(t=f),o[u]=r;o[u]=t}return t},getAsync:function(n,r,t,l){if(l=e({},{progress:null},l),n===r)return t(null,0);if(0===n.length)return t(null,r.length);if(0===r.length)return t(null,n.length);var u,f,o,i,a,g,h,c=Array(r.length+1);for(o=0;c.length>o;++o)c[o]=o;f=1,o=0,i=-1;var d=function(){for(g=(new Date).valueOf(),h=g;1e3>h-g;){if(r.length<=++i){if(c[i]=f,n.length<=++o)return t(null,f);f=o+1,i=0}u=f,f=c[i]+(n.charAt(o)===r.charAt(i)?0:1),a=u+1,f>a&&(f=a),a=c[i+1]+1,f>a&&(f=a),c[i]=u,h=(new Date).valueOf()}if(null!==l.progress)try{l.progress.call(null,100*o/n.length)}catch(e){return t("Progress callback: "+(""+e))}setTimeout(d(),0)};d()}};"undefined"!=typeof define&&null!==define&&define.amd?define(function(){return n}):"undefined"!=typeof module&&null!==module?module.exports=n:"undefined"!=typeof window&&null!==window&&(window.Levenshtein=n)})();
{
"name": "fast-levenshtein",
"version": "1.0.2",
"version": "1.0.3",
"description": "Efficient implementation of Levenshtein algorithm with asynchronous callback support",

@@ -5,0 +5,0 @@ "main": "levenshtein.js",

@@ -99,10 +99,10 @@ # fast-levenshtein - Levenshtein algorithm in Javascript

Running suite Implementation comparison [benchmark/speed.js]...
>> levenshtein-edit-distance x 385 ops/sec ±3.14% (87 runs sampled)
>> levenshtein-component x 369 ops/sec ±5.41% (72 runs sampled)
>> levenshtein-deltas x 216 ops/sec ±4.95% (65 runs sampled)
>> natural x 260 ops/sec ±1.57% (91 runs sampled)
>> levenshtein x 178 ops/sec ±2.17% (78 runs sampled)
>> fast-levenshtein x 1,985 ops/sec ±0.47% (100 runs sampled)
>> levenshtein-edit-distance x 234 ops/sec ±3.02% (73 runs sampled)
>> levenshtein-component x 422 ops/sec ±4.38% (83 runs sampled)
>> levenshtein-deltas x 283 ops/sec ±3.83% (78 runs sampled)
>> natural x 255 ops/sec ±0.76% (88 runs sampled)
>> levenshtein x 180 ops/sec ±3.55% (86 runs sampled)
>> fast-levenshtein x 1,792 ops/sec ±2.72% (95 runs sampled)
Benchmark done.
Fastest test is fast-levenshtein at 5.4x faster than levenshtein-component and levenshtein-edit-distance
Fastest test is fast-levenshtein at 4.2x faster than levenshtein-component
```

@@ -109,0 +109,0 @@

@@ -69,2 +69,3 @@ var _ = require('lodash'),

_.extend(tests, createTests('kitten', 'sitting', 3));
_.extend(tests, createTests('kitten', 'kttn', 2));

@@ -71,0 +72,0 @@ _.extend(tests, createTests('因為我是中國人所以我會說中文', '因為我是英國人所以我會說英文', 2, {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc