UNPKG

@orama/stemmers

Version:
1 lines 6.75 kB
"use strict";function _export(r,s){for(var t in s)Object.defineProperty(r,t,{enumerable:!0,get:s[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(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,t){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>t||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?p:(this.cursor++,g)},this.n=function(r,s,t){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>t||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?p:(this.cursor--,g)},this.k=function(r,s,t){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>t||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?(this.cursor++,g):p},this.q=function(r,s,t){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>t||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,t=r.length,i=this.cursor,u=this.a,c=0,e=0,o=p;;){var n,a=s+(t-s>>>1),h=0,f=c<e?c:e,b=r[a];for(n=f;n<b[0].length;n++){if(i+f==u){h=-1;break}if(0!=(h=this.j.charCodeAt(i+f)-b[0].charCodeAt(n)))break;f++}if(0>h?(t=a,e=f):(s=a,c=f),1>=t-s){if(0<s||t==s||o)break;o=g}}for(;;){if(c>=(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,t=r.length,i=this.cursor,u=this.f,c=0,e=0,o=p;;){var n,a=s+(t-s>>1),h=0,f=c<e?c:e,b=r[a];for(n=b[0].length-1-f;0<=n;n--){if(i-f==u){h=-1;break}if(0!=(h=this.j.charCodeAt(i-1-f)-b[0].charCodeAt(n)))break;f++}if(0>h?(t=a,e=f):(s=a,c=f),1>=t-s){if(0<s||t==s||o)break;o=g}}for(;;){if(c>=(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,t){var i=t.length-(s-r);return this.j=this.j.slice(0,r)+t+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,t){s=this.s(r,s,t),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 v<=c.cursor?g:p}function s(){return l<=c.cursor?g:p}function t(){var r=c.a-c.cursor;return 0==c.h(n)||(c.cursor=c.a-r,c.d=c.cursor,c.cursor<=c.f)?p:(c.cursor--,c.c=c.cursor,c.e()?g:p)}function i(){if(j=p,c.d=c.cursor,!c.g("e")||(c.c=c.cursor,!r()))return p;var s=c.a-c.cursor;return c.q(b,97,232)&&(c.cursor=c.a-s,c.e())?(j=g,t()?g:p):p}function u(){if(!r())return p;var s=c.a-c.cursor;return c.q(b,97,232)?(c.cursor=c.a-s,s=c.a-c.cursor,c.g("gem"))?p:(c.cursor=c.a-s,c.e()&&t()?g:p):p}var c=new C,e=[["",-1,6],["\xe1",0,1],["\xe4",0,1],["\xe9",0,2],["\xeb",0,2],["\xed",0,3],["\xef",0,3],["\xf3",0,4],["\xf6",0,4],["\xfa",0,5],["\xfc",0,5]],o=[["",-1,3],["I",0,2],["Y",0,1]],n=[["dd",-1,-1],["kk",-1,-1],["tt",-1,-1]],a=[["ene",-1,2],["se",-1,3],["en",-1,2],["heden",2,1],["s",-1,3]],h=[["end",-1,1],["ig",-1,2],["ing",-1,1],["lijk",-1,3],["baar",-1,4],["bar",-1,5]],f=[["aa",-1,-1],["ee",-1,-1],["oo",-1,-1],["uu",-1,-1]],b=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],k=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],d=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],l=0,v=0,j=p;this.l=function(){var n,m=c.cursor;!function(){for(var r,s=c.cursor;;){var t=c.cursor;r:if(c.c=c.cursor,0!=(r=c.o(e))){switch(c.d=c.cursor,r){case 1:if(!c.b("a"))return;break;case 2:if(!c.b("e"))return;break;case 3:if(!c.b("i"))return;break;case 4:if(!c.b("o"))return;break;case 5:if(!c.b("u"))return;break;case 6:if(c.cursor>=c.a)break r;c.cursor++}continue}c.cursor=t;break}if(c.cursor=s,r=c.cursor,c.c=c.cursor,c.m("y")){if(c.d=c.cursor,!c.b("Y"))return}else c.cursor=r;for(;;){r=c.cursor;r:{for(;;){s=c.cursor;s:if(c.i(b,97,232)){c.c=c.cursor;t:{if(t=c.cursor,c.m("i")&&(c.d=c.cursor,c.i(b,97,232))){if(!c.b("I"))return;break t}if(c.cursor=t,!c.m("y"))break s;if(c.d=c.cursor,!c.b("Y"))return}c.cursor=s;break}if(c.cursor=s,c.cursor>=c.a)break r;c.cursor++}continue}c.cursor=r;break}}(),c.cursor=m,m=c.cursor,function(){for(l=v=c.a;!c.i(b,97,232);){if(c.cursor>=c.a)return;c.cursor++}for(;!c.k(b,97,232);){if(c.cursor>=c.a)return;c.cursor++}for(3>(v=c.cursor)&&(v=3);!c.i(b,97,232);){if(c.cursor>=c.a)return;c.cursor++}for(;!c.k(b,97,232);){if(c.cursor>=c.a)return;c.cursor++}l=c.cursor}(),c.cursor=m,c.f=c.cursor,c.cursor=c.a,function(){var e,o=c.a-c.cursor;r:if(c.d=c.cursor,0!=(e=c.h(a)))switch(c.c=c.cursor,e){case 1:if(!r())break r;if(!c.b("heid"))return;break;case 2:if(!u())break r;break;case 3:if(!r()||!c.q(d,97,232))break r;if(!c.e())return}c.cursor=c.a-o,o=c.a-c.cursor,i(),c.cursor=c.a-o,o=c.a-c.cursor;r:if(c.d=c.cursor,c.g("heid")&&(c.c=c.cursor,s())){if(e=c.a-c.cursor,c.g("c"))break r;if(c.cursor=c.a-e,!c.e())return;c.d=c.cursor,c.g("en")&&(c.c=c.cursor,u())}c.cursor=c.a-o,o=c.a-c.cursor;r:if(c.d=c.cursor,0!=(e=c.h(h)))switch(c.c=c.cursor,e){case 1:if(!s())break r;if(!c.e())return;i:{e=c.a-c.cursor;s:if(c.d=c.cursor,c.g("ig")&&(c.c=c.cursor,s())){var n=c.a-c.cursor;if(c.g("e"))break s;if(c.cursor=c.a-n,!c.e())return;break i}if(c.cursor=c.a-e,!t())break r}break;case 2:if(!s()||(e=c.a-c.cursor,c.g("e")))break r;if(c.cursor=c.a-e,!c.e())return;break;case 3:if(!s())break r;if(!c.e())return;if(!i())break r;break;case 4:if(!s())break r;if(!c.e())return;break;case 5:if(!s()||!j)break r;if(!c.e())return}c.cursor=c.a-o,o=c.a-c.cursor,c.q(k,73,232)&&(e=c.a-c.cursor,0!=c.h(f)&&c.q(b,97,232)&&(c.cursor=c.a-e,c.d=c.cursor,!(c.cursor<=c.f)&&(c.cursor--,c.c=c.cursor,!c.e())))||(c.cursor=c.a-o)}(),c.cursor=c.f,m=c.cursor;r:for(;;){var A=c.cursor;i:if(c.c=c.cursor,0!=(n=c.o(o))){switch(c.d=c.cursor,n){case 1:if(!c.b("y"))break r;break;case 2:if(!c.b("i"))break r;break;case 3:if(c.cursor>=c.a)break i;c.cursor++}continue}c.cursor=A;break}return c.cursor=m,g},this.stemWord=function(r){return c.p(r),this.l(),c.j}}let stemmerInstance=new stem;function stemmer(r){return stemmerInstance.stemWord(r)}let language="dutch";