| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | var _a = require("./mod.js"), closest = _a.closest, distance = _a.distance;var levenshtein = function (a, b) {    if (a.length === 0) {        return b.length;    }    if (b.length === 0) {        return a.length;    }    if (a.length > b.length) {        var tmp = a;        a = b;        b = tmp;    }    var row = [];    for (var i = 0; i <= a.length; i++) {        row[i] = i;    }    for (var i = 1; i <= b.length; i++) {        var prev = i;        for (var j = 1; j <= a.length; j++) {            var val = 0;            if (b.charAt(i - 1) === a.charAt(j - 1)) {                val = row[j - 1];            }            else {                val = Math.min(row[j - 1] + 1, prev + 1, row[j] + 1);            }            row[j - 1] = prev;            prev = val;        }        row[a.length] = prev;    }    return row[a.length];};var makeid = function (length) {    var result = "";    var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";    var charactersLength = characters.length;    for (var i = 0; i < length; i++) {        result += characters.charAt(Math.floor(Math.random() * charactersLength));    }    return result;};for (var i = 0; i < 10000; i++) {    var rnd_num1 = (Math.random() * 1000) | 0;    var rnd_num2 = (Math.random() * 1000) | 0;    var rnd_string1 = makeid(rnd_num1);    var rnd_string2 = makeid(rnd_num2);    var actual = distance(rnd_string1, rnd_string2);    var expected = levenshtein(rnd_string1, rnd_string2);    console.log(i);    if (actual !== expected) {        console.log("fail");    }}
 |