string-comparison
Advanced tools
Comparing version 1.2.0 to 1.3.0
@@ -55,2 +55,7 @@ interface SortMatchResultType { | ||
declare class JaroWinkler extends Similarity { | ||
distance(pThanos: string, pRival: string): number; | ||
similarity(thanos: string, rival: string): number; | ||
} | ||
declare const output: { | ||
@@ -65,4 +70,5 @@ cosine: Cosine; | ||
metricLcs: MetricLCS; | ||
jaroWinkler: JaroWinkler; | ||
}; | ||
export { SortMatchResultType, output as default }; |
@@ -1,1 +0,1 @@ | ||
function t(t,e){if(e==null||e>t.length)e=t.length;for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function e(t){if(Array.isArray(t))return t}function r(e){if(Array.isArray(e))return t(e)}function n(t){if(t===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return t}function i(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(t,n.key,n)}}function o(t,e,r){if(e)a(t.prototype,e);if(r)a(t,r);return t}function u(t){u=Object.setPrototypeOf?Object.getPrototypeOf:function t(t){return t.__proto__||Object.getPrototypeOf(t)};return u(t)}function c(t,e){if(typeof e!=="function"&&e!==null){throw new TypeError("Super expression must either be null or a function")}t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:true,configurable:true}});if(e)v(t,e)}function l(t){if(typeof Symbol!=="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function f(t,e){var r=t==null?null:typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(r==null)return;var n=[];var i=true;var a=false;var o,u;try{for(r=r.call(t);!(i=(o=r.next()).done);i=true){n.push(o.value);if(e&&n.length===e)break}}catch(t){a=true;u=t}finally{try{if(!i&&r["return"]!=null)r["return"]()}finally{if(a)throw u}}return n}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(t,e){if(e&&(g(e)==="object"||typeof e==="function")){return e}return n(t)}function v(t,e){v=Object.setPrototypeOf||function t(t,e){t.__proto__=e;return t};return v(t,e)}function p(t,r){return e(t)||f(t,r)||b(t,r)||s()}function m(t){return r(t)||l(t)||b(t)||h()}function g(t){"@swc/helpers - typeof";return t&&typeof Symbol!=="undefined"&&t.constructor===Symbol?"symbol":typeof t}function b(e,r){if(!e)return;if(typeof e==="string")return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return t(e,r)}function d(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(t){return false}}function k(t){var e=d();return function r(){var r=u(t),n;if(e){var i=u(this).constructor;n=Reflect.construct(r,arguments,i)}else{n=r.apply(this,arguments)}return y(this,n)}}var T=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var O=function(t,e){for(var r in e)T(t,r,{get:e[r],enumerable:!0})},j=function(t,e,r,n){var i=true,a=false,o=undefined;if(e&&typeof e=="object"||typeof e=="function")try{var u=function(){var i=l.value;!A.call(t,i)&&i!==r&&T(t,i,{get:function(){return e[i]},enumerable:!(n=w(e,i))||n.enumerable})};for(var c=P(e)[Symbol.iterator](),l;!(i=(l=c.next()).done);i=true)u()}catch(t){a=true;o=t}finally{try{if(!i&&c.return!=null){c.return()}}finally{if(a){throw o}}}return t};var R=function(t){return j(T({},"__esModule",{value:!0}),t)};var S={};O(S,{default:function(){return G}});module.exports=R(S);var x=/*#__PURE__*/function(){"use strict";function t(){i(this,t)}o(t,[{key:"sortMatch",value:function e(e,r){var n=this;return t.checkThanosType(e),t.checkAvengersType(r),r.map(function(t,r){return{member:t,index:r,rating:n.similarity(e,t)}}).sort(function(t,e){return t.rating-e.rating})}}],[{key:"initParams",value:function t(t,e){return[t.replace(/\s+/g,"").toLowerCase(),e.replace(/\s+/g,"").toLowerCase()]}},{key:"checkThanosType",value:function t(t){if(typeof t!="string")throw new Error("first argument should be a string")}},{key:"checkRivalType",value:function t(t){if(typeof t!="string")throw new Error("second argument should be a string")}},{key:"checkAvengersType",value:function t(t){if(!Array.isArray(t))throw new Error("second argument should be an array of strings");if(t.find(function(t){return typeof t!="string"}))throw new Error("second argument should be an array of strings")}}]);return t}();var M=/*#__PURE__*/function(t){"use strict";c(r,t);var e=k(r);function r(){i(this,r);return e.apply(this,arguments)}o(r,[{key:"similarity",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var r=p(x.initParams(t,e),2),n=r[0],i=r[1];if(!n.length&&!i.length)return 1;if(!n.length||!i.length)return 0;if(n===i)return 1;var a=Array.from(new Set(n.split("").concat(i.split("")))),o=this.stringVectorization(n.split(""),a),u=this.stringVectorization(i.split(""),a),c=0,l=0,f=0;for(var s=0;s<o.length;++s)c+=o[s]*u[s],l+=o[s]*o[s],f+=u[s]*u[s];return l=Math.sqrt(l),f=Math.sqrt(f),Number(c)/(l*f)}},{key:"distance",value:function t(t,e){return 1-this.similarity(t,e)}},{key:"stringVectorization",value:function t(t,e){return e.map(function(e){return t.includes(e)?1:0})}}]);return r}(x);var _=/*#__PURE__*/function(t){"use strict";c(r,t);var e=k(r);function r(){i(this,r);return e.apply(this,arguments)}o(r,[{key:"similarity",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var r=p(x.initParams(t,e),2),n=r[0],i=r[1],a=[n.length,i.length],o=a[0],u=a[1];if(!n.length&&!i.length||n===i)return 1;if(o<2||u<2)return 0;var c=new Map;for(var l=0;l<o-1;l++){var f=n.slice(l,l+2),s=c.has(f)?c.get(f)+1:1;c.set(f,s)}var h=0;for(var y=0;y<u-1;y++){var v=i.slice(y,y+2),m=c.has(v)?c.get(v):0;m>0&&(c.set(v,m-1),++h)}return 2*h/(o+u-2)}},{key:"distance",value:function t(t,e){return 1-this.similarity(t,e)}}]);return r}(x);var E=/*#__PURE__*/function(t){"use strict";c(r,t);var e=k(r);function r(){i(this,r);return e.apply(this,arguments)}o(r,[{key:"similarity",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var r=p(x.initParams(t,e),2),n=r[0],i=r[1];if(!n.length&&!i.length||n===i)return 1;var a=new Set(n.split("").concat(i.split(""))),o=new Set(n.split("").filter(function(t){return new Set(i).has(t)}));return Number(o.size)/a.size}},{key:"distance",value:function t(t,e){return 1-this.similarity(t,e)}}]);return r}(x);var L=/*#__PURE__*/function(t){"use strict";c(r,t);var e=k(r);function r(){i(this,r);return e.apply(this,arguments)}o(r,[{key:"similarity",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var r=p(x.initParams(t,e),2),n=r[0],i=r[1];return!n.length&&!i.length?1:1-Number(this.distance(n,i))/Math.max(n.length,i.length)}},{key:"distance",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var r=p(x.initParams(t,e),2),n=r[0],i=r[1];if(n===i)return 0;var a=[n.length,i.length],o=a[0],u=a[1];if(!o)return u;if(!u)return o;var c=m(Array(o+1)).map(function(){return Array(u+1).fill(0)});for(var l=0;l<=o;++l)c[l][0]=l;for(var f=0;f<=u;++f)c[0][f]=f;var s;for(var h=1;h<=o;++h)for(var y=1;y<=u;++y)s=n[h-1]===i[y-1]?0:1,c[h][y]=Math.min(c[h-1][y]+1,c[h][y-1]+1,c[h-1][y-1]+s);return c[o][u]}}]);return r}(x);var C=/*#__PURE__*/function(t){"use strict";c(r,t);var e=k(r);function r(){i(this,r);return e.apply(this,arguments)}o(r,[{key:"similarity",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var n=p(x.initParams(t,e),2),i=n[0],a=n[1];return!i.length&&!a.length||i===a?1:2*r.lcsLength(i,a)/(i.length+a.length)}},{key:"distance",value:function t(t,e){var n=p(x.initParams(t,e),2),i=n[0],a=n[1];return i.length+a.length-2*r.lcsLength(i,a)}}],[{key:"lcsLength",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var r=p(x.initParams(t,e),2),n=r[0],i=r[1],a=[n.length,i.length],o=a[0],u=a[1],c=m(Array(o+1)).map(function(){return Array(u+1).fill(0)});for(var l=1;l<=o;++l)for(var f=1;f<=u;++f)c[l][f]=n[l-1]===i[f-1]?c[l-1][f-1]+1:Math.max(c[l][f-1],c[l-1][f]);return c[o][u]}}]);return r}(x);var I=/*#__PURE__*/function(t){"use strict";c(r,t);var e=k(r);function r(){i(this,r);return e.apply(this,arguments)}o(r,[{key:"similarity",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var n=p(x.initParams(t,e),2),i=n[0],a=n[1];return!i.length&&!a.length||i===a?1:Number(r.lcsLength(i,a))/Math.max(i.length,a.length)}},{key:"distance",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var r=p(x.initParams(t,e),2),n=r[0],i=r[1];return n===i?0:1-this.similarity(n,i)}}],[{key:"lcsLength",value:function t(t,e){x.checkThanosType(t),x.checkRivalType(e);var r=[t.length,e.length],n=r[0],i=r[1],a=m(Array(n+1)).map(function(){return Array(i+1).fill(0)});for(var o=1;o<=n;++o)for(var u=1;u<=i;++u)a[o][u]=t[o-1]===e[u-1]?a[o-1][u-1]+1:Math.max(a[o][u-1],a[o-1][u]);return a[n][i]}}]);return r}(x);var z=new M,N=new _,q=new E,V=new L,B=new C,D=B,U=new I,$=U,F={cosine:z,diceCoefficient:N,jaccardIndex:q,levenshtein:V,lcs:B,longestCommonSubsequence:D,mlcs:U,metricLcs:$},G=F; | ||
function r(r,t){if(t==null||t>r.length)t=r.length;for(var e=0,n=new Array(t);e<t;e++)n[e]=r[e];return n}function t(r){if(Array.isArray(r))return r}function e(t){if(Array.isArray(t))return r(t)}function n(r){if(r===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return r}function i(r,t){if(!(r instanceof t)){throw new TypeError("Cannot call a class as a function")}}function a(r,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(r,n.key,n)}}function o(r,t,e){if(t)a(r.prototype,t);if(e)a(r,e);return r}function u(r){u=Object.setPrototypeOf?Object.getPrototypeOf:function r(r){return r.__proto__||Object.getPrototypeOf(r)};return u(r)}function c(r,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}r.prototype=Object.create(t&&t.prototype,{constructor:{value:r,writable:true,configurable:true}});if(t)v(r,t)}function l(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function f(r,t){var e=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(e==null)return;var n=[];var i=true;var a=false;var o,u;try{for(e=e.call(r);!(i=(o=e.next()).done);i=true){n.push(o.value);if(t&&n.length===t)break}}catch(r){a=true;u=r}finally{try{if(!i&&e["return"]!=null)e["return"]()}finally{if(a)throw u}}return n}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(r,t){if(t&&(m(t)==="object"||typeof t==="function")){return t}return n(r)}function v(r,t){v=Object.setPrototypeOf||function r(r,t){r.__proto__=t;return r};return v(r,t)}function p(r,e){return t(r)||f(r,e)||b(r,e)||s()}function g(r){return e(r)||l(r)||b(r)||h()}function m(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function b(t,e){if(!t)return;if(typeof t==="string")return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}function k(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(r){return false}}function d(r){var t=k();return function e(){var e=u(r),n;if(t){var i=u(this).constructor;n=Reflect.construct(e,arguments,i)}else{n=e.apply(this,arguments)}return y(this,n)}}var T=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var O=function(r,t){for(var e in t)T(r,e,{get:t[e],enumerable:!0})},j=function(r,t,e,n){var i=true,a=false,o=undefined;if(t&&typeof t=="object"||typeof t=="function")try{var u=function(){var i=l.value;!P.call(r,i)&&i!==e&&T(r,i,{get:function(){return t[i]},enumerable:!(n=w(t,i))||n.enumerable})};for(var c=A(t)[Symbol.iterator](),l;!(i=(l=c.next()).done);i=true)u()}catch(r){a=true;o=r}finally{try{if(!i&&c.return!=null){c.return()}}finally{if(a){throw o}}}return r};var R=function(r){return j(T({},"__esModule",{value:!0}),r)};var M={};O(M,{default:function(){return H}});module.exports=R(M);var S=/*#__PURE__*/function(){"use strict";function r(){i(this,r)}o(r,[{key:"sortMatch",value:function t(t,e){var n=this;return r.checkThanosType(t),r.checkAvengersType(e),e.map(function(r,e){return{member:r,index:e,rating:n.similarity(t,r)}}).sort(function(r,t){return r.rating-t.rating})}}],[{key:"initParams",value:function r(r,t){return[r.replace(/\s+/g,"").toLowerCase(),t.replace(/\s+/g,"").toLowerCase()]}},{key:"checkThanosType",value:function r(r){if(typeof r!="string")throw new Error("first argument should be a string")}},{key:"checkRivalType",value:function r(r){if(typeof r!="string")throw new Error("second argument should be a string")}},{key:"checkAvengersType",value:function r(r){if(!Array.isArray(r))throw new Error("second argument should be an array of strings");if(r.find(function(r){return typeof r!="string"}))throw new Error("second argument should be an array of strings")}}]);return r}();var x=/*#__PURE__*/function(r){"use strict";c(e,r);var t=d(e);function e(){i(this,e);return t.apply(this,arguments)}o(e,[{key:"similarity",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=p(S.initParams(r,t),2),n=e[0],i=e[1];if(!n.length&&!i.length)return 1;if(!n.length||!i.length)return 0;if(n===i)return 1;var a=Array.from(new Set(n.split("").concat(i.split("")))),o=this.stringVectorization(n.split(""),a),u=this.stringVectorization(i.split(""),a),c=0,l=0,f=0;for(var s=0;s<o.length;++s)c+=o[s]*u[s],l+=o[s]*o[s],f+=u[s]*u[s];return l=Math.sqrt(l),f=Math.sqrt(f),Number(c)/(l*f)}},{key:"distance",value:function r(r,t){return 1-this.similarity(r,t)}},{key:"stringVectorization",value:function r(r,t){return t.map(function(t){return r.includes(t)?1:0})}}]);return e}(S);var _=/*#__PURE__*/function(r){"use strict";c(e,r);var t=d(e);function e(){i(this,e);return t.apply(this,arguments)}o(e,[{key:"similarity",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=p(S.initParams(r,t),2),n=e[0],i=e[1],a=[n.length,i.length],o=a[0],u=a[1];if(!n.length&&!i.length||n===i)return 1;if(o<2||u<2)return 0;var c=new Map;for(var l=0;l<o-1;l++){var f=n.slice(l,l+2),s=c.has(f)?c.get(f)+1:1;c.set(f,s)}var h=0;for(var y=0;y<u-1;y++){var v=i.slice(y,y+2),g=c.has(v)?c.get(v):0;g>0&&(c.set(v,g-1),++h)}return 2*h/(o+u-2)}},{key:"distance",value:function r(r,t){return 1-this.similarity(r,t)}}]);return e}(S);var E=/*#__PURE__*/function(r){"use strict";c(e,r);var t=d(e);function e(){i(this,e);return t.apply(this,arguments)}o(e,[{key:"similarity",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=p(S.initParams(r,t),2),n=e[0],i=e[1];if(!n.length&&!i.length||n===i)return 1;var a=new Set(n.split("").concat(i.split(""))),o=new Set(n.split("").filter(function(r){return new Set(i).has(r)}));return Number(o.size)/a.size}},{key:"distance",value:function r(r,t){return 1-this.similarity(r,t)}}]);return e}(S);var L=/*#__PURE__*/function(r){"use strict";c(e,r);var t=d(e);function e(){i(this,e);return t.apply(this,arguments)}o(e,[{key:"similarity",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=p(S.initParams(r,t),2),n=e[0],i=e[1];return!n.length&&!i.length?1:1-Number(this.distance(n,i))/Math.max(n.length,i.length)}},{key:"distance",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=p(S.initParams(r,t),2),n=e[0],i=e[1];if(n===i)return 0;var a=[n.length,i.length],o=a[0],u=a[1];if(!o)return u;if(!u)return o;var c=g(Array(o+1)).map(function(){return Array(u+1).fill(0)});for(var l=0;l<=o;++l)c[l][0]=l;for(var f=0;f<=u;++f)c[0][f]=f;var s;for(var h=1;h<=o;++h)for(var y=1;y<=u;++y)s=n[h-1]===i[y-1]?0:1,c[h][y]=Math.min(c[h-1][y]+1,c[h][y-1]+1,c[h-1][y-1]+s);return c[o][u]}}]);return e}(S);var C=/*#__PURE__*/function(r){"use strict";c(e,r);var t=d(e);function e(){i(this,e);return t.apply(this,arguments)}o(e,[{key:"similarity",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var n=p(S.initParams(r,t),2),i=n[0],a=n[1];return!i.length&&!a.length||i===a?1:2*e.lcsLength(i,a)/(i.length+a.length)}},{key:"distance",value:function r(r,t){var n=p(S.initParams(r,t),2),i=n[0],a=n[1];return i.length+a.length-2*e.lcsLength(i,a)}}],[{key:"lcsLength",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=p(S.initParams(r,t),2),n=e[0],i=e[1],a=[n.length,i.length],o=a[0],u=a[1],c=g(Array(o+1)).map(function(){return Array(u+1).fill(0)});for(var l=1;l<=o;++l)for(var f=1;f<=u;++f)c[l][f]=n[l-1]===i[f-1]?c[l-1][f-1]+1:Math.max(c[l][f-1],c[l-1][f]);return c[o][u]}}]);return e}(S);var I=/*#__PURE__*/function(r){"use strict";c(e,r);var t=d(e);function e(){i(this,e);return t.apply(this,arguments)}o(e,[{key:"similarity",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var n=p(S.initParams(r,t),2),i=n[0],a=n[1];return!i.length&&!a.length||i===a?1:Number(e.lcsLength(i,a))/Math.max(i.length,a.length)}},{key:"distance",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=p(S.initParams(r,t),2),n=e[0],i=e[1];return n===i?0:1-this.similarity(n,i)}}],[{key:"lcsLength",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=[r.length,t.length],n=e[0],i=e[1],a=g(Array(n+1)).map(function(){return Array(i+1).fill(0)});for(var o=1;o<=n;++o)for(var u=1;u<=i;++u)a[o][u]=r[o-1]===t[u-1]?a[o-1][u-1]+1:Math.max(a[o][u-1],a[o-1][u]);return a[n][i]}}]);return e}(S);var z=/*#__PURE__*/function(r){"use strict";c(e,r);var t=d(e);function e(){i(this,e);return t.apply(this,arguments)}o(e,[{key:"distance",value:function r(r,t){S.checkThanosType(r),S.checkRivalType(t);var e=p(S.initParams(r,t),2),n=e[0],i=e[1];if(!n.length&&!i.length)return 1;if(!n.length||!i.length)return 0;if(n===i||n===i)return 1;var a=n.length,o=i.length;if(a===0||o===0)return 0;var u=Math.floor(Math.max(a,o)/2)-1,c=0,l=new Array(n.length).fill(0),f=new Array(i.length).fill(0);for(var s=0;s<a;s++)for(var h=Math.max(0,s-u);h<Math.min(o,s+u+1);h++)if(n[s]===i[h]&&f[h]===0){l[s]=1,f[h]=1,c++;break}if(c===0)return 0;var y=0,v=0;for(var g=0;g<a;g++)if(l[g]===1){for(;f[v]===0;)v++;n[g]!==i[v++]&&y++}return y/=2,(c/a+c/o+(c-y)/c)/3}},{key:"similarity",value:function r(r,t){var e=this.distance(r,t);if(e>.7){var n=0;for(var i=0;i<Math.min(r.length,t.length)&&r[i]===t[i];i++)n++;n=Math.min(4,n),e+=.1*n*(1-e)}return e}}]);return e}(S);var N=new x,q=new _,V=new E,B=new L,D=new C,U=D,W=new I,$=W,F=new z,G={cosine:N,diceCoefficient:q,jaccardIndex:V,levenshtein:B,lcs:D,longestCommonSubsequence:U,mlcs:W,metricLcs:$,jaroWinkler:F},H=G; |
{ | ||
"name": "string-comparison", | ||
"version": "1.2.0", | ||
"version": "1.3.0", | ||
"description": "A library implementing different string similarity", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -22,2 +22,3 @@ | ||
- [Sorensen-Dice coefficient](#sorensen-dice-coefficient) | ||
- [Jaro-Winkler similarity](#jaro-winkler-similarity) | ||
- [API](#api) | ||
@@ -209,3 +210,12 @@ - [Methods](#methods) | ||
## Jaro-Winkler similarity | ||
The Jaro-Winkler similarity is a string metric measuring edit distance between two strings. Jaro – Winkler Similarity is much similar to Jaro Similarity. They both differ when the prefix of two string match. Jaro – Winkler Similarity uses a prefix scale ‘p’ which gives a more accurate answer when the strings have a common prefix up to a defined maximum length l. | ||
```js | ||
import { jaroWinkler } from "string-comparison" | ||
``` | ||
## API | ||
* `cosine` | ||
@@ -217,3 +227,5 @@ * `diceCoefficient` | ||
* `mlcs` = `metricLcs` | ||
* `jaroWinkler` | ||
## Methods | ||
@@ -220,0 +232,0 @@ * `similarity`. |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
33786
82
284