UNPKG

@orama/stemmers

Version:
1 lines 4.43 kB
function r(){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!1;var i=this.j.charCodeAt(this.cursor);return!(i>t)&&!(i<s)&&0!=(r[(i-=s)>>>3]&1<<(7&i))&&(this.cursor++,!0)},this.n=function(r,s,t){if(this.cursor<=this.f)return!1;var i=this.j.charCodeAt(this.cursor-1);return!(i>t)&&!(i<s)&&0!=(r[(i-=s)>>>3]&1<<(7&i))&&(this.cursor--,!0)},this.k=function(r,s,t){if(this.cursor>=this.a)return!1;var i=this.j.charCodeAt(this.cursor);return i>t||i<s?(this.cursor++,!0):0==(r[(i-=s)>>>3]&1<<(7&i))&&(this.cursor++,!0)},this.q=function(r,s,t){if(this.cursor<=this.f)return!1;var i=this.j.charCodeAt(this.cursor-1);return i>t||i<s?(this.cursor--,!0):0==(r[(i-=s)>>>3]&1<<(7&i))&&(this.cursor--,!0)},this.m=function(r){return!(this.a-this.cursor<r.length)&&this.j.slice(this.cursor,this.cursor+r.length)==r&&(this.cursor+=r.length,!0)},this.g=function(r){return!(this.cursor-this.f<r.length)&&this.j.slice(this.cursor-r.length,this.cursor)==r&&(this.cursor-=r.length,!0)},this.o=function(r){for(var s=0,t=r.length,i=this.cursor,h=this.a,e=0,c=0,o=!1;;){var u,n=s+(t-s>>>1),f=0,a=e<c?e:c,l=r[n];for(u=a;u<l[0].length;u++){if(i+a==h){f=-1;break}if(0!=(f=this.j.charCodeAt(i+a)-l[0].charCodeAt(u)))break;a++}if(0>f?(t=n,c=a):(s=n,e=a),1>=t-s){if(0<s||t==s||o)break;o=!0}}for(;;){if(e>=(l=r[s])[0].length&&(this.cursor=i+l[0].length,4>l.length||(s=l[3](this),this.cursor=i+l[0].length,s)))return l[2];if(0>(s=l[1]))return 0}},this.h=function(r){for(var s=0,t=r.length,i=this.cursor,h=this.f,e=0,c=0,o=!1;;){var u,n=s+(t-s>>1),f=0,a=e<c?e:c,l=r[n];for(u=l[0].length-1-a;0<=u;u--){if(i-a==h){f=-1;break}if(0!=(f=this.j.charCodeAt(i-1-a)-l[0].charCodeAt(u)))break;a++}if(0>f?(t=n,c=a):(s=n,e=a),1>=t-s){if(0<s||t==s||o)break;o=!0}}for(;;){if(e>=(l=r[s])[0].length&&(this.cursor=i-l[0].length,4>l.length||(s=l[3](this),this.cursor=i-l[0].length,s)))return l[2];if(0>(s=l[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)},this.b=function(r){var s=!1;return this.t()&&(this.s(this.c,this.d,r),s=!0),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)}}let s=new function(){var s=new r,t=[["a",-1,1],["e",-1,1],["ede",1,1],["ande",1,1],["ende",1,1],["ane",1,1],["ene",1,1],["hetene",6,1],["erte",1,3],["en",-1,1],["heten",9,1],["ar",-1,1],["er",-1,1],["heter",12,1],["s",-1,2],["as",14,1],["es",14,1],["edes",16,1],["endes",16,1],["enes",16,1],["hetenes",19,1],["ens",14,1],["hetens",21,1],["ers",14,1],["ets",14,1],["et",-1,1],["het",25,1],["ert",-1,3],["ast",-1,1]],i=[["dt",-1,-1],["vt",-1,-1]],h=[["leg",-1,1],["eleg",0,1],["ig",-1,1],["eig",2,1],["lig",2,1],["elig",4,1],["els",-1,1],["lov",-1,1],["elov",7,1],["slov",7,1],["hetslov",9,1]],e=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],c=[119,125,149,1],o=0,u=0;this.l=function(){var r=s.cursor;r:{u=s.a;var n=s.cursor,f=s.cursor+3;if(!(f>s.a)){for(s.cursor=f,o=s.cursor,s.cursor=n;;){if(n=s.cursor,s.i(e,97,248)){s.cursor=n;break}if(s.cursor=n,s.cursor>=s.a)break r;s.cursor++}for(;!s.k(e,97,248);){if(s.cursor>=s.a)break r;s.cursor++}(u=s.cursor)<o&&(u=o)}}if(s.cursor=r,s.f=s.cursor,s.cursor=s.a,r=s.a-s.cursor,!(s.cursor<u))if(f=s.f,s.f=u,s.d=s.cursor,0==(n=s.h(t)))s.f=f;else switch(s.c=s.cursor,s.f=f,n){case 1:s.e();break;case 2:if((n=s.a-s.cursor,!s.n(c,98,122))&&(s.cursor=s.a-n,!s.g("k")||!s.q(e,97,248)))break;s.e();break;case 3:s.b("er")}return s.cursor=s.a-r,r=s.a-s.cursor,n=s.a-s.cursor,s.cursor<u||(f=s.f,s.f=u,s.d=s.cursor,0==s.h(i)?s.f=f:(s.c=s.cursor,s.f=f,s.cursor=s.a-n,s.cursor<=s.f||(s.cursor--,s.c=s.cursor,s.e()))),s.cursor=s.a-r,r=s.a-s.cursor,s.cursor<u||(n=s.f,s.f=u,s.d=s.cursor,0==s.h(h)?s.f=n:(s.c=s.cursor,s.f=n,s.e())),s.cursor=s.a-r,s.cursor=s.f,!0},this.stemWord=function(r){return s.p(r),this.l(),s.j}};export function stemmer(r){return s.stemWord(r)}export const language="norwegian";