UNPKG

@orama/stemmers

Version:
1 lines 8.54 kB
"use strict";function _export(s,i){for(var t in i)Object.defineProperty(s,t,{enumerable:!0,get:i[t]})}Object.defineProperty(exports,"__esModule",{value:!0}),_export(exports,{language:function(){return language},stemmer:function(){return stemmer}});var g=!0,p=!1;function C(){this.p=function(s){this.j=s,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(s){this.j=s.j,this.cursor=s.cursor,this.a=s.a,this.f=s.f,this.c=s.c,this.d=s.d},this.i=function(s,i,t){if(this.cursor>=this.a)return p;var r=this.j.charCodeAt(this.cursor);return r>t||r<i||0==(s[(r-=i)>>>3]&1<<(7&r))?p:(this.cursor++,g)},this.n=function(s,i,t){if(this.cursor<=this.f)return p;var r=this.j.charCodeAt(this.cursor-1);return r>t||r<i||0==(s[(r-=i)>>>3]&1<<(7&r))?p:(this.cursor--,g)},this.k=function(s,i,t){if(this.cursor>=this.a)return p;var r=this.j.charCodeAt(this.cursor);return r>t||r<i||0==(s[(r-=i)>>>3]&1<<(7&r))?(this.cursor++,g):p},this.q=function(s,i,t){if(this.cursor<=this.f)return p;var r=this.j.charCodeAt(this.cursor-1);return r>t||r<i||0==(s[(r-=i)>>>3]&1<<(7&r))?(this.cursor--,g):p},this.m=function(s){return this.a-this.cursor<s.length||this.j.slice(this.cursor,this.cursor+s.length)!=s?p:(this.cursor+=s.length,g)},this.g=function(s){return this.cursor-this.f<s.length||this.j.slice(this.cursor-s.length,this.cursor)!=s?p:(this.cursor-=s.length,g)},this.o=function(s){for(var i=0,t=s.length,r=this.cursor,e=this.a,u=0,o=0,a=p;;){var n,c=i+(t-i>>>1),h=0,f=u<o?u:o,m=s[c];for(n=f;n<m[0].length;n++){if(r+f==e){h=-1;break}if(0!=(h=this.j.charCodeAt(r+f)-m[0].charCodeAt(n)))break;f++}if(0>h?(t=c,o=f):(i=c,u=f),1>=t-i){if(0<i||t==i||a)break;a=g}}for(;;){if(u>=(m=s[i])[0].length&&(this.cursor=r+m[0].length,4>m.length||(i=m[3](this),this.cursor=r+m[0].length,i)))return m[2];if(0>(i=m[1]))return 0}},this.h=function(s){for(var i=0,t=s.length,r=this.cursor,e=this.f,u=0,o=0,a=p;;){var n,c=i+(t-i>>1),h=0,f=u<o?u:o,m=s[c];for(n=m[0].length-1-f;0<=n;n--){if(r-f==e){h=-1;break}if(0!=(h=this.j.charCodeAt(r-1-f)-m[0].charCodeAt(n)))break;f++}if(0>h?(t=c,o=f):(i=c,u=f),1>=t-i){if(0<i||t==i||a)break;a=g}}for(;;){if(u>=(m=s[i])[0].length&&(this.cursor=r-m[0].length,4>m.length||(i=m[3](this),this.cursor=r-m[0].length,i)))return m[2];if(0>(i=m[1]))return 0}},this.s=function(s,i,t){var r=t.length-(i-s);return this.j=this.j.slice(0,s)+t+this.j.slice(i),this.a+=r,this.cursor>=i?this.cursor+=r:this.cursor>s&&(this.cursor=s),r},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(s){var i=p;return this.t()&&(this.s(this.c,this.d,s),i=g),i},this.e=function(){return this.b("")},this.r=function(s,i,t){i=this.s(s,i,t),s<=this.c&&(this.c+=i),s<=this.d&&(this.d+=i)},this.u=function(){var s="";return this.t()&&(s=this.j.slice(this.c,this.d)),s},this.v=function(){return this.j.slice(0,this.a)}}function stem(){function s(){var s;if(i.d=i.cursor,0!=(s=i.h(u)))switch(i.c=i.cursor,s){case 1:i.b("t");break;case 2:i.b("d")}}var i=new C,t=[["a",-1,-1],["ia",0,-1],["eria",1,-1],["osna",0,-1],["iosna",3,-1],["uosna",3,-1],["iuosna",5,-1],["ysna",0,-1],["ėsna",0,-1],["e",-1,-1],["ie",9,-1],["enie",10,-1],["erie",10,-1],["oje",9,-1],["ioje",13,-1],["uje",9,-1],["iuje",15,-1],["yje",9,-1],["enyje",17,-1],["eryje",17,-1],["ėje",9,-1],["ame",9,-1],["iame",21,-1],["sime",9,-1],["ome",9,-1],["ėme",9,-1],["tumėme",25,-1],["ose",9,-1],["iose",27,-1],["uose",27,-1],["iuose",29,-1],["yse",9,-1],["enyse",31,-1],["eryse",31,-1],["ėse",9,-1],["ate",9,-1],["iate",35,-1],["ite",9,-1],["kite",37,-1],["site",37,-1],["ote",9,-1],["tute",9,-1],["ėte",9,-1],["tumėte",42,-1],["i",-1,-1],["ai",44,-1],["iai",45,-1],["eriai",46,-1],["ei",44,-1],["tumei",48,-1],["ki",44,-1],["imi",44,-1],["erimi",51,-1],["umi",44,-1],["iumi",53,-1],["si",44,-1],["asi",55,-1],["iasi",56,-1],["esi",55,-1],["iesi",58,-1],["siesi",59,-1],["isi",55,-1],["aisi",61,-1],["eisi",61,-1],["tumeisi",63,-1],["uisi",61,-1],["osi",55,-1],["ėjosi",66,-1],["uosi",66,-1],["iuosi",68,-1],["siuosi",69,-1],["usi",55,-1],["ausi",71,-1],["čiausi",72,-1],["ąsi",55,-1],["ėsi",55,-1],["ųsi",55,-1],["tųsi",76,-1],["ti",44,-1],["enti",78,-1],["inti",78,-1],["oti",78,-1],["ioti",81,-1],["uoti",81,-1],["iuoti",83,-1],["auti",78,-1],["iauti",85,-1],["yti",78,-1],["ėti",78,-1],["telėti",88,-1],["inėti",88,-1],["terėti",88,-1],["ui",44,-1],["iui",92,-1],["eniui",93,-1],["oj",-1,-1],["ėj",-1,-1],["k",-1,-1],["am",-1,-1],["iam",98,-1],["iem",-1,-1],["im",-1,-1],["sim",101,-1],["om",-1,-1],["tum",-1,-1],["ėm",-1,-1],["tumėm",105,-1],["an",-1,-1],["on",-1,-1],["ion",108,-1],["un",-1,-1],["iun",110,-1],["ėn",-1,-1],["o",-1,-1],["io",113,-1],["enio",114,-1],["ėjo",113,-1],["uo",113,-1],["s",-1,-1],["as",118,-1],["ias",119,-1],["es",118,-1],["ies",121,-1],["is",118,-1],["ais",123,-1],["iais",124,-1],["tumeis",123,-1],["imis",123,-1],["enimis",127,-1],["omis",123,-1],["iomis",129,-1],["umis",123,-1],["ėmis",123,-1],["enis",123,-1],["asis",123,-1],["ysis",123,-1],["ams",118,-1],["iams",136,-1],["iems",118,-1],["ims",118,-1],["enims",139,-1],["erims",139,-1],["oms",118,-1],["ioms",142,-1],["ums",118,-1],["ėms",118,-1],["ens",118,-1],["os",118,-1],["ios",147,-1],["uos",147,-1],["iuos",149,-1],["ers",118,-1],["us",118,-1],["aus",152,-1],["iaus",153,-1],["ius",152,-1],["ys",118,-1],["enys",156,-1],["erys",156,-1],["ąs",118,-1],["iąs",159,-1],["ės",118,-1],["amės",161,-1],["iamės",162,-1],["imės",161,-1],["kimės",164,-1],["simės",164,-1],["omės",161,-1],["ėmės",161,-1],["tumėmės",168,-1],["atės",161,-1],["iatės",170,-1],["sitės",161,-1],["otės",161,-1],["ėtės",161,-1],["tumėtės",174,-1],["įs",118,-1],["ūs",118,-1],["tųs",118,-1],["at",-1,-1],["iat",179,-1],["it",-1,-1],["sit",181,-1],["ot",-1,-1],["ėt",-1,-1],["tumėt",184,-1],["u",-1,-1],["au",186,-1],["iau",187,-1],["čiau",188,-1],["iu",186,-1],["eniu",190,-1],["siu",190,-1],["y",-1,-1],["ą",-1,-1],["ią",194,-1],["ė",-1,-1],["ę",-1,-1],["į",-1,-1],["enį",198,-1],["erį",198,-1],["ų",-1,-1],["ių",201,-1],["erų",201,-1]],r=[["ing",-1,-1],["aj",-1,-1],["iaj",1,-1],["iej",-1,-1],["oj",-1,-1],["ioj",4,-1],["uoj",4,-1],["iuoj",6,-1],["auj",-1,-1],["ąj",-1,-1],["iąj",9,-1],["ėj",-1,-1],["ųj",-1,-1],["iųj",12,-1],["ok",-1,-1],["iok",14,-1],["iuk",-1,-1],["uliuk",16,-1],["učiuk",16,-1],["išk",-1,-1],["iul",-1,-1],["yl",-1,-1],["ėl",-1,-1],["am",-1,-1],["dam",23,-1],["jam",23,-1],["zgan",-1,-1],["ain",-1,-1],["esn",-1,-1],["op",-1,-1],["iop",29,-1],["ias",-1,-1],["ies",-1,-1],["ais",-1,-1],["iais",33,-1],["os",-1,-1],["ios",35,-1],["uos",35,-1],["iuos",37,-1],["aus",-1,-1],["iaus",39,-1],["ąs",-1,-1],["iąs",41,-1],["ęs",-1,-1],["utėait",-1,-1],["ant",-1,-1],["iant",45,-1],["siant",46,-1],["int",-1,-1],["ot",-1,-1],["uot",49,-1],["iuot",50,-1],["yt",-1,-1],["ėt",-1,-1],["ykšt",-1,-1],["iau",-1,-1],["dav",-1,-1],["sv",-1,-1],["šv",-1,-1],["ykšč",-1,-1],["ę",-1,-1],["ėję",60,-1]],e=[["ojime",-1,7],["ėjime",-1,3],["avime",-1,6],["okate",-1,8],["aite",-1,1],["uote",-1,2],["asius",-1,5],["okatės",-1,8],["aitės",-1,1],["uotės",-1,2],["esiu",-1,4]],u=[["č",-1,1],["dž",-1,2]],o=[["gd",-1,1]],a=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,64,1,0,64,0,0,0,0,0,0,0,4,4],n=0;this.l=function(){n=i.a;var u=i.cursor;s:{var c=i.cursor,h=i.cursor;for(i.m("a")?(i.cursor=h,6<i.j.length?(h=i.cursor+1,i.cursor=h>i.a?c:h):i.cursor=c):i.cursor=c;!i.i(a,97,371);){if(i.cursor>=i.a)break s;i.cursor++}for(;!i.k(a,97,371);){if(i.cursor>=i.a)break s;i.cursor++}n=i.cursor}if(i.cursor=u,i.f=i.cursor,i.cursor=i.a,u=i.a-i.cursor,i.d=i.cursor,0!=(c=i.h(e)))switch(i.c=i.cursor,c){case 1:i.b("aitė");break;case 2:i.b("uotė");break;case 3:i.b("ėjimas");break;case 4:i.b("esys");break;case 5:i.b("asys");break;case 6:i.b("avimas");break;case 7:i.b("ojimas");break;case 8:i.b("okatė")}for(i.cursor=i.a-u,u=i.a-i.cursor,i.cursor<n||(c=i.f,i.f=n,i.d=i.cursor,0==i.h(t)?i.f=c:(i.c=i.cursor,i.f=c,n<=i.cursor&&i.e())),i.cursor=i.a-u,u=i.a-i.cursor,s(),i.cursor=i.a-u,u=i.a-i.cursor;;){if(c=i.a-i.cursor,!(i.cursor<n))if(h=i.f,i.f=n,i.d=i.cursor,0==i.h(r))i.f=h;else{if(i.c=i.cursor,i.f=h,!i.e())break;continue}i.cursor=i.a-c;break}return i.cursor=i.a-u,u=i.a-i.cursor,s(),i.cursor=i.a-u,u=i.a-i.cursor,i.d=i.cursor,0!=i.h(o)&&(i.c=i.cursor,i.b("g")),i.cursor=i.a-u,i.cursor=i.f,g},this.stemWord=function(s){return i.p(s),this.l(),i.j}}let stemmerInstance=new stem;function stemmer(s){return stemmerInstance.stemWord(s)}let language="lithuanian";