@orama/stemmers
Version:
Stemmers for Orama
1 lines • 9.32 kB
JavaScript
"use strict";function _export(r,s){for(var e in s)Object.defineProperty(r,e,{enumerable:!0,get:Object.getOwnPropertyDescriptor(s,e).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,e){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>e||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?p:(this.cursor++,g)},this.n=function(r,s,e){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>e||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?p:(this.cursor--,g)},this.k=function(r,s,e){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>e||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?(this.cursor++,g):p},this.q=function(r,s,e){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>e||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,e=r.length,i=this.cursor,a=this.a,t=0,o=0,c=p;;){var u,n=s+(e-s>>>1),h=0,f=t<o?t:o,b=r[n];for(u=f;u<b[0].length;u++){if(i+f==a){h=-1;break}if(0!=(h=this.j.charCodeAt(i+f)-b[0].charCodeAt(u)))break;f++}if(0>h?(e=n,o=f):(s=n,t=f),1>=e-s){if(0<s||e==s||c)break;c=g}}for(;;){if(t>=(b=r[s])[0].length&&(this.cursor=i+b[0].length,4>b.length||(s=b[3](this),this.cursor=i+b[0].length,s)))return b[2];if(0>(s=b[1]))return 0}},this.h=function(r){for(var s=0,e=r.length,i=this.cursor,a=this.f,t=0,o=0,c=p;;){var u,n=s+(e-s>>1),h=0,f=t<o?t:o,b=r[n];for(u=b[0].length-1-f;0<=u;u--){if(i-f==a){h=-1;break}if(0!=(h=this.j.charCodeAt(i-1-f)-b[0].charCodeAt(u)))break;f++}if(0>h?(e=n,o=f):(s=n,t=f),1>=e-s){if(0<s||e==s||c)break;c=g}}for(;;){if(t>=(b=r[s])[0].length&&(this.cursor=i-b[0].length,4>b.length||(s=b[3](this),this.cursor=i-b[0].length,s)))return b[2];if(0>(s=b[1]))return 0}},this.s=function(r,s,e){var i=e.length-(s-r);return this.j=this.j.slice(0,r)+e+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,e){s=this.s(r,s,e),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<=e.cursor?g:p}function s(){return m<=e.cursor?g:p}var e=new C,i=[["",-1,3],["\xe3",0,1],["\xf5",0,2]],a=[["",-1,3],["a~",0,1],["o~",0,2]],t=[["ic",-1,-1],["ad",-1,-1],["os",-1,-1],["iv",-1,1]],o=[["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=e.cursor;r:for(;;){var j=e.cursor;s:if(e.c=e.cursor,0!=(l=e.o(i))){switch(e.d=e.cursor,l){case 1:if(!e.b("a~"))break r;break;case 2:if(!e.b("o~"))break r;break;case 3:if(e.cursor>=e.a)break s;e.cursor++}continue}e.cursor=j;break}e.cursor=v,m=d=k=e.a,v=e.cursor;r:{s:{l=e.cursor;e:if(e.i(b,97,250)){i:{j=e.cursor;a:if(e.k(b,97,250)){for(;!e.i(b,97,250);){if(e.cursor>=e.a)break a;e.cursor++}break i}if(e.cursor=j,!e.i(b,97,250))break e;for(;!e.k(b,97,250);){if(e.cursor>=e.a)break e;e.cursor++}}break s}if(e.cursor=l,!e.k(b,97,250))break r;e:{l=e.cursor;i:if(e.k(b,97,250)){for(;!e.i(b,97,250);){if(e.cursor>=e.a)break i;e.cursor++}break e}if(e.cursor=l,!e.i(b,97,250)||e.cursor>=e.a)break r;e.cursor++}}k=e.cursor}e.cursor=v,v=e.cursor;r:{for(;!e.i(b,97,250);){if(e.cursor>=e.a)break r;e.cursor++}for(;!e.k(b,97,250);){if(e.cursor>=e.a)break r;e.cursor++}for(d=e.cursor;!e.i(b,97,250);){if(e.cursor>=e.a)break r;e.cursor++}for(;!e.k(b,97,250);){if(e.cursor>=e.a)break r;e.cursor++}m=e.cursor}e.cursor=v,e.f=e.cursor,e.cursor=e.a,v=e.a-e.cursor;s:{l=e.a-e.cursor;e:{j=e.a-e.cursor;i:{var w=e.a-e.cursor;if(function(){var i;if(e.d=e.cursor,0==(i=e.h(u)))return p;switch(e.c=e.cursor,i){case 1:if(!s()||!e.e())return p;break;case 2:if(!s()||!e.b("log"))return p;break;case 3:if(!s()||!e.b("u"))return p;break;case 4:if(!s()||!e.b("ente"))return p;break;case 5:if(!(d<=e.cursor)||!e.e())return p;var a=e.a-e.cursor;r:if(e.d=e.cursor,0==(i=e.h(t)))e.cursor=e.a-a;else if(e.c=e.cursor,s()){if(!e.e())return p;if(1===i){if(e.d=e.cursor,!e.g("at")||(e.c=e.cursor,!s())){e.cursor=e.a-a;break r}if(!e.e())return p}}else e.cursor=e.a-a;break;case 6:if(!s()||!e.e())return p;if(i=e.a-e.cursor,e.d=e.cursor,0==e.h(o))e.cursor=e.a-i;else if(e.c=e.cursor,s()){if(!e.e())return p}else e.cursor=e.a-i;break;case 7:if(!s()||!e.e())return p;if(i=e.a-e.cursor,e.d=e.cursor,0==e.h(c))e.cursor=e.a-i;else if(e.c=e.cursor,s()){if(!e.e())return p}else e.cursor=e.a-i;break;case 8:if(!s()||!e.e())return p;if(i=e.a-e.cursor,e.d=e.cursor,e.g("at"))if(e.c=e.cursor,s()){if(!e.e())return p}else e.cursor=e.a-i;else e.cursor=e.a-i;break;case 9:if(!r()||!e.g("e")||!e.b("ir"))return p}return g}())break i;if(e.cursor=e.a-w,!function(){if(e.cursor<k)return p;var r=e.f;return(e.f=k,e.d=e.cursor,0==e.h(n))?(e.f=r,p):(e.c=e.cursor,e.e())?(e.f=r,g):p}())break e}if(e.cursor=e.a-j,l=e.a-e.cursor,e.d=e.cursor,e.g("i")&&(e.c=e.cursor,j=e.a-e.cursor,e.g("c")&&(e.cursor=e.a-j,r()&&!e.e())))return p;e.cursor=e.a-l;break s}e.cursor=e.a-l,e.d=e.cursor,0!=e.h(h)&&(e.c=e.cursor,r()&&e.e())}if(e.cursor=e.a-v,v=e.a-e.cursor,e.d=e.cursor,0!=(l=e.h(f)))switch(e.c=e.cursor,l){case 1:if(!r()||!e.e())break;e.d=e.cursor;r:{if(l=e.a-e.cursor,e.g("u")&&(e.c=e.cursor,j=e.a-e.cursor,e.g("g"))){e.cursor=e.a-j;break r}if(e.cursor=e.a-l,!e.g("i")||(e.c=e.cursor,l=e.a-e.cursor,!e.g("c")))break;e.cursor=e.a-l}r()&&e.e();break;case 2:e.b("c")}e.cursor=e.a-v,e.cursor=e.f,v=e.cursor;r:for(;;){j=e.cursor;s:if(e.c=e.cursor,0!=(l=e.o(a))){switch(e.d=e.cursor,l){case 1:if(!e.b("\xe3"))break r;break;case 2:if(!e.b("\xf5"))break r;break;case 3:if(e.cursor>=e.a)break s;e.cursor++}continue}e.cursor=j;break}return e.cursor=v,g},this.stemWord=function(r){return e.p(r),this.l(),e.j}}let stemmerInstance=new stem;function stemmer(r){return stemmerInstance.stemWord(r)}let language="portuguese";