@orama/stemmers
Version:
Stemmers for Orama
1 lines • 9.53 kB
JavaScript
function r(){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,i,s){if(this.cursor>=this.a)return!1;var e=this.j.charCodeAt(this.cursor);return!(e>s)&&!(e<i)&&0!=(r[(e-=i)>>>3]&1<<(7&e))&&(this.cursor++,!0)},this.n=function(r,i,s){if(this.cursor<=this.f)return!1;var e=this.j.charCodeAt(this.cursor-1);return!(e>s)&&!(e<i)&&0!=(r[(e-=i)>>>3]&1<<(7&e))&&(this.cursor--,!0)},this.k=function(r,i,s){if(this.cursor>=this.a)return!1;var e=this.j.charCodeAt(this.cursor);return e>s||e<i?(this.cursor++,!0):0==(r[(e-=i)>>>3]&1<<(7&e))&&(this.cursor++,!0)},this.q=function(r,i,s){if(this.cursor<=this.f)return!1;var e=this.j.charCodeAt(this.cursor-1);return e>s||e<i?(this.cursor--,!0):0==(r[(e-=i)>>>3]&1<<(7&e))&&(this.cursor--,!0)},this.m=function(r){return!(this.a-this.cursor<r.length)&&this.j.slice(this.cursor,this.cursor+r.length)==r&&(this.cursor+=r.length,!0)},this.g=function(r){return!(this.cursor-this.f<r.length)&&this.j.slice(this.cursor-r.length,this.cursor)==r&&(this.cursor-=r.length,!0)},this.o=function(r){for(var i=0,s=r.length,e=this.cursor,o=this.a,t=0,c=0,u=!1;;){var a,n=i+(s-i>>>1),h=0,f=t<c?t:c,l=r[n];for(a=f;a<l[0].length;a++){if(e+f==o){h=-1;break}if(0!=(h=this.j.charCodeAt(e+f)-l[0].charCodeAt(a)))break;f++}if(0>h?(s=n,c=f):(i=n,t=f),1>=s-i){if(0<i||s==i||u)break;u=!0}}for(;;){if(t>=(l=r[i])[0].length&&(this.cursor=e+l[0].length,4>l.length||(i=l[3](this),this.cursor=e+l[0].length,i)))return l[2];if(0>(i=l[1]))return 0}},this.h=function(r){for(var i=0,s=r.length,e=this.cursor,o=this.f,t=0,c=0,u=!1;;){var a,n=i+(s-i>>1),h=0,f=t<c?t:c,l=r[n];for(a=l[0].length-1-f;0<=a;a--){if(e-f==o){h=-1;break}if(0!=(h=this.j.charCodeAt(e-1-f)-l[0].charCodeAt(a)))break;f++}if(0>h?(s=n,c=f):(i=n,t=f),1>=s-i){if(0<i||s==i||u)break;u=!0}}for(;;){if(t>=(l=r[i])[0].length&&(this.cursor=e-l[0].length,4>l.length||(i=l[3](this),this.cursor=e-l[0].length,i)))return l[2];if(0>(i=l[1]))return 0}},this.s=function(r,i,s){var e=s.length-(i-r);return this.j=this.j.slice(0,r)+s+this.j.slice(i),this.a+=e,this.cursor>=i?this.cursor+=e:this.cursor>r&&(this.cursor=r),e},this.t=function(){return!(0>this.c)&&!(this.c>this.d)&&!(this.d>this.a)&&!(this.a>this.j.length)},this.b=function(r){var i=!1;return this.t()&&(this.s(this.c,this.d,r),i=!0),i},this.e=function(){return this.b("")},this.r=function(r,i,s){i=this.s(r,i,s),r<=this.c&&(this.c+=i),r<=this.d&&(this.d+=i)},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)}}let i=new function(){function i(){return g<=e.cursor}function s(){return v<=e.cursor}var e=new r,o=[["",-1,7],["qu",0,6],["\xe1",0,1],["\xe9",0,2],["\xed",0,3],["\xf3",0,4],["\xfa",0,5]],t=[["",-1,3],["I",0,1],["U",0,2]],c=[["la",-1,-1],["cela",0,-1],["gliela",0,-1],["mela",0,-1],["tela",0,-1],["vela",0,-1],["le",-1,-1],["cele",6,-1],["gliele",6,-1],["mele",6,-1],["tele",6,-1],["vele",6,-1],["ne",-1,-1],["cene",12,-1],["gliene",12,-1],["mene",12,-1],["sene",12,-1],["tene",12,-1],["vene",12,-1],["ci",-1,-1],["li",-1,-1],["celi",20,-1],["glieli",20,-1],["meli",20,-1],["teli",20,-1],["veli",20,-1],["gli",20,-1],["mi",-1,-1],["si",-1,-1],["ti",-1,-1],["vi",-1,-1],["lo",-1,-1],["celo",31,-1],["glielo",31,-1],["melo",31,-1],["telo",31,-1],["velo",31,-1]],u=[["ando",-1,1],["endo",-1,1],["ar",-1,2],["er",-1,2],["ir",-1,2]],a=[["ic",-1,-1],["abil",-1,-1],["os",-1,-1],["iv",-1,1]],n=[["ic",-1,1],["abil",-1,1],["iv",-1,1]],h=[["ica",-1,1],["logia",-1,3],["osa",-1,1],["ista",-1,1],["iva",-1,9],["anza",-1,1],["enza",-1,5],["ice",-1,1],["atrice",7,1],["iche",-1,1],["logie",-1,3],["abile",-1,1],["ibile",-1,1],["usione",-1,4],["azione",-1,2],["uzione",-1,4],["atore",-1,2],["ose",-1,1],["ante",-1,1],["mente",-1,1],["amente",19,7],["iste",-1,1],["ive",-1,9],["anze",-1,1],["enze",-1,5],["ici",-1,1],["atrici",25,1],["ichi",-1,1],["abili",-1,1],["ibili",-1,1],["ismi",-1,1],["usioni",-1,4],["azioni",-1,2],["uzioni",-1,4],["atori",-1,2],["osi",-1,1],["anti",-1,1],["amenti",-1,6],["imenti",-1,6],["isti",-1,1],["ivi",-1,9],["ico",-1,1],["ismo",-1,1],["oso",-1,1],["amento",-1,6],["imento",-1,6],["ivo",-1,9],["it\xe0",-1,8],["ist\xe0",-1,1],["ist\xe8",-1,1],["ist\xec",-1,1]],f=[["isca",-1,1],["enda",-1,1],["ata",-1,1],["ita",-1,1],["uta",-1,1],["ava",-1,1],["eva",-1,1],["iva",-1,1],["erebbe",-1,1],["irebbe",-1,1],["isce",-1,1],["ende",-1,1],["are",-1,1],["ere",-1,1],["ire",-1,1],["asse",-1,1],["ate",-1,1],["avate",16,1],["evate",16,1],["ivate",16,1],["ete",-1,1],["erete",20,1],["irete",20,1],["ite",-1,1],["ereste",-1,1],["ireste",-1,1],["ute",-1,1],["erai",-1,1],["irai",-1,1],["isci",-1,1],["endi",-1,1],["erei",-1,1],["irei",-1,1],["assi",-1,1],["ati",-1,1],["iti",-1,1],["eresti",-1,1],["iresti",-1,1],["uti",-1,1],["avi",-1,1],["evi",-1,1],["ivi",-1,1],["isco",-1,1],["ando",-1,1],["endo",-1,1],["Yamo",-1,1],["iamo",-1,1],["avamo",-1,1],["evamo",-1,1],["ivamo",-1,1],["eremo",-1,1],["iremo",-1,1],["assimo",-1,1],["ammo",-1,1],["emmo",-1,1],["eremmo",54,1],["iremmo",54,1],["immo",-1,1],["ano",-1,1],["iscano",58,1],["avano",58,1],["evano",58,1],["ivano",58,1],["eranno",-1,1],["iranno",-1,1],["ono",-1,1],["iscono",65,1],["arono",65,1],["erono",65,1],["irono",65,1],["erebbero",-1,1],["irebbero",-1,1],["assero",-1,1],["essero",-1,1],["issero",-1,1],["ato",-1,1],["ito",-1,1],["uto",-1,1],["avo",-1,1],["evo",-1,1],["ivo",-1,1],["ar",-1,1],["ir",-1,1],["er\xe0",-1,1],["ir\xe0",-1,1],["er\xf2",-1,1],["ir\xf2",-1,1]],l=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],b=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],k=[17],v=0,d=0,g=0;this.l=function(){var r=e.cursor;!function(){for(var r,i=e.cursor;;){var s=e.cursor;r:if(e.c=e.cursor,0!=(r=e.o(o))){switch(e.d=e.cursor,r){case 1:if(!e.b("\xe0"))return;break;case 2:if(!e.b("\xe8"))return;break;case 3:if(!e.b("\xec"))return;break;case 4:if(!e.b("\xf2"))return;break;case 5:if(!e.b("\xf9"))return;break;case 6:if(!e.b("qU"))return;break;case 7:if(e.cursor>=e.a)break r;e.cursor++}continue}e.cursor=s;break}for(e.cursor=i;;){r=e.cursor;r:{for(;;){i=e.cursor;i:if(e.i(l,97,249)){e.c=e.cursor;s:{if(s=e.cursor,e.m("u")&&(e.d=e.cursor,e.i(l,97,249))){if(!e.b("U"))return;break s}if(e.cursor=s,!e.m("i")||(e.d=e.cursor,!e.i(l,97,249)))break i;if(!e.b("I"))return}e.cursor=i;break}if(e.cursor=i,e.cursor>=e.a)break r;e.cursor++}continue}e.cursor=r;break}}(),e.cursor=r,v=d=g=e.a,r=e.cursor;r:{e:{var m=e.cursor;i:if(e.i(l,97,249)){s:{var j=e.cursor;o:if(e.k(l,97,249)){for(;!e.i(l,97,249);){if(e.cursor>=e.a)break o;e.cursor++}break s}if(e.cursor=j,!e.i(l,97,249))break i;for(;!e.k(l,97,249);){if(e.cursor>=e.a)break i;e.cursor++}}break e}if(e.cursor=m,!e.k(l,97,249))break r;i:{m=e.cursor;s:if(e.k(l,97,249)){for(;!e.i(l,97,249);){if(e.cursor>=e.a)break s;e.cursor++}break i}if(e.cursor=m,!e.i(l,97,249)||e.cursor>=e.a)break r;e.cursor++}}g=e.cursor}e.cursor=r,r=e.cursor;r:{for(;!e.i(l,97,249);){if(e.cursor>=e.a)break r;e.cursor++}for(;!e.k(l,97,249);){if(e.cursor>=e.a)break r;e.cursor++}for(d=e.cursor;!e.i(l,97,249);){if(e.cursor>=e.a)break r;e.cursor++}for(;!e.k(l,97,249);){if(e.cursor>=e.a)break r;e.cursor++}v=e.cursor}if(e.cursor=r,e.f=e.cursor,e.cursor=e.a,r=e.a-e.cursor,e.d=e.cursor,0!=e.h(c)&&(e.c=e.cursor,0!=(m=e.h(u))&&i()))switch(m){case 1:e.e();break;case 2:e.b("e")}e.cursor=e.a-r,r=e.a-e.cursor,m=e.a-e.cursor,!function(){var r;if(e.d=e.cursor,0==(r=e.h(h)))return!1;switch(e.c=e.cursor,r){case 1:if(!s()||!e.e())return!1;break;case 2:if(!s()||!e.e())return!1;if(r=e.a-e.cursor,e.d=e.cursor,e.g("ic"))if(e.c=e.cursor,s()){if(!e.e())return!1}else e.cursor=e.a-r;else e.cursor=e.a-r;break;case 3:if(!s()||!e.b("log"))return!1;break;case 4:if(!s()||!e.b("u"))return!1;break;case 5:if(!s()||!e.b("ente"))return!1;break;case 6:if(!i()||!e.e())return!1;break;case 7:if(!(d<=e.cursor)||!e.e())return!1;var o=e.a-e.cursor;r:if(e.d=e.cursor,0==(r=e.h(a)))e.cursor=e.a-o;else if(e.c=e.cursor,s()){if(!e.e())return!1;if(1===r){if(e.d=e.cursor,!e.g("at")||(e.c=e.cursor,!s())){e.cursor=e.a-o;break r}if(!e.e())return!1}}else e.cursor=e.a-o;break;case 8:if(!s()||!e.e())return!1;if(r=e.a-e.cursor,e.d=e.cursor,0==e.h(n))e.cursor=e.a-r;else if(e.c=e.cursor,s()){if(!e.e())return!1}else e.cursor=e.a-r;break;case 9:if(!s()||!e.e())return!1;if(r=e.a-e.cursor,e.d=e.cursor,e.g("at"))if(e.c=e.cursor,s()){if(!e.e())return!1;if(e.d=e.cursor,e.g("ic"))if(e.c=e.cursor,s()){if(!e.e())return!1}else e.cursor=e.a-r;else e.cursor=e.a-r}else e.cursor=e.a-r;else e.cursor=e.a-r}return!0}()&&(e.cursor=e.a-m,e.cursor<g||(m=e.f,e.f=g,e.d=e.cursor,0==e.h(f)?e.f=m:(e.c=e.cursor,e.e()&&(e.f=m)))),e.cursor=e.a-r,r=e.a-e.cursor;r:{if(m=e.a-e.cursor,e.d=e.cursor,e.n(b,97,242))if(e.c=e.cursor,i()){if(!e.e())break r;if(e.d=e.cursor,e.g("i"))if(e.c=e.cursor,i()){if(!e.e())break r}else e.cursor=e.a-m;else e.cursor=e.a-m}else e.cursor=e.a-m;else e.cursor=e.a-m;m=e.a-e.cursor,e.d=e.cursor,e.g("h")?(e.c=e.cursor,e.n(k,99,103)&&i()?e.e():e.cursor=e.a-m):e.cursor=e.a-m}e.cursor=e.a-r,e.cursor=e.f,r=e.cursor;r:for(;;){j=e.cursor;e:if(e.c=e.cursor,0!=(m=e.o(t))){switch(e.d=e.cursor,m){case 1:if(!e.b("i"))break r;break;case 2:if(!e.b("u"))break r;break;case 3:if(e.cursor>=e.a)break e;e.cursor++}continue}e.cursor=j;break}return e.cursor=r,!0},this.stemWord=function(r){return e.p(r),this.l(),e.j}};export function stemmer(r){return i.stemWord(r)}export const language="italian";