UNPKG

@orama/stemmers

Version:
1 lines 9.29 kB
"use strict";function _export(r,s){for(var i in s)Object.defineProperty(r,i,{enumerable:!0,get:s[i]})}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(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,i){if(this.cursor>=this.a)return p;var e=this.j.charCodeAt(this.cursor);return e>i||e<s||0==(r[(e-=s)>>>3]&1<<(7&e))?p:(this.cursor++,g)},this.n=function(r,s,i){if(this.cursor<=this.f)return p;var e=this.j.charCodeAt(this.cursor-1);return e>i||e<s||0==(r[(e-=s)>>>3]&1<<(7&e))?p:(this.cursor--,g)},this.k=function(r,s,i){if(this.cursor>=this.a)return p;var e=this.j.charCodeAt(this.cursor);return e>i||e<s||0==(r[(e-=s)>>>3]&1<<(7&e))?(this.cursor++,g):p},this.q=function(r,s,i){if(this.cursor<=this.f)return p;var e=this.j.charCodeAt(this.cursor-1);return e>i||e<s||0==(r[(e-=s)>>>3]&1<<(7&e))?(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,i=r.length,e=this.cursor,a=this.a,o=0,t=0,c=p;;){var u,n=s+(i-s>>>1),h=0,f=o<t?o:t,b=r[n];for(u=f;u<b[0].length;u++){if(e+f==a){h=-1;break}if(0!=(h=this.j.charCodeAt(e+f)-b[0].charCodeAt(u)))break;f++}if(0>h?(i=n,t=f):(s=n,o=f),1>=i-s){if(0<s||i==s||c)break;c=g}}for(;;){if(o>=(b=r[s])[0].length&&(this.cursor=e+b[0].length,4>b.length||(s=b[3](this),this.cursor=e+b[0].length,s)))return b[2];if(0>(s=b[1]))return 0}},this.h=function(r){for(var s=0,i=r.length,e=this.cursor,a=this.f,o=0,t=0,c=p;;){var u,n=s+(i-s>>1),h=0,f=o<t?o:t,b=r[n];for(u=b[0].length-1-f;0<=u;u--){if(e-f==a){h=-1;break}if(0!=(h=this.j.charCodeAt(e-1-f)-b[0].charCodeAt(u)))break;f++}if(0>h?(i=n,t=f):(s=n,o=f),1>=i-s){if(0<s||i==s||c)break;c=g}}for(;;){if(o>=(b=r[s])[0].length&&(this.cursor=e-b[0].length,4>b.length||(s=b[3](this),this.cursor=e-b[0].length,s)))return b[2];if(0>(s=b[1]))return 0}},this.s=function(r,s,i){var e=i.length-(s-r);return this.j=this.j.slice(0,r)+i+this.j.slice(s),this.a+=e,this.cursor>=s?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?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,i){s=this.s(r,s,i),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 k<=i.cursor?g:p}function s(){return m<=i.cursor?g:p}var i=new C,e=[["",-1,3],["\xe3",0,1],["\xf5",0,2]],a=[["",-1,3],["a~",0,1],["o~",0,2]],o=[["ic",-1,-1],["ad",-1,-1],["os",-1,-1],["iv",-1,1]],t=[["ante",-1,1],["avel",-1,1],["\xedvel",-1,1]],c=[["ic",-1,1],["abil",-1,1],["iv",-1,1]],u=[["ica",-1,1],["\xe2ncia",-1,1],["\xeancia",-1,4],["logia",-1,2],["ira",-1,9],["adora",-1,1],["osa",-1,1],["ista",-1,1],["iva",-1,8],["eza",-1,1],["idade",-1,7],["ante",-1,1],["mente",-1,6],["amente",12,5],["\xe1vel",-1,1],["\xedvel",-1,1],["ico",-1,1],["ismo",-1,1],["oso",-1,1],["amento",-1,1],["imento",-1,1],["ivo",-1,8],["a\xe7a~o",-1,1],["u\xe7a~o",-1,3],["ador",-1,1],["icas",-1,1],["\xeancias",-1,4],["logias",-1,2],["iras",-1,9],["adoras",-1,1],["osas",-1,1],["istas",-1,1],["ivas",-1,8],["ezas",-1,1],["idades",-1,7],["adores",-1,1],["antes",-1,1],["a\xe7o~es",-1,1],["u\xe7o~es",-1,3],["icos",-1,1],["ismos",-1,1],["osos",-1,1],["amentos",-1,1],["imentos",-1,1],["ivos",-1,8]],n=[["ada",-1,1],["ida",-1,1],["ia",-1,1],["aria",2,1],["eria",2,1],["iria",2,1],["ara",-1,1],["era",-1,1],["ira",-1,1],["ava",-1,1],["asse",-1,1],["esse",-1,1],["isse",-1,1],["aste",-1,1],["este",-1,1],["iste",-1,1],["ei",-1,1],["arei",16,1],["erei",16,1],["irei",16,1],["am",-1,1],["iam",20,1],["ariam",21,1],["eriam",21,1],["iriam",21,1],["aram",20,1],["eram",20,1],["iram",20,1],["avam",20,1],["em",-1,1],["arem",29,1],["erem",29,1],["irem",29,1],["assem",29,1],["essem",29,1],["issem",29,1],["ado",-1,1],["ido",-1,1],["ando",-1,1],["endo",-1,1],["indo",-1,1],["ara~o",-1,1],["era~o",-1,1],["ira~o",-1,1],["ar",-1,1],["er",-1,1],["ir",-1,1],["as",-1,1],["adas",47,1],["idas",47,1],["ias",47,1],["arias",50,1],["erias",50,1],["irias",50,1],["aras",47,1],["eras",47,1],["iras",47,1],["avas",47,1],["es",-1,1],["ardes",58,1],["erdes",58,1],["irdes",58,1],["ares",58,1],["eres",58,1],["ires",58,1],["asses",58,1],["esses",58,1],["isses",58,1],["astes",58,1],["estes",58,1],["istes",58,1],["is",-1,1],["ais",71,1],["eis",71,1],["areis",73,1],["ereis",73,1],["ireis",73,1],["\xe1reis",73,1],["\xe9reis",73,1],["\xedreis",73,1],["\xe1sseis",73,1],["\xe9sseis",73,1],["\xedsseis",73,1],["\xe1veis",73,1],["\xedeis",73,1],["ar\xedeis",84,1],["er\xedeis",84,1],["ir\xedeis",84,1],["ados",-1,1],["idos",-1,1],["amos",-1,1],["\xe1ramos",90,1],["\xe9ramos",90,1],["\xedramos",90,1],["\xe1vamos",90,1],["\xedamos",90,1],["ar\xedamos",95,1],["er\xedamos",95,1],["ir\xedamos",95,1],["emos",-1,1],["aremos",99,1],["eremos",99,1],["iremos",99,1],["\xe1ssemos",99,1],["\xeassemos",99,1],["\xedssemos",99,1],["imos",-1,1],["armos",-1,1],["ermos",-1,1],["irmos",-1,1],["\xe1mos",-1,1],["ar\xe1s",-1,1],["er\xe1s",-1,1],["ir\xe1s",-1,1],["eu",-1,1],["iu",-1,1],["ou",-1,1],["ar\xe1",-1,1],["er\xe1",-1,1],["ir\xe1",-1,1]],h=[["a",-1,1],["i",-1,1],["o",-1,1],["os",-1,1],["\xe1",-1,1],["\xed",-1,1],["\xf3",-1,1]],f=[["e",-1,1],["\xe7",-1,2],["\xe9",-1,1],["\xea",-1,1]],b=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],m=0,d=0,k=0;this.l=function(){var l,v=i.cursor;r:for(;;){var j=i.cursor;s:if(i.c=i.cursor,0!=(l=i.o(e))){switch(i.d=i.cursor,l){case 1:if(!i.b("a~"))break r;break;case 2:if(!i.b("o~"))break r;break;case 3:if(i.cursor>=i.a)break s;i.cursor++}continue}i.cursor=j;break}i.cursor=v,m=d=k=i.a,v=i.cursor;r:{s:{l=i.cursor;i:if(i.i(b,97,250)){e:{j=i.cursor;a:if(i.k(b,97,250)){for(;!i.i(b,97,250);){if(i.cursor>=i.a)break a;i.cursor++}break e}if(i.cursor=j,!i.i(b,97,250))break i;for(;!i.k(b,97,250);){if(i.cursor>=i.a)break i;i.cursor++}}break s}if(i.cursor=l,!i.k(b,97,250))break r;i:{l=i.cursor;e:if(i.k(b,97,250)){for(;!i.i(b,97,250);){if(i.cursor>=i.a)break e;i.cursor++}break i}if(i.cursor=l,!i.i(b,97,250)||i.cursor>=i.a)break r;i.cursor++}}k=i.cursor}i.cursor=v,v=i.cursor;r:{for(;!i.i(b,97,250);){if(i.cursor>=i.a)break r;i.cursor++}for(;!i.k(b,97,250);){if(i.cursor>=i.a)break r;i.cursor++}for(d=i.cursor;!i.i(b,97,250);){if(i.cursor>=i.a)break r;i.cursor++}for(;!i.k(b,97,250);){if(i.cursor>=i.a)break r;i.cursor++}m=i.cursor}i.cursor=v,i.f=i.cursor,i.cursor=i.a,v=i.a-i.cursor;s:{l=i.a-i.cursor;i:{j=i.a-i.cursor;e:{var A=i.a-i.cursor;if(function(){var e;if(i.d=i.cursor,0==(e=i.h(u)))return p;switch(i.c=i.cursor,e){case 1:if(!s()||!i.e())return p;break;case 2:if(!s()||!i.b("log"))return p;break;case 3:if(!s()||!i.b("u"))return p;break;case 4:if(!s()||!i.b("ente"))return p;break;case 5:if(!(d<=i.cursor)||!i.e())return p;var a=i.a-i.cursor;r:if(i.d=i.cursor,0==(e=i.h(o)))i.cursor=i.a-a;else if(i.c=i.cursor,s()){if(!i.e())return p;if(1===e){if(i.d=i.cursor,!i.g("at")||(i.c=i.cursor,!s())){i.cursor=i.a-a;break r}if(!i.e())return p}}else i.cursor=i.a-a;break;case 6:if(!s()||!i.e())return p;if(e=i.a-i.cursor,i.d=i.cursor,0==i.h(t))i.cursor=i.a-e;else if(i.c=i.cursor,s()){if(!i.e())return p}else i.cursor=i.a-e;break;case 7:if(!s()||!i.e())return p;if(e=i.a-i.cursor,i.d=i.cursor,0==i.h(c))i.cursor=i.a-e;else if(i.c=i.cursor,s()){if(!i.e())return p}else i.cursor=i.a-e;break;case 8:if(!s()||!i.e())return p;if(e=i.a-i.cursor,i.d=i.cursor,i.g("at"))if(i.c=i.cursor,s()){if(!i.e())return p}else i.cursor=i.a-e;else i.cursor=i.a-e;break;case 9:if(!r()||!i.g("e")||!i.b("ir"))return p}return g}())break e;if(i.cursor=i.a-A,!function(){if(i.cursor<k)return p;var r=i.f;return(i.f=k,i.d=i.cursor,0==i.h(n))?(i.f=r,p):(i.c=i.cursor,i.e())?(i.f=r,g):p}())break i}if(i.cursor=i.a-j,l=i.a-i.cursor,i.d=i.cursor,i.g("i")&&(i.c=i.cursor,j=i.a-i.cursor,i.g("c")&&(i.cursor=i.a-j,r()&&!i.e())))return p;i.cursor=i.a-l;break s}i.cursor=i.a-l,i.d=i.cursor,0!=i.h(h)&&(i.c=i.cursor,r()&&i.e())}if(i.cursor=i.a-v,v=i.a-i.cursor,i.d=i.cursor,0!=(l=i.h(f)))switch(i.c=i.cursor,l){case 1:if(!r()||!i.e())break;i.d=i.cursor;r:{if(l=i.a-i.cursor,i.g("u")&&(i.c=i.cursor,j=i.a-i.cursor,i.g("g"))){i.cursor=i.a-j;break r}if(i.cursor=i.a-l,!i.g("i")||(i.c=i.cursor,l=i.a-i.cursor,!i.g("c")))break;i.cursor=i.a-l}r()&&i.e();break;case 2:i.b("c")}i.cursor=i.a-v,i.cursor=i.f,v=i.cursor;r:for(;;){j=i.cursor;s:if(i.c=i.cursor,0!=(l=i.o(a))){switch(i.d=i.cursor,l){case 1:if(!i.b("\xe3"))break r;break;case 2:if(!i.b("\xf5"))break r;break;case 3:if(i.cursor>=i.a)break s;i.cursor++}continue}i.cursor=j;break}return i.cursor=v,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="portuguese";