UNPKG

@orama/stemmers

Version:
1 lines 9.79 kB
"use strict";function _export(r,e){for(var i in e)Object.defineProperty(r,i,{enumerable:!0,get:Object.getOwnPropertyDescriptor(e,i).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,e,i){if(this.cursor>=this.a)return p;var s=this.j.charCodeAt(this.cursor);return s>i||s<e||0==(r[(s-=e)>>>3]&1<<(7&s))?p:(this.cursor++,g)},this.n=function(r,e,i){if(this.cursor<=this.f)return p;var s=this.j.charCodeAt(this.cursor-1);return s>i||s<e||0==(r[(s-=e)>>>3]&1<<(7&s))?p:(this.cursor--,g)},this.k=function(r,e,i){if(this.cursor>=this.a)return p;var s=this.j.charCodeAt(this.cursor);return s>i||s<e||0==(r[(s-=e)>>>3]&1<<(7&s))?(this.cursor++,g):p},this.q=function(r,e,i){if(this.cursor<=this.f)return p;var s=this.j.charCodeAt(this.cursor-1);return s>i||s<e||0==(r[(s-=e)>>>3]&1<<(7&s))?(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 e=0,i=r.length,s=this.cursor,t=this.a,o=0,c=0,u=p;;){var a,n=e+(i-e>>>1),h=0,f=o<c?o:c,l=r[n];for(a=f;a<l[0].length;a++){if(s+f==t){h=-1;break}if(0!=(h=this.j.charCodeAt(s+f)-l[0].charCodeAt(a)))break;f++}if(0>h?(i=n,c=f):(e=n,o=f),1>=i-e){if(0<e||i==e||u)break;u=g}}for(;;){if(o>=(l=r[e])[0].length&&(this.cursor=s+l[0].length,4>l.length||(e=l[3](this),this.cursor=s+l[0].length,e)))return l[2];if(0>(e=l[1]))return 0}},this.h=function(r){for(var e=0,i=r.length,s=this.cursor,t=this.f,o=0,c=0,u=p;;){var a,n=e+(i-e>>1),h=0,f=o<c?o:c,l=r[n];for(a=l[0].length-1-f;0<=a;a--){if(s-f==t){h=-1;break}if(0!=(h=this.j.charCodeAt(s-1-f)-l[0].charCodeAt(a)))break;f++}if(0>h?(i=n,c=f):(e=n,o=f),1>=i-e){if(0<e||i==e||u)break;u=g}}for(;;){if(o>=(l=r[e])[0].length&&(this.cursor=s-l[0].length,4>l.length||(e=l[3](this),this.cursor=s-l[0].length,e)))return l[2];if(0>(e=l[1]))return 0}},this.s=function(r,e,i){var s=i.length-(e-r);return this.j=this.j.slice(0,r)+i+this.j.slice(e),this.a+=s,this.cursor>=e?this.cursor+=s:this.cursor>r&&(this.cursor=r),s},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 e=p;return this.t()&&(this.s(this.c,this.d,r),e=g),e},this.e=function(){return this.b("")},this.r=function(r,e,i){e=this.s(r,e,i),r<=this.c&&(this.c+=e),r<=this.d&&(this.d+=e)},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 e(){return k<=i.cursor?g:p}var i=new C,s=[["",-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]],o=[["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]],c=[["ando",-1,1],["endo",-1,1],["ar",-1,2],["er",-1,2],["ir",-1,2]],u=[["ic",-1,-1],["abil",-1,-1],["os",-1,-1],["iv",-1,1]],a=[["ic",-1,1],["abil",-1,1],["iv",-1,1]],n=[["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]],h=[["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]],f=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],l=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],b=[17],k=0,v=0,m=0;this.l=function(){var d=i.cursor;!function(){for(var r,e=i.cursor;;){var t=i.cursor;r:if(i.c=i.cursor,0!=(r=i.o(s))){switch(i.d=i.cursor,r){case 1:if(!i.b("\xe0"))return;break;case 2:if(!i.b("\xe8"))return;break;case 3:if(!i.b("\xec"))return;break;case 4:if(!i.b("\xf2"))return;break;case 5:if(!i.b("\xf9"))return;break;case 6:if(!i.b("qU"))return;break;case 7:if(i.cursor>=i.a)break r;i.cursor++}continue}i.cursor=t;break}for(i.cursor=e;;){r=i.cursor;r:{for(;;){e=i.cursor;e:if(i.i(f,97,249)){i.c=i.cursor;i:{if(t=i.cursor,i.m("u")&&(i.d=i.cursor,i.i(f,97,249))){if(!i.b("U"))return;break i}if(i.cursor=t,!i.m("i")||(i.d=i.cursor,!i.i(f,97,249)))break e;if(!i.b("I"))return}i.cursor=e;break}if(i.cursor=e,i.cursor>=i.a)break r;i.cursor++}continue}i.cursor=r;break}}(),i.cursor=d,k=v=m=i.a,d=i.cursor;r:{s:{var j=i.cursor;e:if(i.i(f,97,249)){i:{var z=i.cursor;t:if(i.k(f,97,249)){for(;!i.i(f,97,249);){if(i.cursor>=i.a)break t;i.cursor++}break i}if(i.cursor=z,!i.i(f,97,249))break e;for(;!i.k(f,97,249);){if(i.cursor>=i.a)break e;i.cursor++}}break s}if(i.cursor=j,!i.k(f,97,249))break r;e:{j=i.cursor;i:if(i.k(f,97,249)){for(;!i.i(f,97,249);){if(i.cursor>=i.a)break i;i.cursor++}break e}if(i.cursor=j,!i.i(f,97,249)||i.cursor>=i.a)break r;i.cursor++}}m=i.cursor}i.cursor=d,d=i.cursor;r:{for(;!i.i(f,97,249);){if(i.cursor>=i.a)break r;i.cursor++}for(;!i.k(f,97,249);){if(i.cursor>=i.a)break r;i.cursor++}for(v=i.cursor;!i.i(f,97,249);){if(i.cursor>=i.a)break r;i.cursor++}for(;!i.k(f,97,249);){if(i.cursor>=i.a)break r;i.cursor++}k=i.cursor}if(i.cursor=d,i.f=i.cursor,i.cursor=i.a,d=i.a-i.cursor,i.d=i.cursor,0!=i.h(o)&&(i.c=i.cursor,0!=(j=i.h(c))&&r()))switch(j){case 1:i.e();break;case 2:i.b("e")}i.cursor=i.a-d,d=i.a-i.cursor,j=i.a-i.cursor,!function(){var s;if(i.d=i.cursor,0==(s=i.h(n)))return p;switch(i.c=i.cursor,s){case 1:if(!e()||!i.e())return p;break;case 2:if(!e()||!i.e())return p;if(s=i.a-i.cursor,i.d=i.cursor,i.g("ic"))if(i.c=i.cursor,e()){if(!i.e())return p}else i.cursor=i.a-s;else i.cursor=i.a-s;break;case 3:if(!e()||!i.b("log"))return p;break;case 4:if(!e()||!i.b("u"))return p;break;case 5:if(!e()||!i.b("ente"))return p;break;case 6:if(!r()||!i.e())return p;break;case 7:if(!(v<=i.cursor)||!i.e())return p;var t=i.a-i.cursor;r:if(i.d=i.cursor,0==(s=i.h(u)))i.cursor=i.a-t;else if(i.c=i.cursor,e()){if(!i.e())return p;if(1===s){if(i.d=i.cursor,!i.g("at")||(i.c=i.cursor,!e())){i.cursor=i.a-t;break r}if(!i.e())return p}}else i.cursor=i.a-t;break;case 8:if(!e()||!i.e())return p;if(s=i.a-i.cursor,i.d=i.cursor,0==i.h(a))i.cursor=i.a-s;else if(i.c=i.cursor,e()){if(!i.e())return p}else i.cursor=i.a-s;break;case 9:if(!e()||!i.e())return p;if(s=i.a-i.cursor,i.d=i.cursor,i.g("at"))if(i.c=i.cursor,e()){if(!i.e())return p;if(i.d=i.cursor,i.g("ic"))if(i.c=i.cursor,e()){if(!i.e())return p}else i.cursor=i.a-s;else i.cursor=i.a-s}else i.cursor=i.a-s;else i.cursor=i.a-s}return g}()&&(i.cursor=i.a-j,i.cursor<m||(j=i.f,i.f=m,i.d=i.cursor,0==i.h(h)?i.f=j:(i.c=i.cursor,i.e()&&(i.f=j)))),i.cursor=i.a-d,d=i.a-i.cursor;r:{if(j=i.a-i.cursor,i.d=i.cursor,i.n(l,97,242))if(i.c=i.cursor,r()){if(!i.e())break r;if(i.d=i.cursor,i.g("i"))if(i.c=i.cursor,r()){if(!i.e())break r}else i.cursor=i.a-j;else i.cursor=i.a-j}else i.cursor=i.a-j;else i.cursor=i.a-j;j=i.a-i.cursor,i.d=i.cursor,i.g("h")?(i.c=i.cursor,i.n(b,99,103)&&r()?i.e():i.cursor=i.a-j):i.cursor=i.a-j}i.cursor=i.a-d,i.cursor=i.f,d=i.cursor;r:for(;;){z=i.cursor;s:if(i.c=i.cursor,0!=(j=i.o(t))){switch(i.d=i.cursor,j){case 1:if(!i.b("i"))break r;break;case 2:if(!i.b("u"))break r;break;case 3:if(i.cursor>=i.a)break s;i.cursor++}continue}i.cursor=z;break}return i.cursor=d,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="italian";