forked from hiddentao/fast-levenshtein
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlevenshtein.min.js
2 lines (2 loc) · 1.66 KB
/
levenshtein.min.js
1
2
/*! fast-levenshtein 2016-07-22. Copyright Ramesh Nair <[email protected]> (http://www.hiddentao.com/) */
!function(){"use strict";var a=function(a){for(var b=Array.prototype.slice.call(arguments,1),c=0;c<b.length;++c){var d=b[c];for(var e in d)d.hasOwnProperty(e)&&(a[e]=d[e])}return a},b=function(a){return"function"==typeof setImmediate?setImmediate(a):setTimeout(a,0)},c={get:function(a,b){if(a===b)return 0;if(0===a.length)return b.length;if(0===b.length)return a.length;var c,d,e,f,g,h=new Array(b.length+1);for(e=0;e<h.length;++e)h[e]=e;for(e=0;e<a.length;++e){for(d=e+1,f=0;f<b.length;++f)c=d,d=h[f]+(a.charAt(e)===b.charAt(f)?0:1),g=c+1,d>g&&(d=g),g=h[f+1]+1,d>g&&(d=g),h[f]=c;h[f]=d}return d},getAsync:function(c,d,e,f){if(f=a({},{progress:null},f),c===d)return e(null,0);if(0===c.length)return e(null,d.length);if(0===d.length)return e(null,c.length);var g,h,i,j,k,l,m,n=new Array(d.length+1);for(i=0;i<n.length;++i)n[i]=i;h=1,i=0,j=-1;var o=function(){for(l=(new Date).valueOf(),m=l;1e3>m-l;){if(d.length<=++j){if(n[j]=h,c.length<=++i)return e(null,h);h=i+1,j=0}g=h,h=n[j]+(c.charAt(i)===d.charAt(j)?0:1),k=g+1,h>k&&(h=k),k=n[j+1]+1,h>k&&(h=k),n[j]=g,m=(new Date).valueOf()}if(null!==f.progress)try{f.progress.call(null,100*i/c.length)}catch(a){return e("Progress callback: "+a.toString())}b(o)};o()}};"undefined"!=typeof define&&null!==define&&define.amd?define(function(){return c}):"undefined"!=typeof module&&null!==module&&"undefined"!=typeof exports&&module.exports===exports?module.exports=c:"undefined"!=typeof self&&"function"==typeof self.postMessage&&"function"==typeof self.importScripts?self.Levenshtein=c:"undefined"!=typeof window&&null!==window&&(window.Levenshtein=c)}();