UNPKG

@orama/stemmers

Version:
1 lines 6.78 kB
"use strict";function _export(r,s){for(var t in s)Object.defineProperty(r,t,{enumerable:!0,get:Object.getOwnPropertyDescriptor(s,t).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,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,e=this.a,u=0,c=0,o=p;;){var n,a=s+(t-s>>>1),h=0,f=u<c?u:c,b=r[a];for(n=f;n<b[0].length;n++){if(i+f==e){h=-1;break}if(0!=(h=this.j.charCodeAt(i+f)-b[0].charCodeAt(n)))break;f++}if(0>h?(t=a,c=f):(s=a,u=f),1>=t-s){if(0<s||t==s||o)break;o=g}}for(;;){if(u>=(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,e=this.f,u=0,c=0,o=p;;){var n,a=s+(t-s>>1),h=0,f=u<c?u:c,b=r[a];for(n=b[0].length-1-f;0<=n;n--){if(i-f==e){h=-1;break}if(0!=(h=this.j.charCodeAt(i-1-f)-b[0].charCodeAt(n)))break;f++}if(0>h?(t=a,c=f):(s=a,u=f),1>=t-s){if(0<s||t==s||o)break;o=g}}for(;;){if(u>=(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<=u.cursor?g:p}function s(){return l<=u.cursor?g:p}function t(){var r=u.a-u.cursor;return 0==u.h(n)||(u.cursor=u.a-r,u.d=u.cursor,u.cursor<=u.f)?p:(u.cursor--,u.c=u.cursor,u.e()?g:p)}function i(){if(j=p,u.d=u.cursor,!u.g("e")||(u.c=u.cursor,!r()))return p;var s=u.a-u.cursor;return u.q(b,97,232)&&(u.cursor=u.a-s,u.e())?(j=g,t()?g:p):p}function e(){if(!r())return p;var s=u.a-u.cursor;return u.q(b,97,232)?(u.cursor=u.a-s,s=u.a-u.cursor,u.g("gem"))?p:(u.cursor=u.a-s,u.e()&&t()?g:p):p}var u=new C,c=[["",-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=u.cursor;!function(){for(var r,s=u.cursor;;){var t=u.cursor;r:if(u.c=u.cursor,0!=(r=u.o(c))){switch(u.d=u.cursor,r){case 1:if(!u.b("a"))return;break;case 2:if(!u.b("e"))return;break;case 3:if(!u.b("i"))return;break;case 4:if(!u.b("o"))return;break;case 5:if(!u.b("u"))return;break;case 6:if(u.cursor>=u.a)break r;u.cursor++}continue}u.cursor=t;break}if(u.cursor=s,r=u.cursor,u.c=u.cursor,u.m("y")){if(u.d=u.cursor,!u.b("Y"))return}else u.cursor=r;for(;;){r=u.cursor;r:{for(;;){s=u.cursor;s:if(u.i(b,97,232)){u.c=u.cursor;t:{if(t=u.cursor,u.m("i")&&(u.d=u.cursor,u.i(b,97,232))){if(!u.b("I"))return;break t}if(u.cursor=t,!u.m("y"))break s;if(u.d=u.cursor,!u.b("Y"))return}u.cursor=s;break}if(u.cursor=s,u.cursor>=u.a)break r;u.cursor++}continue}u.cursor=r;break}}(),u.cursor=m,m=u.cursor,function(){for(l=v=u.a;!u.i(b,97,232);){if(u.cursor>=u.a)return;u.cursor++}for(;!u.k(b,97,232);){if(u.cursor>=u.a)return;u.cursor++}for(3>(v=u.cursor)&&(v=3);!u.i(b,97,232);){if(u.cursor>=u.a)return;u.cursor++}for(;!u.k(b,97,232);){if(u.cursor>=u.a)return;u.cursor++}l=u.cursor}(),u.cursor=m,u.f=u.cursor,u.cursor=u.a,function(){var c,o=u.a-u.cursor;r:if(u.d=u.cursor,0!=(c=u.h(a)))switch(u.c=u.cursor,c){case 1:if(!r())break r;if(!u.b("heid"))return;break;case 2:if(!e())break r;break;case 3:if(!r()||!u.q(d,97,232))break r;if(!u.e())return}u.cursor=u.a-o,o=u.a-u.cursor,i(),u.cursor=u.a-o,o=u.a-u.cursor;r:if(u.d=u.cursor,u.g("heid")&&(u.c=u.cursor,s())){if(c=u.a-u.cursor,u.g("c"))break r;if(u.cursor=u.a-c,!u.e())return;u.d=u.cursor,u.g("en")&&(u.c=u.cursor,e())}u.cursor=u.a-o,o=u.a-u.cursor;r:if(u.d=u.cursor,0!=(c=u.h(h)))switch(u.c=u.cursor,c){case 1:if(!s())break r;if(!u.e())return;i:{c=u.a-u.cursor;s:if(u.d=u.cursor,u.g("ig")&&(u.c=u.cursor,s())){var n=u.a-u.cursor;if(u.g("e"))break s;if(u.cursor=u.a-n,!u.e())return;break i}if(u.cursor=u.a-c,!t())break r}break;case 2:if(!s()||(c=u.a-u.cursor,u.g("e")))break r;if(u.cursor=u.a-c,!u.e())return;break;case 3:if(!s())break r;if(!u.e())return;if(!i())break r;break;case 4:if(!s())break r;if(!u.e())return;break;case 5:if(!s()||!j)break r;if(!u.e())return}u.cursor=u.a-o,o=u.a-u.cursor,u.q(k,73,232)&&(c=u.a-u.cursor,0!=u.h(f)&&u.q(b,97,232)&&(u.cursor=u.a-c,u.d=u.cursor,!(u.cursor<=u.f)&&(u.cursor--,u.c=u.cursor,!u.e())))||(u.cursor=u.a-o)}(),u.cursor=u.f,m=u.cursor;r:for(;;){var w=u.cursor;i:if(u.c=u.cursor,0!=(n=u.o(o))){switch(u.d=u.cursor,n){case 1:if(!u.b("y"))break r;break;case 2:if(!u.b("i"))break r;break;case 3:if(u.cursor>=u.a)break i;u.cursor++}continue}u.cursor=w;break}return u.cursor=m,g},this.stemWord=function(r){return u.p(r),this.l(),u.j}}let stemmerInstance=new stem;function stemmer(r){return stemmerInstance.stemWord(r)}let language="dutch";