@orama/stemmers
Version:
Stemmers for Orama
1 lines • 7.72 kB
JavaScript
"use strict";function _export(r,s){for(var t in s)Object.defineProperty(r,t,{enumerable:!0,get:Object.getOwnPropertyDescriptor(s,t).get})}Object.defineProperty(exports,"__esModule",{value:!0}),_export(exports,{get language(){return language},get stemmer(){return stemmer}});var g=!0,p=!1;function C(){this.p=function(r){this.j=r,this.cursor=0,this.a=this.j.length,this.f=0,this.c=this.cursor,this.d=this.a},this.z=function(){return this.j},this.w=function(r){this.j=r.j,this.cursor=r.cursor,this.a=r.a,this.f=r.f,this.c=r.c,this.d=r.d},this.i=function(r,s,t){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>t||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?p:(this.cursor++,g)},this.n=function(r,s,t){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>t||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?p:(this.cursor--,g)},this.k=function(r,s,t){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>t||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?(this.cursor++,g):p},this.q=function(r,s,t){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>t||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?(this.cursor--,g):p},this.m=function(r){return this.a-this.cursor<r.length||this.j.slice(this.cursor,this.cursor+r.length)!=r?p:(this.cursor+=r.length,g)},this.g=function(r){return this.cursor-this.f<r.length||this.j.slice(this.cursor-r.length,this.cursor)!=r?p:(this.cursor-=r.length,g)},this.o=function(r){for(var s=0,t=r.length,i=this.cursor,e=this.a,c=0,u=0,o=p;;){var h,n=s+(t-s>>>1),a=0,k=c<u?c:u,f=r[n];for(h=k;h<f[0].length;h++){if(i+k==e){a=-1;break}if(0!=(a=this.j.charCodeAt(i+k)-f[0].charCodeAt(h)))break;k++}if(0>a?(t=n,u=k):(s=n,c=k),1>=t-s){if(0<s||t==s||o)break;o=g}}for(;;){if(c>=(f=r[s])[0].length&&(this.cursor=i+f[0].length,4>f.length||(s=f[3](this),this.cursor=i+f[0].length,s)))return f[2];if(0>(s=f[1]))return 0}},this.h=function(r){for(var s=0,t=r.length,i=this.cursor,e=this.f,c=0,u=0,o=p;;){var h,n=s+(t-s>>1),a=0,k=c<u?c:u,f=r[n];for(h=f[0].length-1-k;0<=h;h--){if(i-k==e){a=-1;break}if(0!=(a=this.j.charCodeAt(i-1-k)-f[0].charCodeAt(h)))break;k++}if(0>a?(t=n,u=k):(s=n,c=k),1>=t-s){if(0<s||t==s||o)break;o=g}}for(;;){if(c>=(f=r[s])[0].length&&(this.cursor=i-f[0].length,4>f.length||(s=f[3](this),this.cursor=i-f[0].length,s)))return f[2];if(0>(s=f[1]))return 0}},this.s=function(r,s,t){var i=t.length-(s-r);return this.j=this.j.slice(0,r)+t+this.j.slice(s),this.a+=i,this.cursor>=s?this.cursor+=i:this.cursor>r&&(this.cursor=r),i},this.t=function(){return 0>this.c||this.c>this.d||this.d>this.a||this.a>this.j.length?p:g},this.b=function(r){var s=p;return this.t()&&(this.s(this.c,this.d,r),s=g),s},this.e=function(){return this.b("")},this.r=function(r,s,t){s=this.s(r,s,t),r<=this.c&&(this.c+=s),r<=this.d&&(this.d+=s)},this.u=function(){var r="";return this.t()&&(r=this.j.slice(this.c,this.d)),r},this.v=function(){return this.j.slice(0,this.a)}}function stem(){function r(){return m<=i.cursor?g:p}function s(){var r=i.a-i.cursor;return 0==i.h(u)?p:(i.cursor=i.a-r,g)}function t(){if(!(i.cursor<=i.f)){i.cursor--,i.d=i.cursor;var r=i.cursor-1;r<i.f||(i.cursor=r,i.c=i.cursor,i.e())}}var i=new C,e=[["cs",-1,-1],["dzs",-1,-1],["gy",-1,-1],["ly",-1,-1],["ny",-1,-1],["sz",-1,-1],["ty",-1,-1],["zs",-1,-1]],c=[["\xe1",-1,1],["\xe9",-1,2]],u=[["bb",-1,-1],["cc",-1,-1],["dd",-1,-1],["ff",-1,-1],["gg",-1,-1],["jj",-1,-1],["kk",-1,-1],["ll",-1,-1],["mm",-1,-1],["nn",-1,-1],["pp",-1,-1],["rr",-1,-1],["ccs",-1,-1],["ss",-1,-1],["zzs",-1,-1],["tt",-1,-1],["vv",-1,-1],["ggy",-1,-1],["lly",-1,-1],["nny",-1,-1],["tty",-1,-1],["ssz",-1,-1],["zz",-1,-1]],o=[["al",-1,1],["el",-1,1]],h=[["ba",-1,-1],["ra",-1,-1],["be",-1,-1],["re",-1,-1],["ig",-1,-1],["nak",-1,-1],["nek",-1,-1],["val",-1,-1],["vel",-1,-1],["ul",-1,-1],["n\xe1l",-1,-1],["n\xe9l",-1,-1],["b\xf3l",-1,-1],["r\xf3l",-1,-1],["t\xf3l",-1,-1],["\xfcl",-1,-1],["ből",-1,-1],["ről",-1,-1],["től",-1,-1],["n",-1,-1],["an",19,-1],["ban",20,-1],["en",19,-1],["ben",22,-1],["k\xe9ppen",22,-1],["on",19,-1],["\xf6n",19,-1],["k\xe9pp",-1,-1],["kor",-1,-1],["t",-1,-1],["at",29,-1],["et",29,-1],["k\xe9nt",29,-1],["ank\xe9nt",32,-1],["enk\xe9nt",32,-1],["onk\xe9nt",32,-1],["ot",29,-1],["\xe9rt",29,-1],["\xf6t",29,-1],["hez",-1,-1],["hoz",-1,-1],["h\xf6z",-1,-1],["v\xe1",-1,-1],["v\xe9",-1,-1]],n=[["\xe1n",-1,2],["\xe9n",-1,1],["\xe1nk\xe9nt",-1,2]],a=[["stul",-1,1],["astul",0,1],["\xe1stul",0,2],["st\xfcl",-1,1],["est\xfcl",3,1],["\xe9st\xfcl",3,3]],k=[["\xe1",-1,1],["\xe9",-1,1]],f=[["k",-1,3],["ak",0,3],["ek",0,3],["ok",0,3],["\xe1k",0,1],["\xe9k",0,2],["\xf6k",0,3]],l=[["\xe9i",-1,1],["\xe1\xe9i",0,3],["\xe9\xe9i",0,2],["\xe9",-1,1],["k\xe9",3,1],["ak\xe9",4,1],["ek\xe9",4,1],["ok\xe9",4,1],["\xe1k\xe9",4,3],["\xe9k\xe9",4,2],["\xf6k\xe9",4,1],["\xe9\xe9",3,2]],b=[["a",-1,1],["ja",0,1],["d",-1,1],["ad",2,1],["ed",2,1],["od",2,1],["\xe1d",2,2],["\xe9d",2,3],["\xf6d",2,1],["e",-1,1],["je",9,1],["nk",-1,1],["unk",11,1],["\xe1nk",11,2],["\xe9nk",11,3],["\xfcnk",11,1],["uk",-1,1],["juk",16,1],["\xe1juk",17,2],["\xfck",-1,1],["j\xfck",19,1],["\xe9j\xfck",20,3],["m",-1,1],["am",22,1],["em",22,1],["om",22,1],["\xe1m",22,2],["\xe9m",22,3],["o",-1,1],["\xe1",-1,2],["\xe9",-1,3]],d=[["id",-1,1],["aid",0,1],["jaid",1,1],["eid",0,1],["jeid",3,1],["\xe1id",0,2],["\xe9id",0,3],["i",-1,1],["ai",7,1],["jai",8,1],["ei",7,1],["jei",10,1],["\xe1i",7,2],["\xe9i",7,3],["itek",-1,1],["eitek",14,1],["jeitek",15,1],["\xe9itek",14,3],["ik",-1,1],["aik",18,1],["jaik",19,1],["eik",18,1],["jeik",21,1],["\xe1ik",18,2],["\xe9ik",18,3],["ink",-1,1],["aink",25,1],["jaink",26,1],["eink",25,1],["jeink",28,1],["\xe1ink",25,2],["\xe9ink",25,3],["aitok",-1,1],["jaitok",32,1],["\xe1itok",-1,2],["im",-1,1],["aim",35,1],["jaim",36,1],["eim",35,1],["jeim",38,1],["\xe1im",35,2],["\xe9im",35,3]],j=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,36,10,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1],m=0;this.l=function(){var u=i.cursor;r:{m=i.a;s:{var v=i.cursor;t:if(i.i(j,97,369)){for(;;){var z=i.cursor;if(i.k(j,97,369)){i.cursor=z;break}if(i.cursor=z,i.cursor>=i.a)break t;i.cursor++}if(z=i.cursor,0==i.o(e)){if(i.cursor=z,i.cursor>=i.a)break t;i.cursor++}m=i.cursor;break s}if(i.cursor=v,i.k(j,97,369)){for(;!i.i(j,97,369);){if(i.cursor>=i.a)break r;i.cursor++}m=i.cursor}}}if(i.cursor=u,i.f=i.cursor,i.cursor=i.a,u=i.a-i.cursor,i.d=i.cursor,0!=i.h(o)&&(i.c=i.cursor,r()&&s()&&i.e()&&t()),i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=i.h(h)&&(i.c=i.cursor,r()&&i.e()&&(i.d=i.cursor,0!=(v=i.h(c))&&(i.c=i.cursor,r()))))switch(v){case 1:i.b("a");break;case 2:i.b("e")}if(i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=(v=i.h(n))&&(i.c=i.cursor,r()))switch(v){case 1:i.b("e");break;case 2:i.b("a")}if(i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=(v=i.h(a))&&(i.c=i.cursor,r()))switch(v){case 1:i.e();break;case 2:i.b("a");break;case 3:i.b("e")}if(i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=i.h(k)&&(i.c=i.cursor,r()&&s()&&i.e()&&t()),i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=(v=i.h(l))&&(i.c=i.cursor,r()))switch(v){case 1:i.e();break;case 2:i.b("e");break;case 3:i.b("a")}if(i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=(v=i.h(b))&&(i.c=i.cursor,r()))switch(v){case 1:i.e();break;case 2:i.b("a");break;case 3:i.b("e")}if(i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=(v=i.h(d))&&(i.c=i.cursor,r()))switch(v){case 1:i.e();break;case 2:i.b("a");break;case 3:i.b("e")}if(i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=(v=i.h(f))&&(i.c=i.cursor,r()))switch(v){case 1:i.b("a");break;case 2:i.b("e");break;case 3:i.e()}return i.cursor=i.a-u,i.cursor=i.f,g},this.stemWord=function(r){return i.p(r),this.l(),i.j}}let stemmerInstance=new stem;function stemmer(r){return stemmerInstance.stemWord(r)}let language="hungarian";