UNPKG

string-metric

Version:

Get string similarity in JavaScript or TypeScript

32 lines (31 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NormalizedLevenshtein = void 0; var Levenshtein_1 = require("./Levenshtein"); var utils_1 = require("./utils/utils"); var NormalizedLevenshtein = /** @class */ (function () { function NormalizedLevenshtein() { this.l = new Levenshtein_1.Levenshtein(); } NormalizedLevenshtein.prototype.distance = function (s1, s2) { if (utils_1.isNullOrUndefined(s1)) { throw new Error('s1 must neither be null nor undefined'); } if (utils_1.isNullOrUndefined(s2)) { throw new Error('s2 must neither be null nor undefined'); } if (s1 === s2) { return 0; } var mLen = Math.max(s1.length, s2.length); if (mLen === 0) { return 0; } return this.l.distance(s1, s2) / mLen; }; NormalizedLevenshtein.prototype.similarity = function (s1, s2) { return 1 - this.distance(s1, s2); }; return NormalizedLevenshtein; }()); exports.NormalizedLevenshtein = NormalizedLevenshtein;