cmpstr 2.0.3 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +75 -503
- package/dist/CmpStr.esm.js +4863 -0
- package/dist/CmpStr.esm.js.map +1 -0
- package/dist/CmpStr.esm.min.js +8 -0
- package/dist/CmpStr.esm.min.js.map +1 -0
- package/dist/CmpStr.umd.js +4875 -0
- package/dist/CmpStr.umd.js.map +1 -0
- package/dist/CmpStr.umd.min.js +8 -0
- package/dist/CmpStr.umd.min.js.map +1 -0
- package/dist/cjs/CmpStr.js +663 -0
- package/dist/cjs/CmpStr.js.map +1 -0
- package/dist/cjs/CmpStrAsync.js +336 -0
- package/dist/cjs/CmpStrAsync.js.map +1 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/metric/Cosine.js +101 -0
- package/dist/cjs/metric/Cosine.js.map +1 -0
- package/dist/cjs/metric/DamerauLevenshtein.js +110 -0
- package/dist/cjs/metric/DamerauLevenshtein.js.map +1 -0
- package/dist/cjs/metric/DiceSorensen.js +91 -0
- package/dist/cjs/metric/DiceSorensen.js.map +1 -0
- package/dist/cjs/metric/Hamming.js +82 -0
- package/dist/cjs/metric/Hamming.js.map +1 -0
- package/dist/cjs/metric/Jaccard.js +76 -0
- package/dist/cjs/metric/Jaccard.js.map +1 -0
- package/dist/cjs/metric/JaroWinkler.js +114 -0
- package/dist/cjs/metric/JaroWinkler.js.map +1 -0
- package/dist/cjs/metric/LCS.js +89 -0
- package/dist/cjs/metric/LCS.js.map +1 -0
- package/dist/cjs/metric/Levenshtein.js +94 -0
- package/dist/cjs/metric/Levenshtein.js.map +1 -0
- package/dist/cjs/metric/Metric.js +445 -0
- package/dist/cjs/metric/Metric.js.map +1 -0
- package/dist/cjs/metric/NeedlemanWunsch.js +95 -0
- package/dist/cjs/metric/NeedlemanWunsch.js.map +1 -0
- package/dist/cjs/metric/SmithWaterman.js +98 -0
- package/dist/cjs/metric/SmithWaterman.js.map +1 -0
- package/dist/cjs/metric/qGram.js +91 -0
- package/dist/cjs/metric/qGram.js.map +1 -0
- package/dist/cjs/phonetic/Cologne.js +112 -0
- package/dist/cjs/phonetic/Cologne.js.map +1 -0
- package/dist/cjs/phonetic/Metaphone.js +172 -0
- package/dist/cjs/phonetic/Metaphone.js.map +1 -0
- package/dist/cjs/phonetic/Phonetic.js +413 -0
- package/dist/cjs/phonetic/Phonetic.js.map +1 -0
- package/dist/cjs/phonetic/Soundex.js +135 -0
- package/dist/cjs/phonetic/Soundex.js.map +1 -0
- package/dist/cjs/utils/DeepMerge.js +144 -0
- package/dist/cjs/utils/DeepMerge.js.map +1 -0
- package/dist/cjs/utils/DiffChecker.js +500 -0
- package/dist/cjs/utils/DiffChecker.js.map +1 -0
- package/dist/cjs/utils/Filter.js +189 -0
- package/dist/cjs/utils/Filter.js.map +1 -0
- package/dist/cjs/utils/HashTable.js +175 -0
- package/dist/cjs/utils/HashTable.js.map +1 -0
- package/dist/cjs/utils/Normalizer.js +144 -0
- package/dist/cjs/utils/Normalizer.js.map +1 -0
- package/dist/cjs/utils/Pool.js +196 -0
- package/dist/cjs/utils/Pool.js.map +1 -0
- package/dist/cjs/utils/Profiler.js +229 -0
- package/dist/cjs/utils/Profiler.js.map +1 -0
- package/dist/cjs/utils/Registry.js +148 -0
- package/dist/cjs/utils/Registry.js.map +1 -0
- package/dist/cjs/utils/TextAnalyzer.js +358 -0
- package/dist/cjs/utils/TextAnalyzer.js.map +1 -0
- package/dist/esm/CmpStr.js +662 -0
- package/dist/esm/CmpStr.js.map +1 -0
- package/dist/esm/CmpStrAsync.js +331 -0
- package/dist/esm/CmpStrAsync.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/metric/Cosine.js +99 -0
- package/dist/esm/metric/Cosine.js.map +1 -0
- package/dist/esm/metric/DamerauLevenshtein.js +108 -0
- package/dist/esm/metric/DamerauLevenshtein.js.map +1 -0
- package/dist/esm/metric/DiceSorensen.js +89 -0
- package/dist/esm/metric/DiceSorensen.js.map +1 -0
- package/dist/esm/metric/Hamming.js +77 -0
- package/dist/esm/metric/Hamming.js.map +1 -0
- package/dist/esm/metric/Jaccard.js +74 -0
- package/dist/esm/metric/Jaccard.js.map +1 -0
- package/dist/esm/metric/JaroWinkler.js +112 -0
- package/dist/esm/metric/JaroWinkler.js.map +1 -0
- package/dist/esm/metric/LCS.js +87 -0
- package/dist/esm/metric/LCS.js.map +1 -0
- package/dist/esm/metric/Levenshtein.js +92 -0
- package/dist/esm/metric/Levenshtein.js.map +1 -0
- package/dist/esm/metric/Metric.js +442 -0
- package/dist/esm/metric/Metric.js.map +1 -0
- package/dist/esm/metric/NeedlemanWunsch.js +93 -0
- package/dist/esm/metric/NeedlemanWunsch.js.map +1 -0
- package/dist/esm/metric/SmithWaterman.js +96 -0
- package/dist/esm/metric/SmithWaterman.js.map +1 -0
- package/dist/esm/metric/qGram.js +89 -0
- package/dist/esm/metric/qGram.js.map +1 -0
- package/dist/esm/phonetic/Cologne.js +114 -0
- package/dist/esm/phonetic/Cologne.js.map +1 -0
- package/dist/esm/phonetic/Metaphone.js +174 -0
- package/dist/esm/phonetic/Metaphone.js.map +1 -0
- package/dist/esm/phonetic/Phonetic.js +409 -0
- package/dist/esm/phonetic/Phonetic.js.map +1 -0
- package/dist/esm/phonetic/Soundex.js +137 -0
- package/dist/esm/phonetic/Soundex.js.map +1 -0
- package/dist/esm/utils/DeepMerge.js +139 -0
- package/dist/esm/utils/DeepMerge.js.map +1 -0
- package/dist/esm/utils/DiffChecker.js +498 -0
- package/dist/esm/utils/DiffChecker.js.map +1 -0
- package/dist/esm/utils/Filter.js +187 -0
- package/dist/esm/utils/Filter.js.map +1 -0
- package/dist/esm/utils/HashTable.js +173 -0
- package/dist/esm/utils/HashTable.js.map +1 -0
- package/dist/esm/utils/Normalizer.js +142 -0
- package/dist/esm/utils/Normalizer.js.map +1 -0
- package/dist/esm/utils/Pool.js +194 -0
- package/dist/esm/utils/Pool.js.map +1 -0
- package/dist/esm/utils/Profiler.js +227 -0
- package/dist/esm/utils/Profiler.js.map +1 -0
- package/dist/esm/utils/Registry.js +142 -0
- package/dist/esm/utils/Registry.js.map +1 -0
- package/dist/esm/utils/TextAnalyzer.js +356 -0
- package/dist/esm/utils/TextAnalyzer.js.map +1 -0
- package/dist/types/CmpStr.d.ts +472 -0
- package/dist/types/CmpStrAsync.d.ts +233 -0
- package/dist/types/index.d.ts +51 -0
- package/dist/types/metric/Cosine.d.ts +57 -0
- package/dist/types/metric/DamerauLevenshtein.d.ts +50 -0
- package/dist/types/metric/DiceSorensen.d.ts +57 -0
- package/dist/types/metric/Hamming.d.ts +49 -0
- package/dist/types/metric/Jaccard.d.ts +48 -0
- package/dist/types/metric/JaroWinkler.d.ts +50 -0
- package/dist/types/metric/LCS.d.ts +50 -0
- package/dist/types/metric/Levenshtein.d.ts +50 -0
- package/dist/types/metric/Metric.d.ts +261 -0
- package/dist/types/metric/NeedlemanWunsch.d.ts +47 -0
- package/dist/types/metric/SmithWaterman.d.ts +48 -0
- package/dist/types/metric/index.d.ts +41 -0
- package/dist/types/metric/qGram.d.ts +56 -0
- package/dist/types/phonetic/Cologne.d.ts +46 -0
- package/dist/types/phonetic/Metaphone.d.ts +50 -0
- package/dist/types/phonetic/Phonetic.d.ts +189 -0
- package/dist/types/phonetic/Soundex.d.ts +49 -0
- package/dist/types/phonetic/index.d.ts +30 -0
- package/dist/types/utils/DeepMerge.d.ts +70 -0
- package/dist/types/utils/DiffChecker.d.ts +137 -0
- package/dist/types/utils/Filter.d.ts +97 -0
- package/dist/types/utils/HashTable.d.ts +86 -0
- package/dist/types/utils/Normalizer.d.ts +76 -0
- package/dist/types/utils/Pool.d.ts +63 -0
- package/dist/types/utils/Profiler.d.ts +129 -0
- package/dist/types/utils/Registry.d.ts +57 -0
- package/dist/types/utils/TextAnalyzer.d.ts +199 -0
- package/dist/types/utils/Types.d.ts +313 -0
- package/package.json +62 -49
- package/src/CmpStr.d.ts +0 -70
- package/src/CmpStr.js +0 -917
- package/src/CmpStrAsync.d.ts +0 -19
- package/src/CmpStrAsync.js +0 -197
- package/src/algorithms/cosine.js +0 -86
- package/src/algorithms/damerau.js +0 -78
- package/src/algorithms/dice.js +0 -65
- package/src/algorithms/hamming.js +0 -44
- package/src/algorithms/jaccard.js +0 -34
- package/src/algorithms/jaroWinkler.js +0 -106
- package/src/algorithms/lcs.js +0 -58
- package/src/algorithms/levenshtein.js +0 -70
- package/src/algorithms/needlemanWunsch.js +0 -72
- package/src/algorithms/qGram.js +0 -63
- package/src/algorithms/smithWaterman.js +0 -78
- package/src/algorithms/soundex.js +0 -152
- package/src/index.d.ts +0 -3
- package/src/index.js +0 -47
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmpStr.esm.js","sources":["../src/utils/DeepMerge.ts","../src/utils/Profiler.ts","../src/utils/TextAnalyzer.ts","../src/utils/DiffChecker.ts","../src/utils/HashTable.ts","../src/utils/Normalizer.ts","../src/utils/Filter.ts","../src/utils/Registry.ts","../src/metric/Metric.ts","../src/utils/Pool.ts","../src/metric/Cosine.ts","../src/metric/DamerauLevenshtein.ts","../src/metric/DiceSorensen.ts","../src/metric/Hamming.ts","../src/metric/Jaccard.ts","../src/metric/JaroWinkler.ts","../src/metric/LCS.ts","../src/metric/Levenshtein.ts","../src/metric/NeedlemanWunsch.ts","../src/metric/qGram.ts","../src/metric/SmithWaterman.ts","../src/phonetic/Phonetic.ts","../src/phonetic/Cologne.ts","../src/phonetic/Metaphone.ts","../src/phonetic/Soundex.ts","../src/CmpStr.ts","../src/CmpStrAsync.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["profiler","DeepMerge.merge","DeepMerge.set","DeepMerge.rmv","DeepMerge.get"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CmpStr v3.0.0 dev-1a82e20-250612
|
|
3
|
+
* This is a lightweight, fast and well performing library for calculating string similarity.
|
|
4
|
+
* (c) 2023-2025 Paul Köhler @komed3 / MIT License
|
|
5
|
+
* Visit https://github.com/komed3/cmpstr and https://npmjs.org/package/cmpstr
|
|
6
|
+
*/
|
|
7
|
+
const t=t=>t.replace(/\[(\d+)]/g,".$1").split(".").map((t=>/^\d+$/.test(t)?+t:t));function e(s,r,i){if(""===r)return i;const[n,...o]=t(r);if(void 0!==s&&("object"!=typeof s||null===s))throw Error(`cannot set property <${n}> of <${JSON.stringify(s)}>`);return Object.assign(s??("number"==typeof n?[]:Object.create(null)),{[n]:e(s?.[n],o.join("."),i)})}function s(t=Object.create(null),e=Object.create(null),r=!1){return Object.keys(e).forEach((i=>{const n=e[i];(r||void 0!==n)&&"__proto__"!==i&&"constructor"!==i&&(t[i]="object"!=typeof n||Array.isArray(n)?n:s("object"!=typeof t[i]||Array.isArray(t[i])?Object.create(null):t[i],n))})),t}class r{static ENV;static instance;store=new Set;totalTime=0;totalMem=0;active;static detectEnv(){"undefined"!=typeof process?r.ENV="nodejs":"undefined"!=typeof performance?r.ENV="browser":r.ENV="unknown"}static getInstance(t){return r.ENV||r.detectEnv(),r.instance||(r.instance=new r(t)),r.instance}constructor(t){this.active=t??!1}now(){switch(r.ENV){case"nodejs":return Number(process.hrtime.bigint())/1e6;case"browser":return performance.now();default:return Date.now()}}mem(){switch(r.ENV){case"nodejs":return process.memoryUsage().heapUsed;case"browser":return performance.memory?.usedJSHeapSize??0;default:return 0}}enable(){this.active=!0}disable(){this.active=!1}clear(){this.store.clear(),this.totalTime=0,this.totalMem=0}run(t,e={}){if(!this.active)return t();const s=this.now(),r=this.mem(),i=t(),n=this.now()-s,o=this.mem()-r;return this.store.add({time:n,mem:o,res:i,meta:e}),this.totalTime+=n,this.totalMem+=o,i}async runAsync(t,e={}){if(!this.active)return await t();const s=this.now(),r=this.mem(),i=await t(),n=this.now()-s,o=this.mem()-r;return this.store.add({time:n,mem:o,res:i,meta:e}),this.totalTime+=n,this.totalMem+=o,i}getAll(){return[...this.store]}getLast(){return this.getAll().pop()}getTotal(){return{time:this.totalTime,mem:this.totalMem}}services={enable:this.enable.bind(this),disable:this.disable.bind(this),clear:this.clear.bind(this),report:this.getAll.bind(this),last:this.getLast.bind(this),total:this.getTotal.bind(this)}}class i{text;words=[];sentences=[];charFrequency=new Map;wordHistogram=new Map;syllableCache=new Map;constructor(t){this.text=t.trim(),this.tokenize(),this.computeFrequencies()}tokenize(){this.words=[],this.sentences=[];const t=this.text,e=/\p{L}+/gu;let s;for(;null!==(s=e.exec(t));)this.words.push(s[0].toLowerCase());this.sentences=t.split(/(?<=[.!?])\s+/).filter(Boolean)}computeFrequencies(){for(const t of this.text)this.charFrequency.set(t,(this.charFrequency.get(t)??0)+1);for(const t of this.words)this.wordHistogram.set(t,(this.wordHistogram.get(t)??0)+1)}estimateSyllables(t){if(this.syllableCache.has(t))return this.syllableCache.get(t);const e=t.toLowerCase().replace(/[^a-zäöüß]/g,"").match(/[aeiouyäöü]+/g),s=e?e.length:1;return this.syllableCache.set(t,s),s}getLength(){return this.text.length}getWordCount(){return this.words.length}getSentenceCount(){return this.sentences.length}getAvgWordLength(){let t=0;for(const e of this.words)t+=e.length;return this.words.length?t/this.words.length:0}getAvgSentenceLength(){return this.sentences.length?this.words.length/this.sentences.length:0}getWordHistogram(){return Object.fromEntries(this.wordHistogram)}getMostCommonWords(t=5){return[...this.wordHistogram.entries()].sort(((t,e)=>e[1]-t[1])).slice(0,t).map((t=>t[0]))}getHapaxLegomena(){return[...this.wordHistogram.entries()].filter((([,t])=>1===t)).map((t=>t[0]))}hasNumbers(){return/\d/.test(this.text)}getUpperCaseRatio(){let t=0,e=0;for(let s=0,r=this.text.length;s<r;s++){const r=this.text[s];/[A-Za-zÄÖÜäöüß]/.test(r)&&(e++,/[A-ZÄÖÜ]/.test(r)&&t++)}return e?t/e:0}getCharFrequency(){return Object.fromEntries(this.charFrequency)}getUnicodeStats(){const t={};for(const[e,s]of this.charFrequency){const r=e.charCodeAt(0).toString(16).padStart(4,"0").toUpperCase();t[r]=(t[r]??0)+s}return t}getLongWordRatio(t=7){let e=0;for(const s of this.words)s.length>=t&&e++;return this.words.length?e/this.words.length:0}getShortWordRatio(t=3){let e=0;for(const s of this.words)s.length<=t&&e++;return this.words.length?e/this.words.length:0}getSyllablesCount(){let t=0;for(const e of this.words)t+=this.estimateSyllables(e);return t}getMonosyllabicWordCount(){let t=0;for(const e of this.words)1===this.estimateSyllables(e)&&t++;return t}getMinSyllablesWordCount(t){let e=0;for(const s of this.words)this.estimateSyllables(s)>=t&&e++;return e}getMaxSyllablesWordCount(t){let e=0;for(const s of this.words)this.estimateSyllables(s)<=t&&e++;return e}getHonoresR(){return 100*Math.log(this.words.length)/(1-this.getHapaxLegomena().length/(this.wordHistogram.size??1))}getReadingTime(t=200){return Math.max(1,this.words.length/(t??1))}getReadabilityScore(t="flesch"){const e=this.words.length||1,s=e/(this.sentences.length||1),r=(this.getSyllablesCount()||1)/e;switch(t){case"flesch":return 206.835-1.015*s-84.6*r;case"fleschde":return 180-s-58.5*r;case"kincaid":return.39*s+11.8*r-15.59}}getLIXScore(){const t=this.words.length||1;return t/(this.sentences.length||1)+this.getLongWordRatio()*t/t*100}getWSTFScore(){const t=this.words.length||1,e=this.getMinSyllablesWordCount(3)/t*100,s=this.getAvgSentenceLength(),r=100*this.getLongWordRatio();return[.1935*e+.1672*s+.1297*r-this.getMonosyllabicWordCount()/t*100*.0327-.875,.2007*e+.1682*s+.1373*r-2.779,.2963*e+.1905*s-1.1144,.2744*e+.2656*s-1.693]}}class n{a;b;options;entries=[];grouped=[];diffRun=!1;constructor(t,e,s={}){this.a=t,this.b=e,this.options={mode:"word",caseInsensitive:!1,contextLines:1,groupedLines:!0,expandLines:!1,showChangeMagnitude:!0,maxMagnitudeSymbols:5,lineBreak:"\n",...s},this.computeDiff()}text2lines(){const t=this.a.trim().split(/\r?\n/),e=this.b.trim().split(/\r?\n/);return{linesA:t,linesB:e,maxLen:Math.max(t.length,e.length)}}tokenize(t){const{mode:e}=this.options;switch(e){case"line":return[t];case"word":return t.split(/\s+/)}}concat(t){const{mode:e}=this.options;return t.join("word"===e?" ":"")}computeDiff(){if(!this.diffRun){const{linesA:t,linesB:e,maxLen:s}=this.text2lines();for(let r=0;r<s;r++){const s=t[r]||"",i=e[r]||"";this.lineDiff(s,i,r)}this.findGroups(),this.diffRun=!0}}lineDiff(t,e,s){const{mode:r,caseInsensitive:i}=this.options,n=Math.max(t.length,e.length);let o=t,a=e;i&&(o=t.toLowerCase(),a=e.toLowerCase());let c=[],h=0,l=0;if("line"===r)o!==a&&(c.push({posA:0,posB:0,del:t,ins:e,size:e.length-t.length}),h=t.length,l=e.length);else{c=this.preciseDiff(t,o,e,a);for(const t of c)h+=t.del.length,l+=t.ins.length}c.length&&this.entries.push({line:s,diffs:c,delSize:h,insSize:l,baseLen:n,totalSize:l-h,magnitude:this.magnitude(h,l,n)})}preciseDiff(t,e,s,r){const i=t=>t.reduce(((e,s,r)=>(e.push(r?e[r-1]+t[r-1].length+1:0),e)),[]),n=this.tokenize(t),o=this.tokenize(s),a=this.tokenize(e),c=this.tokenize(r),h=a.length,l=c.length,u=i(n),p=i(o),d=[];let m=0,g=0;for(;m<h&&g<l;)if(a[m]===c[g]){let t=1;for(;m+t<h&&g+t<l&&a[m+t]===c[g+t];)t++;d.push({ai:m,bi:g,len:t}),m+=t,g+=t}else{let t=!1;for(let e=1;e<=3&&!t;e++)m+e<h&&a[m+e]===c[g]?(d.push({ai:m+e,bi:g,len:1}),m+=e+1,g+=1,t=!0):g+e<l&&a[m]===c[g+e]&&(d.push({ai:m,bi:g+e,len:1}),m+=1,g+=e+1,t=!0);t||(m++,g++)}const f=[];let y=0,w=0;for(const t of d){if(y<t.ai||w<t.bi){const e=n.slice(y,t.ai),s=o.slice(w,t.bi);f.push({posA:u[y]??0,posB:p[w]??0,del:this.concat(e),ins:this.concat(s),size:s.join("").length-e.join("").length})}y=t.ai+t.len,w=t.bi+t.len}if(y<h||w<l){const t=n.slice(y),e=o.slice(w);f.push({posA:u[y]??0,posB:p[w]??0,del:this.concat(t),ins:this.concat(e),size:e.join("").length-t.join("").length})}return f.filter((t=>t.del.length>0||t.ins.length>0))}findGroups(){const{contextLines:t}=this.options,e=(t,e,s)=>{const[r,i,n,o]=["delSize","insSize","totalSize","baseLen"].map((e=>t.reduce(((t,s)=>t+s[e]),0)));this.grouped.push({start:e,end:s,delSize:r,insSize:i,totalSize:n,line:t[0].line,entries:t,magnitude:this.magnitude(r,i,o)})};let s=[],r=0,i=0;for(const n of this.entries){const o=Math.max(0,n.line-t),a=n.line+t;!s.length||o<=i+1?(s.length||(r=o),i=Math.max(i,a),s.push(n)):(e(s,r,i),s=[n],r=o,i=a)}s.length&&e(s,r,i)}magnitude(t,e,s){const{maxMagnitudeSymbols:r}=this.options,i=t+e;if(0===i||0===s)return"";const n=Math.min(r,Math.max(Math.round(i/s*r),1)),o=Math.round(e/i*n),a=n-o;return"+".repeat(o)+"-".repeat(a)}output(t){const{mode:e,contextLines:s,groupedLines:r,expandLines:i,showChangeMagnitude:n,lineBreak:o}=this.options,{linesA:a,linesB:c,maxLen:h}=this.text2lines(),l=Math.max(4,h.toString().length),u=(e,s)=>t?`[${s}m${e}[0m`:e,p=e=>t?`[37;42m${e}[32;49m`:`+[${e}]`,d=(t,e,s,r)=>{r&&m(r);for(let r=t;r<=e;r++)g(r,s??r);y.push("")},m=t=>{var e;y.push(`${" ".repeat(l)} ${e=`@@ -${t.line+1},${t.delSize} +${t.line+1},${t.insSize} @@`,u(e,"36")} ${n?(t=>u(t,"33"))(t.magnitude):""}`)},g=(t,e)=>{if(a[t]||c[t]){const r=this.entries.find((e=>e.line===t)),i=(t+1).toString().padStart(l," ");r&&e===t?(y.push(`${i} ${s=`- ${f(a[t],r.diffs,"del")}`,u(s,"31")}`),y.push(`${" ".repeat(l)} ${(t=>u(t,"32"))(`+ ${f(c[t],r.diffs,"ins")}`)}`)):y.push(`${i} ${(t=>u(t,"90"))(a[t])}`)}var s},f=(s,r,i)=>{if(!r.length||"line"===e)return s;let n="",o=0;for(const e of r){const r="del"===i?e.posA:e.posB,c="del"===i?e.del:e.ins;c&&(r>o&&(n+=s.slice(o,r)),n+="del"===i?(a=c,t?`[37;41m${a}[31;49m`:`-[${a}]`):p(c),o=r+c.length)}var a;return n+s.slice(o)};let y=[""];switch(!0){case i:d(0,h);break;case r:for(const t of this.grouped)d(t.start,t.end,void 0,t);break;default:for(const t of this.entries)d(t.line-s,t.line+s,t.line,t)}return y.join(o)}getStructuredDiff(){return this.entries}getGroupedDiff(){return this.grouped}getASCIIDiff(){return this.output(!1)}getCLIDiff(){return this.output(!0)}}class o{static FNV_PRIME=16777619;static HASH_OFFSET=2166136261;static fnv1a(t){const e=t.length;let s=this.HASH_OFFSET;const r=Math.floor(e/4);for(let e=0;e<r;e++){const r=4*e;s^=t.charCodeAt(r)|t.charCodeAt(r+1)<<8|t.charCodeAt(r+2)<<16|t.charCodeAt(r+3)<<24,s*=this.FNV_PRIME}const i=e%4;if(i>0){const e=4*r;for(let r=0;r<i;r++)s^=t.charCodeAt(e+r),s*=this.FNV_PRIME}return s^=s>>>16,s*=2246822507,s^=s>>>13,s*=3266489909,s^=s>>>16,s>>>0}}class a{static MAX_LEN=2048;static TABLE_SIZE=1e4;table=new Map;key(t,e,s=!1){for(const t of e)if(t.length>a.MAX_LEN)return!1;const r=e.map((t=>o.fnv1a(t)));return s&&r.sort(),[t,...r].join("-")}has(t){return this.table.has(t)}get(t){return this.table.get(t)}set(t,e,s=!0){return!(!(this.table.size<a.TABLE_SIZE)||!s&&this.table.has(t)||(this.table.set(t,e),0))}delete(t){this.table.delete(t)}clear(){this.table.clear()}size(){return this.table.size}}class c{static pipeline=new Map;static cache=new a;static getPipeline(t){if(c.pipeline.has(t))return c.pipeline.get(t);const e=[];t.includes("d")&&e.push((t=>t.normalize("NFD"))),t.includes("u")&&e.push((t=>t.normalize("NFC"))),t.includes("x")&&e.push((t=>t.normalize("NFKC"))),t.includes("w")&&e.push((t=>t.replace(/\s+/g," "))),t.includes("t")&&e.push((t=>t.trim())),t.includes("r")&&e.push((t=>t.replace(/(.)\1+/g,"$1"))),t.includes("s")&&e.push((t=>t.replace(/[^\p{L}\p{N}\s]/gu,""))),t.includes("k")&&e.push((t=>t.replace(/[^\p{L}]/gu,""))),t.includes("n")&&e.push((t=>t.replace(/\p{N}/gu,""))),t.includes("i")&&e.push((t=>t.toLowerCase()));const s=t=>{let s=t;for(const t of e)s=t(s);return s};return c.pipeline.set(t,s),s}static normalize(t,e){if(Array.isArray(t))return t.map((t=>c.normalize(t,e)));if(!e||"string"!=typeof e||!t)return t;const s=c.cache.key(e,[t]);if(s&&c.cache.has(s))return c.cache.get(s);const r=c.getPipeline(e)(t);return s&&c.cache.set(s,r),r}static async normalizeAsync(t,e){return await(Array.isArray(t)?Promise.all(t.map((t=>c.normalize(t,e)))):Promise.resolve(c.normalize(t,e)))}static clear(){c.pipeline.clear(),c.cache.clear()}}class h{static filters=new Map;static find(t,e){return h.filters.get(t)?.find((t=>t.id===e))}static add(t,e,s,r={}){const{priority:i=10,active:n=!0,overrideable:o=!0}=r,a=h.filters.get(t)??[],c=a.findIndex((t=>t.id===e));if(c>=0){if(!a[c].overrideable)return!1;a.splice(c,1)}return a.push({id:e,fn:s,priority:i,active:n,overrideable:o}),a.sort(((t,e)=>t.priority-e.priority)),h.filters.set(t,a),!0}static remove(t,e){const s=h.filters.get(t);if(!s)return!1;const r=s.findIndex((t=>t.id===e));return r>=0&&(s.splice(r,1),!0)}static pause(t,e){const s=h.find(t,e);return!!s&&(s.active=!1,!0)}static resume(t,e){const s=h.find(t,e);return!!s&&(s.active=!0,!0)}static list(t,e=!1){const s=h.filters.get(t)??[],r=[];for(const t of s)e&&!t.active||r.push(t.id);return r}static apply(t,e){const s=h.filters.get(t);if(!s||s.every((t=>!t.active)))return e;const r=t=>{for(const e of s)e.active&&(t=e.fn(t));return t};return Array.isArray(e)?e.map(r):r(e)}static async applyAsync(t,e){const s=h.filters.get(t);if(!s||s.every((t=>!t.active)))return e;const r=async t=>{for(const e of s)e.active&&(t=await Promise.resolve(e.fn(t)));return t};return Array.isArray(e)?Promise.all(e.map(r)):r(e)}static clear(t){t?h.filters.delete(t):h.filters.clear()}}const l=Object.create(null),u=Object.create(null);function p(t,e){if(t in l||t in u)throw new Error(`registry <${t}> already exists / overwriting is forbidden`);const s=Object.create(null),r={add(r,i,n=!1){if(!(i.prototype instanceof e))throw new TypeError(`class must extend <${t}>`);if(!n&&r in s)throw new Error(`entry <${r}> already exists / use <update=true> to overwrite`);s[r]=i},remove(t){delete s[t]},has:t=>t in s,list:()=>Object.keys(s),get(e){if(!(e in s))throw new Error(`class <${e}> not registered for <${t}>`);return s[e]}};return l[t]=r,u[t]=(e,...s)=>function(t,e,...s){e=function(t,e){if(!(t in l))throw new ReferenceError(`registry <${t}> does not exist`);return"string"==typeof e?l[t]?.get(e):e}(t,e);try{return new e(...s)}catch(t){throw new Error(`cannot instantiate class <${e}>`)}}(t,e,...s),r}const d=r.getInstance();class m{static cache=new a;metric;a;b;origA=[];origB=[];options;symmetric;results;static clear(){this.cache.clear()}static swap(t,e,s,r){return s>r?[e,t,r,s]:[t,e,s,r]}static clamp(t){return Math.max(0,Math.min(1,t))}constructor(t,e,s,r={},i=!1){if(this.metric=t,this.a=Array.isArray(e)?e:[e],this.b=Array.isArray(s)?s:[s],0===this.a.length||0===this.b.length)throw new Error("inputs <a> and <b> must not be empty");this.options=r,this.symmetric=i}preCompute(t,e,s,r){return t===e?{res:1}:0==s||0==r||s<2&&r<2?{res:0}:void 0}compute(t,e,s,r,i){throw new Error("method compute() must be overridden in a subclass")}runSingle(t,e){let s=String(this.a[t]),r=s,i=String(this.b[e]),n=i,o=r.length,a=n.length,c=this.preCompute(r,n,o,a);return c||(c=d.run((()=>{const t=m.cache.key(this.metric,[r,n],this.symmetric);return m.cache.get(t||"")??(()=>{this.symmetric&&([r,n,o,a]=m.swap(r,n,o,a));const e=this.compute(r,n,o,a,Math.max(o,a));return t&&m.cache.set(t,e),e})()}))),{metric:this.metric,a:this.origA[t]??s,b:this.origB[e]??i,...c}}async runSingleAsync(t,e){return Promise.resolve(this.runSingle(t,e))}runBatch(){const t=[];for(let e=0;e<this.a.length;e++)for(let s=0;s<this.b.length;s++)t.push(this.runSingle(e,s));this.results=t}async runBatchAsync(){const t=[];for(let e=0;e<this.a.length;e++)for(let s=0;s<this.b.length;s++)t.push(await this.runSingleAsync(e,s));this.results=t}runPairwise(){const t=[];for(let e=0;e<this.a.length;e++)t.push(this.runSingle(e,e));this.results=t}async runPairwiseAsync(){const t=[];for(let e=0;e<this.a.length;e++)t.push(await this.runSingleAsync(e,e));this.results=t}setOriginal(t,e){return t&&(this.origA=Array.isArray(t)?t:[t]),e&&(this.origB=Array.isArray(e)?e:[e]),this}isBatch(){return this.a.length>1||this.b.length>1}isSingle(){return!this.isBatch()}isPairwise(t=!1){return!(!this.isBatch()||this.a.length!==this.b.length)||!t&&(()=>{throw new Error("mode <pairwise> requires arrays of equal length")})()}isSymmetrical(){return this.symmetric}whichMode(t){return t??this.options?.mode??"default"}clear(){this.results=void 0}run(t,e=!0){switch(e&&this.clear(),this.whichMode(t)){case"default":if(this.isSingle()){this.results=this.runSingle(0,0);break}case"batch":this.runBatch();break;case"single":this.results=this.runSingle(0,0);break;case"pairwise":this.isPairwise()&&this.runPairwise();break;default:throw new Error(`unsupported mode <${t}>`)}}async runAsync(t,e=!0){switch(e&&this.clear(),this.whichMode(t)){case"default":if(this.isSingle()){this.results=await this.runSingleAsync(0,0);break}case"batch":await this.runBatchAsync();break;case"single":this.results=await this.runSingleAsync(0,0);break;case"pairwise":this.isPairwise()&&await this.runPairwiseAsync();break;default:throw new Error(`unsupported async mode <${t}>`)}}getMetricName(){return this.metric}getResults(){if(void 0===this.results)throw new Error("run() must be called before getResult()");return this.results}}const g=p("metric",m);class f{maxSize;buffers=[];pointer=0;constructor(t){this.maxSize=t}acquire(t,e){const s=this.buffers.length;for(let r=0;r<s;r++){const i=(this.pointer+r)%s,n=this.buffers[i];if(n.size>=t)return this.pointer=(i+1)%s,e||n.size===t?n:null}return null}release(t){this.buffers.length<this.maxSize?this.buffers.push(t):(this.buffers[this.pointer]=t,this.pointer=(this.pointer+1)%this.maxSize)}clear(){this.buffers=[],this.pointer=0}}class y{static CONFIG={uint16:{type:"uint16",maxSize:32,maxItemSize:2048,allowOversize:!0},"number[]":{type:"number[]",maxSize:16,maxItemSize:1024,allowOversize:!1},set:{type:"set",maxSize:8,maxItemSize:0,allowOversize:!1},map:{type:"map",maxSize:8,maxItemSize:0,allowOversize:!1}};static POOLS={uint16:new f(32),"number[]":new f(16),set:new f(8),map:new f(8)};static allocate(t,e){switch(t){case"uint16":return new Uint16Array(e);case"number[]":return new Array(e).fill(0);case"set":return new Set;case"map":return new Map}}static acquire(t,e){const s=this.CONFIG[t];if(e>s.maxItemSize)return this.allocate(t,e);const r=this.POOLS[t].acquire(e,s.allowOversize);return r?"uint16"===t?r.buffer.subarray(0,e):r.buffer:this.allocate(t,e)}static acquireMany(t,e){return e.map((e=>this.acquire(t,e)))}static release(t,e,s){s<=this.CONFIG[t].maxItemSize&&this.POOLS[t].release({buffer:e,size:s})}}g.add("cosine",class extends m{constructor(t,e,s={}){super("cosine",t,e,s,!0)}_termFreq(t,e){const s=t.split(e),r=y.acquire("map",s.length);for(const t of s)r.set(t,(r.get(t)||0)+1);return r}compute(t,e){const{delimiter:s=" "}=this.options,r=this._termFreq(t,s),i=this._termFreq(e,s);let n=0,o=0,a=0;for(const[t,e]of r)n+=e*(i.get(t)||0),o+=e*e;for(const t of i.values())a+=t*t;return o=Math.sqrt(o),a=Math.sqrt(a),y.release("map",r,r.size),y.release("map",i,i.size),{res:o&&a?m.clamp(n/(o*a)):0,raw:{dotProduct:n,magnitudeA:o,magnitudeB:a}}}}),g.add("damerau",class extends m{constructor(t,e,s={}){super("damerau",t,e,s,!0)}compute(t,e,s,r,i){const n=s+1,[o,a,c]=y.acquireMany("uint16",[n,n,n]);for(let t=0;t<=s;t++)a[t]=t;for(let i=1;i<=r;i++){c[0]=i;const r=e.charCodeAt(i-1);for(let n=1;n<=s;n++){const s=t.charCodeAt(n-1),h=s===r?0:1;let l=Math.min(c[n-1]+1,a[n]+1,a[n-1]+h);n>1&&i>1&&s===e.charCodeAt(i-2)&&r===t.charCodeAt(n-2)&&(l=Math.min(l,o[n-2]+h)),c[n]=l}o.set(a),a.set(c)}const h=a[s];return y.release("uint16",o,n),y.release("uint16",a,n),y.release("uint16",c,n),{res:0===i?1:m.clamp(1-h/i),raw:{dist:h,maxLen:i}}}}),g.add("dice",class extends m{constructor(t,e,s={}){super("dice",t,e,s,!0)}_bigrams(t){const e=t.length-1,s=y.acquire("set",e);for(let r=0;r<e;r++)s.add(t.substring(r,r+2));return s}compute(t,e){const s=this._bigrams(t),r=this._bigrams(e);let i=0;for(const t of s)r.has(t)&&i++;const n=s.size,o=r.size,a=n+o;return y.release("set",s,n),y.release("set",r,o),{res:0===a?1:m.clamp(2*i/a),raw:{intersection:i,size:a}}}}),g.add("hamming",class extends m{constructor(t,e,s={}){super("hamming",t,e,s,!0)}compute(t,e,s,r,i){if(s!==r){if(void 0===this.options.pad)throw new Error(`strings must be of equal length for Hamming Distance, a=${s} and b=${r} given, use option.pad for automatic adjustment`);s<i&&(t=t.padEnd(i,this.options.pad)),r<i&&(e=e.padEnd(i,this.options.pad)),s=r=i}let n=0;for(let s=0;s<t.length;s++)t[s]!==e[s]&&n++;return{res:0===s?1:m.clamp(1-n/s),raw:{dist:n}}}}),g.add("jaccard",class extends m{constructor(t,e,s={}){super("jaccard",t,e,s,!0)}compute(t,e,s,r){const[i,n]=y.acquireMany("set",[s,r]);for(const e of t)i.add(e);for(const t of e)n.add(t);let o=0;for(const t of i)n.has(t)&&o++;const a=i.size+n.size-o;return y.release("set",i,s),y.release("set",n,r),{res:0===a?1:m.clamp(o/a),raw:{intersection:o,union:a}}}}),g.add("jaroWinkler",class extends m{constructor(t,e,s={}){super("jaro-winkler",t,e,s,!0)}compute(t,e,s,r){const i=Math.max(0,Math.floor(r/2)-1),n=y.acquire("uint16",s),o=y.acquire("uint16",r);for(let t=0;t<s;t++)n[t]=0;for(let t=0;t<r;t++)o[t]=0;let a=0;for(let c=0;c<s;c++){const s=Math.max(0,c-i),h=Math.min(c+i+1,r);for(let r=s;r<h;r++)if(!o[r]&&t[c]===e[r]){n[c]=1,o[r]=1,a++;break}}let c=0,h=0,l=0,u=0;if(a>0){let i=0;for(let r=0;r<s;r++)if(n[r]){for(;!o[i];)i++;t[r]!==e[i]&&c++,i++}c/=2,h=(a/s+a/r+(a-c)/a)/3;for(let i=0;i<Math.min(4,s,r)&&t[i]===e[i];i++)l++;u=h+.1*l*(1-h)}return y.release("uint16",n,s),y.release("uint16",o,r),{res:m.clamp(u),raw:{matchWindow:i,matches:a,transpos:c,jaro:h,prefix:l}}}}),g.add("lcs",class extends m{constructor(t,e,s={}){super("lcs",t,e,s,!0)}compute(t,e,s,r,i){const n=s+1,[o,a]=y.acquireMany("uint16",[n,n]);for(let t=0;t<=s;t++)o[t]=0;for(let i=1;i<=r;i++){a[0]=0;const r=e.charCodeAt(i-1);for(let e=1;e<=s;e++)t.charCodeAt(e-1)===r?a[e]=o[e-1]+1:a[e]=Math.max(o[e],a[e-1]);o.set(a)}const c=o[s];return y.release("uint16",o,n),y.release("uint16",a,n),{res:0===i?1:m.clamp(c/i),raw:{lcs:c,maxLen:i}}}}),g.add("levenshtein",class extends m{constructor(t,e,s={}){super("levenshtein",t,e,s,!0)}compute(t,e,s,r,i){const n=s+1,[o,a]=y.acquireMany("uint16",[n,n]);for(let t=0;t<=s;t++)o[t]=t;for(let i=1;i<=r;i++){a[0]=i;const r=e.charCodeAt(i-1);for(let e=1;e<=s;e++){const s=t.charCodeAt(e-1)===r?0:1;a[e]=Math.min(a[e-1]+1,o[e]+1,o[e-1]+s)}o.set(a)}const c=o[s];return y.release("uint16",o,n),y.release("uint16",a,n),{res:0===i?1:m.clamp(1-c/i),raw:{dist:c,maxLen:i}}}}),g.add("needlemanWunsch",class extends m{constructor(t,e,s={}){super("needlemanWunsch",t,e,s,!0)}compute(t,e,s,r,i){const{match:n=1,mismatch:o=-1,gap:a=-1}=this.options,c=s+1,[h,l]=y.acquireMany("uint16",[c,c]);h[0]=0;for(let t=1;t<=s;t++)h[t]=h[t-1]+a;for(let i=1;i<=r;i++){l[0]=h[0]+a;const r=e.charCodeAt(i-1);for(let e=1;e<=s;e++){const s=t.charCodeAt(e-1)===r?n:o;l[e]=Math.max(h[e-1]+s,h[e]+a,l[e-1]+a)}h.set(l)}const u=h[s];y.release("uint16",h,c),y.release("uint16",l,c);const p=i*n;return{res:0===p?0:m.clamp(u/p),raw:{score:u,denum:p}}}}),g.add("qGram",class extends m{constructor(t,e,s={}){super("qgram",t,e,s,!0)}_qGrams(t,e){const s=Math.max(0,t.length-e+1),r=y.acquire("set",s);for(let i=0;i<s;i++)r.add(t.slice(i,i+e));return r}compute(t,e){const{q:s=2}=this.options,r=this._qGrams(t,s),i=this._qGrams(e,s);let n=0;for(const t of r)i.has(t)&&n++;const o=r.size,a=i.size,c=Math.max(o,a);return y.release("set",r,o),y.release("set",i,a),{res:0===c?1:m.clamp(n/c),raw:{intersection:n,size:c}}}}),g.add("smithWaterman",class extends m{constructor(t,e,s={}){super("smithWaterman",t,e,s,!0)}compute(t,e,s,r){const{match:i=2,mismatch:n=-1,gap:o=-2}=this.options,a=s+1,[c,h]=y.acquireMany("uint16",[a,a]);for(let t=0;t<=s;t++)c[t]=0;let l=0;for(let a=1;a<=r;a++){h[0]=0;const r=e.charCodeAt(a-1);for(let e=1;e<=s;e++){const s=t.charCodeAt(e-1)===r?i:n;h[e]=Math.max(0,c[e-1]+s,c[e]+o,h[e-1]+o),h[e]>l&&(l=h[e])}c.set(h)}y.release("uint16",c,a),y.release("uint16",h,a);const u=Math.min(s*i,r*i);return{res:0===u?0:m.clamp(l/u),raw:{score:l,denum:u}}}});const w=r.getInstance();class b{static cache=new a;static default;algo;options;map;static clear(){this.cache.clear()}constructor(t,e={}){this.options=s(this.constructor.default??{},e);const r=A.get(t,this.options.map);if(void 0===r)throw new Error(`requested mapping <${this.options.map}> is not declared`);this.algo=t,this.map=r}applyRules(t,e,s,r){const{ruleset:i=[]}=this.map;if(!i||!i.length)return;const n=s[e-1]||"",o=s[e-2]||"",a=s[e+1]||"",c=s[e+2]||"";for(const h of i)if((!h.char||h.char===t)&&("start"!==h.position||0===e)&&!("middle"===h.position&&e>0&&e<r)&&("end"!==h.position||e===r)&&(!h.prev||h.prev.includes(n))&&(!h.prevNot||!h.prevNot.includes(n))&&(!h.prev2||h.prev2.includes(o))&&(!h.prev2Not||!h.prev2Not.includes(o))&&(!h.next||h.next.includes(a))&&(!h.nextNot||!h.nextNot.includes(a))&&(!h.next2||h.next2.includes(c))&&(!h.next2Not||!h.next2Not.includes(c))&&(!h.leading||h.leading.includes(s.slice(0,h.leading.length).join("")))&&(!h.trailing||h.trailing.includes(s.slice(-h.trailing.length).join("")))&&(!h.match||h.match.every(((t,r)=>s[e+r]===t))))return h.code}encode(t){const{map:e={},ignore:s=[]}=this.map,r=this.word2Chars(t),i=r.length;let n="",o=null;for(let t=0;t<i;t++){const a=r[t];if(s.includes(a))continue;const c=this.mapChar(a,t,r,i,o,e);if(void 0!==c&&(n+=c,o=c,this.exitEarly(n,t)))break}return this.adjustCode(n,r)}mapChar(t,e,s,r,i,n){const{dedupe:o=!0}=this.options,a=this.applyRules(t,e,s,r)??n[t]??void 0;return o&&a===i?void 0:a}equalLen(t){const{length:e=-1,pad:s="0"}=this.options;return-1===e?t:(t+s.repeat(e)).slice(0,e)}word2Chars(t){return t.toLowerCase().split("")}exitEarly(t,e){const{length:s=-1}=this.options;return s>0&&t.length>=s}adjustCode(t,e){return t}loop(t){const e=[];for(const s of t){const t=b.cache.key(this.algo,[s]),r=b.cache.get(t||"")??(()=>{const e=this.encode(s);return t&&b.cache.set(t,e),e})();r&&r.length&&e.push(this.equalLen(r))}return e}async loopAsync(t){const e=[];for(const s of t){const t=await Promise.resolve(this.encode(s));t&&t.length&&e.push(this.equalLen(t))}return e}getAlgoName(){return this.algo}getIndex(t){const{delimiter:e=" "}=this.options;return w.run((()=>this.loop(t.split(e).filter(Boolean)).filter(Boolean)))}async getIndexAsync(t){const{delimiter:e=" "}=this.options;return(await w.runAsync((async()=>await this.loopAsync(t.split(e).filter(Boolean))))).filter(Boolean)}}const x=p("phonetic",b),A=(()=>{const t=Object.create(null),e=e=>t[e]||=Object.create(null);return{add(t,s,r,i=!1){const n=e(t);if(!i&&s in n)throw new Error(`entry <${s}> already exists / use <update=true> to overwrite`);n[s]=r},remove(t,s){delete e(t)[s]},has:(t,s)=>s in e(t),get:(t,s)=>e(t)[s],list:t=>Object.keys(e(t))}})();x.add("cologne",class extends b{static default={map:"default",delimiter:" ",length:-1,dedupe:!0};constructor(t={}){super("cologne",t)}adjustCode(t){return t.slice(0,1)+t.slice(1).replaceAll("0","")}}),A.add("cologne","default",{map:{a:"0","ä":"0",e:"0",i:"0",j:"0",o:"0","ö":"0",u:"0","ü":"0",y:"0",b:"1",p:"1",d:"2",t:"2",f:"3",v:"3",w:"3",g:"4",k:"4",q:"4",l:"5",m:"6",n:"6",r:"7",c:"8",s:"8","ß":"8",z:"8",x:"48"},ignore:["h"],ruleset:[{char:"p",next:["h"],code:"3"},{char:"c",position:"start",next:["a","h","k","l","o","q","r","u","x"],code:"4"},{char:"c",next:["a","h","k","o","q","u","x"],prevNot:["s","z"],code:"4"},{char:"d",next:["c","s","z"],code:"8"},{char:"t",next:["c","s","z"],code:"8"},{char:"x",prev:["c","k","q"],code:"8"}]}),x.add("metaphone",class extends b{static default={map:"en90",delimiter:" ",length:-1,pad:"",dedupe:!1};constructor(t={}){super("metaphone",t)}encode(t){return t=t.replace(/([A-BD-Z])\1+/gi,((t,e)=>"C"===e?t:e)),super.encode(t)}adjustCode(t){return t.slice(0,1)+t.slice(1).replace(/[AEIOU]/g,"")}}),A.add("metaphone","en90",{map:{a:"A",b:"B",c:"K",d:"T",e:"E",f:"F",g:"K",h:"H",i:"I",j:"J",k:"K",l:"L",m:"M",n:"N",o:"O",p:"P",q:"K",r:"R",s:"S",t:"T",u:"U",v:"F",w:"W",x:"KS",y:"Y",z:"S"},ruleset:[{char:"a",position:"start",next:["e"],code:""},{char:"g",position:"start",next:["n"],code:""},{char:"k",position:"start",next:["n"],code:""},{char:"p",position:"start",next:["n"],code:""},{char:"w",position:"start",next:["r"],code:""},{char:"b",position:"end",prev:["m"],code:""},{char:"c",next:["h"],prevNot:["s"],code:"X"},{char:"c",next:["i"],next2:["a"],code:"X"},{char:"c",next:["e","i","y"],code:"S"},{char:"d",next:["g"],next2:["e","i","y"],code:"J"},{char:"g",next:["h"],next2Not:["","a","e","i","o","u"],code:""},{char:"g",trailing:"n",code:""},{char:"g",trailing:"ned",code:""},{char:"g",next:["e","i","y"],prevNot:["g"],code:"J"},{char:"h",prev:["a","e","i","o","u"],nextNot:["a","e","i","o","u"],code:""},{char:"h",prev:["c","g","p","s","t"],code:""},{char:"k",prev:["c"],code:""},{char:"p",next:["h"],code:"F"},{char:"s",next:["h"],code:"X"},{char:"s",next:["i"],next2:["a","o"],code:"X"},{char:"t",next:["i"],next2:["a","o"],code:"X"},{char:"t",next:["h"],code:"0"},{char:"t",next:["c"],next2:["h"],code:""},{char:"w",nextNot:["a","e","i","o","u"],code:""},{char:"h",leading:"w",code:""},{char:"x",position:"start",code:"S"},{char:"y",nextNot:["a","e","i","o","u"],code:""}]}),x.add("soundex",class extends b{static default={map:"en",delimiter:" ",length:4,pad:"0",dedupe:!0};constructor(t={}){super("soundex",t)}adjustCode(t,e){return e[0].toUpperCase()+t.slice(1).replaceAll("0","")}}),A.add("soundex","en",{map:{a:"0",e:"0",h:"0",i:"0",o:"0",u:"0",w:"0",y:"0",b:"1",f:"1",p:"1",v:"1",c:"2",g:"2",j:"2",k:"2",q:"2",s:"2",x:"2",z:"2",d:"3",t:"3",l:"4",m:"5",n:"5",r:"6"}}),A.add("soundex","de",{map:{a:"0","ä":"0",e:"0",h:"0",i:"0",j:"0",o:"0","ö":"0",u:"0","ü":"0",y:"0",b:"1",f:"1",p:"1",v:"1",w:"1",c:"2",g:"2",k:"2",q:"2",s:"2","ß":"2",x:"2",z:"2",d:"3",t:"3",l:"4",m:"5",n:"5",r:"6"},ruleset:[{char:"c",next:["h"],code:"7"}]});const v=r.getInstance();class S{static filter={add:h.add,remove:h.remove,pause:h.pause,resume:h.resume,list:h.list,clear:h.clear};static metric={add:g.add,remove:g.remove,has:g.has,list:g.list};static phonetic={add:x.add,remove:x.remove,has:x.has,list:x.list,map:{add:A.add,remove:A.remove,has:A.has,list:A.list}};static profiler=v.services;static clearCache={normalizer:c.clear,metric:m.clear,phonetic:b.clear};static analyze(t){return new i(t)}static diff(t,e,s){return new n(t,e,s)}static create(t){return new S(t)}options=Object.create(null);constructor(t){t&&("string"==typeof t?this.setSerializedOptions(t):this.setOptions(t))}assert(t,e){switch(t){case"metric":if(!S.metric.has(e))throw new Error("CmpStr <metric> must be set, call .setMetric(), use CmpStr.metric.list() for available metrics");break;case"phonetic":if(!S.phonetic.has(e))throw new Error("CmpStr <phonetic> must be set, call .setPhonetic(), use CmpStr.phonetic.list() for available phonetic algorithms");break;default:throw new Error(`Cmpstr condition <${t}> unknown`)}}assertMany(...t){for(const[e,s]of t)this.assert(e,s)}resolveOptions(t){return s({...this.options??Object.create(null)},t)}normalize(t,e){return c.normalize(t,e??this.options.flags??"")}filter(t,e){return h.apply(e,t)}prepare(t,e){const{flags:s,processors:r}=e??this.options;return s?.length&&(t=this.normalize(t,s)),t=this.filter(t,"input"),r?.phonetic&&(t=this.index(t,r.phonetic)),t}postProcess(t,e){return e?.removeZero&&Array.isArray(t)&&(t=t.filter((t=>t.res>0))),t}index(t,{algo:e,opt:s}){this.assert("phonetic",e);const r=u.phonetic(e,s),i=s?.delimiter??" ";return Array.isArray(t)?t.map((t=>r.getIndex(t).join(i))):r.getIndex(t).join(i)}compute(t,e,s,r,i,n){const o=this.resolveOptions(s);this.assert("metric",o.metric);const a=n?t:this.prepare(t,o),c=n?e:this.prepare(e,o),h=u.metric(o.metric,a,c,o.opt);"prep"!==o.output&&h.setOriginal(t,e),h.run(r);const l=this.postProcess(h.getResults(),o);return this.output(l,i??o.raw)}output(t,e){return e??this.options.raw?t:Array.isArray(t)?t.map((t=>({source:t.a,target:t.b,match:t.res}))):{source:t.a,target:t.b,match:t.res}}clone(){return Object.assign(Object.create(Object.getPrototypeOf(this)),this)}reset(){for(const t in this.options)delete this.options[t];return this}setOptions(t){return this.options=t,this}mergeOptions(t){return s(this.options,t),this}setSerializedOptions(t){return this.options=JSON.parse(t),this}setOption(t,s){return e(this.options,t,s),this}rmvOption(e){return function(e,s,r=!1){const i=(t,e,s=0)=>{const n=e[s];if(!t||"object"!=typeof t)return!1;if(s===e.length-1)return delete t[n];if(!i(t[n],e,s+1))return!1;if(!r){const e=t[n];"object"==typeof e&&(Array.isArray(e)&&e.every((t=>null==t))||!Array.isArray(e)&&0===Object.keys(e).length)&&delete t[n]}return!0};i(e,t(s))}(this.options,e),this}setRaw(t){return this.setOption("raw",t)}setMetric(t){return this.setOption("metric",t)}setFlags(t){return this.setOption("flags",t)}rmvFlags(){return this.rmvOption("flags")}setProcessors(t){return this.setOption("processors",t)}rmvProcessors(){return this.rmvOption("processors")}getOptions(){return this.options}getSerializedOptions(){return JSON.stringify(this.options)}getOption(e){return function(e,s){return t(s).reduce(((t,e)=>t?.[e]??void 0),e)}(this.options,e)}test(t,e,s){return this.compute(t,e,s,"single")}compare(t,e,s){return this.compute(t,e,s,"single",!0).res}batchTest(t,e,s){return this.compute(t,e,s,"batch")}batchSorted(t,e,s="desc",r){return this.output(this.compute(t,e,r,"batch",!0).sort(((t,e)=>"asc"===s?t.res-e.res:e.res-t.res)),r?.raw??this.options.raw)}pairs(t,e,s){return this.compute(t,e,s,"pairwise")}match(t,e,s,r){return this.output(this.compute(t,e,r,"batch",!0).filter((t=>t.res>=s)).sort(((t,e)=>e.res-t.res)),r?.raw??this.options.raw)}closest(t,e,s=1,r){return this.batchSorted(t,e,"desc",r).slice(0,s)}furthest(t,e,s=1,r){return this.batchSorted(t,e,"asc",r).slice(0,s)}search(t,e,s,r){const i=this.resolveOptions({flags:s,processors:r}),n=this.prepare(t,i),o=this.prepare(e,i);return e.filter(((t,e)=>o[e].includes(n)))}matrix(t,e){return(t=this.prepare(t,this.resolveOptions(e))).map((e=>this.compute(e,t,void 0,"batch",!0,!0).map((t=>t.res??0))))}phoneticIndex(t,e,s){const{algo:r,opt:i}=this.options.processors?.phonetic??{};return this.index(t,{algo:e??r,opt:s??i})}}class z extends S{static create(t){return new z(t)}constructor(t){super(t)}async normalizeAsync(t,e){return c.normalizeAsync(t,e??this.options.flags??"")}async filterAsync(t,e){return h.applyAsync(e,t)}async prepareAsync(t,e){const{flags:s,processors:r}=e??this.options;return s?.length&&(t=await this.normalizeAsync(t,s)),t=await this.filterAsync(t,"input"),r?.phonetic&&(t=await this.indexAsync(t,r.phonetic)),t}async indexAsync(t,{algo:e,opt:s}){this.assert("phonetic",e);const r=u.phonetic(e,s),i=s?.delimiter??" ";return Array.isArray(t)?Promise.all(t.map((t=>r.getIndexAsync(t).then((t=>t.join(i)))))):r.getIndexAsync(t).then((t=>t.join(i)))}async computeAsync(t,e,s,r,i,n){const o=this.resolveOptions(s);this.assert("metric",o.metric);const a=n?t:await this.prepareAsync(t,o),c=n?e:await this.prepareAsync(e,o),h=u.metric(o.metric,a,c,o.opt);"prep"!==o.output&&h.setOriginal(t,e),await h.runAsync(r);const l=this.postProcess(h.getResults(),o);return this.output(l,i??o.raw)}async testAsync(t,e,s){return this.computeAsync(t,e,s,"single")}async compareAsync(t,e,s){return(await this.computeAsync(t,e,s,"single",!0)).res}async batchTestAsync(t,e,s){return this.computeAsync(t,e,s,"batch")}async batchSortedAsync(t,e,s="desc",r){const i=await this.computeAsync(t,e,r,"batch",!0);return this.output(i.sort(((t,e)=>"asc"===s?t.res-e.res:e.res-t.res)),r?.raw??this.options.raw)}async pairsAsync(t,e,s){return this.computeAsync(t,e,s,"pairwise")}async matchAsync(t,e,s,r){const i=await this.computeAsync(t,e,r,"batch",!0);return this.output(i.filter((t=>t.res>=s)).sort(((t,e)=>e.res-t.res)),r?.raw??this.options.raw)}async closestAsync(t,e,s=1,r){return(await this.batchSortedAsync(t,e,"desc",r)).slice(0,s)}async furthestAsync(t,e,s=1,r){return(await this.batchSortedAsync(t,e,"asc",r)).slice(0,s)}async searchAsync(t,e,s,r){const i=this.resolveOptions({flags:s,processors:r}),n=await this.prepareAsync(t,i),o=await this.prepareAsync(e,i);return e.filter(((t,e)=>o[e].includes(n)))}async matrixAsync(t,e){return t=await this.prepareAsync(t,this.resolveOptions(e)),Promise.all(t.map((async e=>await this.computeAsync(e,t,void 0,"batch",!0,!0).then((t=>t.map((t=>t.res??0)))))))}async phoneticIndexAsync(t,e,s){const{algo:r,opt:i}=this.options.processors?.phonetic??{};return this.indexAsync(t,{algo:e??r,opt:s??i})}}export{S as CmpStr,z as CmpStrAsync,n as DiffChecker,c as Normalizer,i as TextAnalyzer};
|
|
8
|
+
//# sourceMappingURL=CmpStr.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmpStr.esm.min.js","sources":["../src/utils/DeepMerge.ts","../src/utils/Profiler.ts","../src/utils/TextAnalyzer.ts","../src/utils/DiffChecker.ts","../src/utils/HashTable.ts","../src/utils/Normalizer.ts","../src/utils/Filter.ts","../src/utils/Registry.ts","../src/metric/Metric.ts","../src/utils/Pool.ts","../src/metric/Cosine.ts","../src/metric/DamerauLevenshtein.ts","../src/metric/DiceSorensen.ts","../src/metric/Hamming.ts","../src/metric/Jaccard.ts","../src/metric/JaroWinkler.ts","../src/metric/LCS.ts","../src/metric/Levenshtein.ts","../src/metric/NeedlemanWunsch.ts","../src/metric/qGram.ts","../src/metric/SmithWaterman.ts","../src/phonetic/Phonetic.ts","../src/phonetic/Cologne.ts","../src/phonetic/Metaphone.ts","../src/phonetic/Soundex.ts","../src/CmpStr.ts","../src/CmpStrAsync.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["parse","p","replace","split","map","s","test","set","t","path","value","k","r","undefined","Error","JSON","stringify","Object","assign","create","join","merge","o","mergeUndefined","keys","forEach","val","Array","isArray","Profiler","static","store","Set","totalTime","totalMem","active","detectEnv","process","ENV","performance","getInstance","enable","instance","constructor","this","now","Number","hrtime","bigint","Date","mem","memoryUsage","heapUsed","memory","usedJSHeapSize","disable","clear","run","fn","meta","startTime","startMem","res","deltaTime","deltaMem","add","time","runAsync","getAll","getLast","pop","getTotal","services","bind","report","last","total","TextAnalyzer","text","words","sentences","charFrequency","Map","wordHistogram","syllableCache","input","trim","tokenize","computeFrequencies","wordRegex","match","exec","push","toLowerCase","filter","Boolean","char","get","word","estimateSyllables","has","matches","count","length","getLength","getWordCount","getSentenceCount","getAvgWordLength","totalLen","w","getAvgSentenceLength","getWordHistogram","fromEntries","getMostCommonWords","limit","entries","sort","a","b","slice","e","getHapaxLegomena","c","hasNumbers","getUpperCaseRatio","upper","letters","i","len","getCharFrequency","getUnicodeStats","result","block","charCodeAt","toString","padStart","toUpperCase","getLongWordRatio","long","getShortWordRatio","short","getSyllablesCount","getMonosyllabicWordCount","getMinSyllablesWordCount","min","getMaxSyllablesWordCount","max","getHonoresR","Math","log","size","getReadingTime","wpm","getReadabilityScore","metric","asl","asw","getLIXScore","getWSTFScore","h","l","DiffChecker","options","grouped","diffRun","opt","mode","caseInsensitive","contextLines","groupedLines","expandLines","showChangeMagnitude","maxMagnitudeSymbols","lineBreak","computeDiff","text2lines","linesA","linesB","maxLen","concat","lineDiff","findGroups","line","baseLen","A","B","diffs","delSize","insSize","posA","posB","del","ins","preciseDiff","d","totalSize","magnitude","posIndex","reduce","_","origA","origB","tokenA","tokenB","lenA","lenB","posArrA","posArrB","ai","bi","found","offset","j","m","delArr","insArr","addGroup","group","start","end","sum","entry","magLen","round","plus","minus","repeat","output","cli","linePad","highlight","ansi","forced","headerEntry","header","out","ye","find","lineNo","mark","gn","gy","type","idx","pos","getStructuredDiff","getGroupedDiff","getASCIIDiff","getCLIDiff","Hasher","fnv1a","str","hash","HASH_OFFSET","chunks","floor","FNV_PRIME","remaining","HashTable","table","key","label","strs","sorted","MAX_LEN","hashes","update","TABLE_SIZE","delete","Normalizer","getPipeline","flags","pipeline","steps","includes","normalize","compiled","step","cache","normalizeAsync","Promise","all","resolve","Filter","hook","id","filters","f","priority","overrideable","index","findIndex","splice","remove","pause","resume","list","apply","every","applyOne","applyAsync","async","registry","factory","Registry","reg","ctor","classes","service","name","cls","prototype","TypeError","args","ReferenceError","resolveCls","err","profiler","Metric","symmetric","results","swap","n","clamp","preCompute","compute","runSingle","String","runSingleAsync","runBatch","runBatchAsync","runPairwise","runPairwiseAsync","setOriginal","isBatch","isSingle","isPairwise","safe","isSymmetrical","whichMode","getMetricName","getResults","MetricRegistry","RingPool","maxSize","buffers","pointer","acquire","minSize","allowOversize","item","release","Pool","uint16","maxItemSize","allocate","Uint16Array","fill","CONFIG","POOLS","buffer","subarray","acquireMany","sizes","super","_termFreq","delimiter","terms","freq","term","termsA","termsB","dotProduct","magnitudeA","magnitudeB","freqA","freqB","values","sqrt","raw","prev","curr","cb","ca","cost","dist","_bigrams","bigrams","substring","setA","setB","intersection","bigram","sizeA","sizeB","pad","padEnd","union","matchWindow","matchA","matchB","transpos","jaro","prefix","lcs","mismatch","gap","score","denum","_qGrams","q","grams","gram","maxScore","Phonetic","algo","default","PhoneticMappingRegistry","applyRules","chars","charLen","ruleset","prev2","next","next2","rule","position","prevNot","prev2Not","nextNot","next2Not","leading","trailing","code","encode","ignore","word2Chars","lastCode","mapped","mapChar","exitEarly","adjustCode","dedupe","equalLen","loop","loopAsync","getAlgoName","getIndex","getIndexAsync","PhoneticRegistry","mappings","maps","replaceAll","u","y","v","g","z","x","CmpStr","normalizer","phonetic","analyze","diff","setSerializedOptions","setOptions","assert","cond","assertMany","resolveOptions","DeepMerge.merge","prepare","processors","postProcess","removeZero","skip","resolved","source","target","clone","getPrototypeOf","reset","mergeOptions","setOption","DeepMerge.set","rmvOption","preserveEmpty","DeepMerge.rmv","setRaw","setMetric","setFlags","rmvFlags","setProcessors","rmvProcessors","getOptions","getSerializedOptions","getOption","DeepMerge.get","compare","batchTest","batchSorted","dir","pairs","threshold","closest","furthest","search","needle","haystack","hstk","matrix","phoneticIndex","CmpStrAsync","filterAsync","prepareAsync","indexAsync","then","computeAsync","testAsync","compareAsync","batchTestAsync","batchSortedAsync","pairsAsync","matchAsync","closestAsync","furthestAsync","searchAsync","matrixAsync","phoneticIndexAsync"],"mappings":"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"}
|