UNPKG

@orama/stemmers

Version:
1 lines 9.73 kB
"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 m<=e.cursor?g:p}function s(){return d<=e.cursor?g:p}var e=new C,i=[["",-1,6],["\xe1",0,1],["\xe9",0,2],["\xed",0,3],["\xf3",0,4],["\xfa",0,5]],a=[["la",-1,-1],["sela",0,-1],["le",-1,-1],["me",-1,-1],["se",-1,-1],["lo",-1,-1],["selo",5,-1],["las",-1,-1],["selas",7,-1],["les",-1,-1],["los",-1,-1],["selos",10,-1],["nos",-1,-1]],t=[["ando",-1,6],["iendo",-1,6],["yendo",-1,7],["\xe1ndo",-1,2],["i\xe9ndo",-1,1],["ar",-1,6],["er",-1,6],["ir",-1,6],["\xe1r",-1,3],["\xe9r",-1,4],["\xedr",-1,5]],o=[["ic",-1,-1],["ad",-1,-1],["os",-1,-1],["iv",-1,1]],c=[["able",-1,1],["ible",-1,1],["ante",-1,1]],u=[["ic",-1,1],["abil",-1,1],["iv",-1,1]],n=[["ica",-1,1],["ancia",-1,2],["encia",-1,5],["adora",-1,2],["osa",-1,1],["ista",-1,1],["iva",-1,9],["anza",-1,1],["log\xeda",-1,3],["idad",-1,8],["able",-1,1],["ible",-1,1],["ante",-1,2],["mente",-1,7],["amente",13,6],["aci\xf3n",-1,2],["uci\xf3n",-1,4],["ico",-1,1],["ismo",-1,1],["oso",-1,1],["amiento",-1,1],["imiento",-1,1],["ivo",-1,9],["ador",-1,2],["icas",-1,1],["ancias",-1,2],["encias",-1,5],["adoras",-1,2],["osas",-1,1],["istas",-1,1],["ivas",-1,9],["anzas",-1,1],["log\xedas",-1,3],["idades",-1,8],["ables",-1,1],["ibles",-1,1],["aciones",-1,2],["uciones",-1,4],["adores",-1,2],["antes",-1,2],["icos",-1,1],["ismos",-1,1],["osos",-1,1],["amientos",-1,1],["imientos",-1,1],["ivos",-1,9]],h=[["ya",-1,1],["ye",-1,1],["yan",-1,1],["yen",-1,1],["yeron",-1,1],["yendo",-1,1],["yo",-1,1],["yas",-1,1],["yes",-1,1],["yais",-1,1],["yamos",-1,1],["y\xf3",-1,1]],f=[["aba",-1,2],["ada",-1,2],["ida",-1,2],["ara",-1,2],["iera",-1,2],["\xeda",-1,2],["ar\xeda",5,2],["er\xeda",5,2],["ir\xeda",5,2],["ad",-1,2],["ed",-1,2],["id",-1,2],["ase",-1,2],["iese",-1,2],["aste",-1,2],["iste",-1,2],["an",-1,2],["aban",16,2],["aran",16,2],["ieran",16,2],["\xedan",16,2],["ar\xedan",20,2],["er\xedan",20,2],["ir\xedan",20,2],["en",-1,1],["asen",24,2],["iesen",24,2],["aron",-1,2],["ieron",-1,2],["ar\xe1n",-1,2],["er\xe1n",-1,2],["ir\xe1n",-1,2],["ado",-1,2],["ido",-1,2],["ando",-1,2],["iendo",-1,2],["ar",-1,2],["er",-1,2],["ir",-1,2],["as",-1,2],["abas",39,2],["adas",39,2],["idas",39,2],["aras",39,2],["ieras",39,2],["\xedas",39,2],["ar\xedas",45,2],["er\xedas",45,2],["ir\xedas",45,2],["es",-1,1],["ases",49,2],["ieses",49,2],["abais",-1,2],["arais",-1,2],["ierais",-1,2],["\xedais",-1,2],["ar\xedais",55,2],["er\xedais",55,2],["ir\xedais",55,2],["aseis",-1,2],["ieseis",-1,2],["asteis",-1,2],["isteis",-1,2],["\xe1is",-1,2],["\xe9is",-1,1],["ar\xe9is",64,2],["er\xe9is",64,2],["ir\xe9is",64,2],["ados",-1,2],["idos",-1,2],["amos",-1,2],["\xe1bamos",70,2],["\xe1ramos",70,2],["i\xe9ramos",70,2],["\xedamos",70,2],["ar\xedamos",74,2],["er\xedamos",74,2],["ir\xedamos",74,2],["emos",-1,1],["aremos",78,2],["eremos",78,2],["iremos",78,2],["\xe1semos",78,2],["i\xe9semos",78,2],["imos",-1,2],["ar\xe1s",-1,2],["er\xe1s",-1,2],["ir\xe1s",-1,2],["\xeds",-1,2],["ar\xe1",-1,2],["er\xe1",-1,2],["ir\xe1",-1,2],["ar\xe9",-1,2],["er\xe9",-1,2],["ir\xe9",-1,2],["i\xf3",-1,2]],b=[["a",-1,1],["e",-1,2],["o",-1,1],["os",-1,1],["\xe1",-1,1],["\xe9",-1,2],["\xed",-1,1],["\xf3",-1,1]],l=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,4,10],d=0,k=0,m=0;this.l=function(){d=k=m=e.a;var v=e.cursor;r:{s:{var j=e.cursor;e:if(e.i(l,97,252)){i:{var y=e.cursor;a:if(e.k(l,97,252)){for(;!e.i(l,97,252);){if(e.cursor>=e.a)break a;e.cursor++}break i}if(e.cursor=y,!e.i(l,97,252))break e;for(;!e.k(l,97,252);){if(e.cursor>=e.a)break e;e.cursor++}}break s}if(e.cursor=j,!e.k(l,97,252))break r;e:{j=e.cursor;i:if(e.k(l,97,252)){for(;!e.i(l,97,252);){if(e.cursor>=e.a)break i;e.cursor++}break e}if(e.cursor=j,!e.i(l,97,252)||e.cursor>=e.a)break r;e.cursor++}}m=e.cursor}e.cursor=v,v=e.cursor;r:{for(;!e.i(l,97,252);){if(e.cursor>=e.a)break r;e.cursor++}for(;!e.k(l,97,252);){if(e.cursor>=e.a)break r;e.cursor++}for(k=e.cursor;!e.i(l,97,252);){if(e.cursor>=e.a)break r;e.cursor++}for(;!e.k(l,97,252);){if(e.cursor>=e.a)break r;e.cursor++}d=e.cursor}if(e.cursor=v,e.f=e.cursor,e.cursor=e.a,v=e.a-e.cursor,e.d=e.cursor,0!=e.h(a)&&(e.c=e.cursor,0!=(j=e.h(t))&&r()))switch(j){case 1:e.c=e.cursor,e.b("iendo");break;case 2:e.c=e.cursor,e.b("ando");break;case 3:e.c=e.cursor,e.b("ar");break;case 4:e.c=e.cursor,e.b("er");break;case 5:e.c=e.cursor,e.b("ir");break;case 6:e.e();break;case 7:e.g("u")&&e.e()}e.cursor=e.a-v,v=e.a-e.cursor;s:if(j=e.a-e.cursor,!function(){var r;if(e.d=e.cursor,0==(r=e.h(n)))return p;switch(e.c=e.cursor,r){case 1:if(!s()||!e.e())return p;break;case 2:if(!s()||!e.e())return p;if(r=e.a-e.cursor,e.d=e.cursor,e.g("ic"))if(e.c=e.cursor,s()){if(!e.e())return p}else e.cursor=e.a-r;else e.cursor=e.a-r;break;case 3:if(!s()||!e.b("log"))return p;break;case 4:if(!s()||!e.b("u"))return p;break;case 5:if(!s()||!e.b("ente"))return p;break;case 6:if(!(k<=e.cursor)||!e.e())return p;var i=e.a-e.cursor;r:if(e.d=e.cursor,0==(r=e.h(o)))e.cursor=e.a-i;else if(e.c=e.cursor,s()){if(!e.e())return p;if(1===r){if(e.d=e.cursor,!e.g("at")||(e.c=e.cursor,!s())){e.cursor=e.a-i;break r}if(!e.e())return p}}else e.cursor=e.a-i;break;case 7:if(!s()||!e.e())return p;if(r=e.a-e.cursor,e.d=e.cursor,0==e.h(c))e.cursor=e.a-r;else if(e.c=e.cursor,s()){if(!e.e())return p}else e.cursor=e.a-r;break;case 8:if(!s()||!e.e())return p;if(r=e.a-e.cursor,e.d=e.cursor,0==e.h(u))e.cursor=e.a-r;else if(e.c=e.cursor,s()){if(!e.e())return p}else e.cursor=e.a-r;break;case 9:if(!s()||!e.e())return p;if(r=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-r;else e.cursor=e.a-r}return g}()){if(e.cursor=e.a-j,function(){if(e.cursor<m)return p;var r=e.f;return(e.f=m,e.d=e.cursor,0==e.h(h))?(e.f=r,p):(e.c=e.cursor,e.f=r,e.g("u")&&e.e()?g:p)}())break s;if(e.cursor=e.a-j,!(e.cursor<m))if(y=e.f,e.f=m,e.d=e.cursor,0==(j=e.h(f)))e.f=y;else switch(e.c=e.cursor,e.f=y,j){case 1:j=e.a-e.cursor,e.g("u")?(y=e.a-e.cursor,e.g("g")?e.cursor=e.a-y:e.cursor=e.a-j):e.cursor=e.a-j,e.c=e.cursor,e.e();break;case 2:e.e()}}if(e.cursor=e.a-v,v=e.a-e.cursor,e.d=e.cursor,0!=(j=e.h(b)))switch(e.c=e.cursor,j){case 1:r()&&e.e();break;case 2:if(!r()||!e.e())break;j=e.a-e.cursor,e.d=e.cursor,e.g("u")?(e.c=e.cursor,y=e.a-e.cursor,e.g("g")?(e.cursor=e.a-y,r()?e.e():e.cursor=e.a-j):e.cursor=e.a-j):e.cursor=e.a-j}return e.cursor=e.a-v,e.cursor=e.f,v=e.cursor,!function(){for(var r;;){var s=e.cursor;r:if(e.c=e.cursor,0!=(r=e.o(i))){switch(e.d=e.cursor,r){case 1:if(!e.b("a"))return;break;case 2:if(!e.b("e"))return;break;case 3:if(!e.b("i"))return;break;case 4:if(!e.b("o"))return;break;case 5:if(!e.b("u"))return;break;case 6:if(e.cursor>=e.a)break r;e.cursor++}continue}e.cursor=s;break}}(),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="spanish";