UNPKG

@orama/stemmers

Version:
1 lines 7.13 kB
"use strict";function _export(r,t){for(var s in t)Object.defineProperty(r,s,{enumerable:!0,get:Object.getOwnPropertyDescriptor(t,s).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,t,s){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>s||i<t||0==(r[(i-=t)>>>3]&1<<(7&i))?p:(this.cursor++,g)},this.n=function(r,t,s){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>s||i<t||0==(r[(i-=t)>>>3]&1<<(7&i))?p:(this.cursor--,g)},this.k=function(r,t,s){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>s||i<t||0==(r[(i-=t)>>>3]&1<<(7&i))?(this.cursor++,g):p},this.q=function(r,t,s){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>s||i<t||0==(r[(i-=t)>>>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 t=0,s=r.length,i=this.cursor,h=this.a,e=0,u=0,c=p;;){var o,n=t+(s-t>>>1),a=0,f=e<u?e:u,l=r[n];for(o=f;o<l[0].length;o++){if(i+f==h){a=-1;break}if(0!=(a=this.j.charCodeAt(i+f)-l[0].charCodeAt(o)))break;f++}if(0>a?(s=n,u=f):(t=n,e=f),1>=s-t){if(0<t||s==t||c)break;c=g}}for(;;){if(e>=(l=r[t])[0].length&&(this.cursor=i+l[0].length,4>l.length||(t=l[3](this),this.cursor=i+l[0].length,t)))return l[2];if(0>(t=l[1]))return 0}},this.h=function(r){for(var t=0,s=r.length,i=this.cursor,h=this.f,e=0,u=0,c=p;;){var o,n=t+(s-t>>1),a=0,f=e<u?e:u,l=r[n];for(o=l[0].length-1-f;0<=o;o--){if(i-f==h){a=-1;break}if(0!=(a=this.j.charCodeAt(i-1-f)-l[0].charCodeAt(o)))break;f++}if(0>a?(s=n,u=f):(t=n,e=f),1>=s-t){if(0<t||s==t||c)break;c=g}}for(;;){if(e>=(l=r[t])[0].length&&(this.cursor=i-l[0].length,4>l.length||(t=l[3](this),this.cursor=i-l[0].length,t)))return l[2];if(0>(t=l[1]))return 0}},this.s=function(r,t,s){var i=s.length-(t-r);return this.j=this.j.slice(0,r)+s+this.j.slice(t),this.a+=i,this.cursor>=t?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 t=p;return this.t()&&(this.s(this.c,this.d,r),t=g),t},this.e=function(){return this.b("")},this.r=function(r,t,s){t=this.s(r,t,s),r<=this.c&&(this.c+=t),r<=this.d&&(this.d+=t)},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(){var r=new C,t=[["րորդ",-1,1],["երորդ",0,1],["ալի",-1,1],["ակի",-1,1],["որակ",-1,1],["եղ",-1,1],["ական",-1,1],["արան",-1,1],["են",-1,1],["եկեն",8,1],["երեն",8,1],["որէն",-1,1],["ին",-1,1],["գին",12,1],["ովին",12,1],["լայն",-1,1],["վուն",-1,1],["պես",-1,1],["իվ",-1,1],["ատ",-1,1],["ավետ",-1,1],["կոտ",-1,1],["բար",-1,1]],s=[["ա",-1,1],["ացա",0,1],["եցա",0,1],["վե",-1,1],["ացրի",-1,1],["ացի",-1,1],["եցի",-1,1],["վեցի",6,1],["ալ",-1,1],["ըալ",8,1],["անալ",8,1],["ենալ",8,1],["ացնալ",8,1],["ել",-1,1],["ըել",13,1],["նել",13,1],["ցնել",15,1],["եցնել",16,1],["չել",13,1],["վել",13,1],["ացվել",19,1],["եցվել",19,1],["տել",13,1],["ատել",22,1],["ոտել",22,1],["կոտել",24,1],["ված",-1,1],["ում",-1,1],["վում",27,1],["ան",-1,1],["ցան",29,1],["ացան",30,1],["ացրին",-1,1],["ացին",-1,1],["եցին",-1,1],["վեցին",34,1],["ալիս",-1,1],["ելիս",-1,1],["ավ",-1,1],["ացավ",38,1],["եցավ",38,1],["ալով",-1,1],["ելով",-1,1],["ար",-1,1],["ացար",43,1],["եցար",43,1],["ացրիր",-1,1],["ացիր",-1,1],["եցիր",-1,1],["վեցիր",48,1],["աց",-1,1],["եց",-1,1],["ացրեց",51,1],["ալուց",-1,1],["ելուց",-1,1],["ալու",-1,1],["ելու",-1,1],["աք",-1,1],["ցաք",57,1],["ացաք",58,1],["ացրիք",-1,1],["ացիք",-1,1],["եցիք",-1,1],["վեցիք",62,1],["անք",-1,1],["ցանք",64,1],["ացանք",65,1],["ացրինք",-1,1],["ացինք",-1,1],["եցինք",-1,1],["վեցինք",69,1]],i=[["որդ",-1,1],["ույթ",-1,1],["ուհի",-1,1],["ցի",-1,1],["իլ",-1,1],["ակ",-1,1],["յակ",5,1],["անակ",5,1],["իկ",-1,1],["ուկ",-1,1],["ան",-1,1],["պան",10,1],["ստան",10,1],["արան",10,1],["եղէն",-1,1],["յուն",-1,1],["ություն",15,1],["ածո",-1,1],["իչ",-1,1],["ուս",-1,1],["ուստ",-1,1],["գար",-1,1],["վոր",-1,1],["ավոր",22,1],["ոց",-1,1],["անօց",-1,1],["ու",-1,1],["ք",-1,1],["չեք",27,1],["իք",27,1],["ալիք",29,1],["անիք",29,1],["վածք",27,1],["ույք",27,1],["ենք",27,1],["ոնք",27,1],["ունք",27,1],["մունք",36,1],["իչք",27,1],["արք",27,1]],h=[["սա",-1,1],["վա",-1,1],["ամբ",-1,1],["դ",-1,1],["անդ",3,1],["ությանդ",4,1],["վանդ",4,1],["ոջդ",3,1],["երդ",3,1],["ներդ",8,1],["ուդ",3,1],["ը",-1,1],["անը",11,1],["ությանը",12,1],["վանը",12,1],["ոջը",11,1],["երը",11,1],["ները",16,1],["ի",-1,1],["վի",18,1],["երի",18,1],["ների",20,1],["անում",-1,1],["երում",-1,1],["ներում",23,1],["ն",-1,1],["ան",25,1],["ության",26,1],["վան",26,1],["ին",25,1],["երին",29,1],["ներին",30,1],["ությանն",25,1],["երն",25,1],["ներն",33,1],["ուն",25,1],["ոջ",-1,1],["ությանս",-1,1],["վանս",-1,1],["ոջս",-1,1],["ով",-1,1],["անով",40,1],["վով",40,1],["երով",40,1],["ներով",43,1],["եր",-1,1],["ներ",45,1],["ց",-1,1],["ից",47,1],["վանից",48,1],["ոջից",48,1],["վից",48,1],["երից",48,1],["ներից",52,1],["ցից",48,1],["ոց",47,1],["ուց",47,1]],e=[209,4,128,0,18],u=0,c=0;this.l=function(){u=c=r.a;var o=r.cursor;r:{for(;!r.i(e,1377,1413);){if(r.cursor>=r.a)break r;r.cursor++}for(c=r.cursor;!r.k(e,1377,1413);){if(r.cursor>=r.a)break r;r.cursor++}for(;!r.i(e,1377,1413);){if(r.cursor>=r.a)break r;r.cursor++}for(;!r.k(e,1377,1413);){if(r.cursor>=r.a)break r;r.cursor++}u=r.cursor}if(r.cursor=o,r.f=r.cursor,r.cursor=r.a,r.cursor<c)return p;o=r.f,r.f=c;var n=r.a-r.cursor;return r.d=r.cursor,0!=r.h(h)&&(r.c=r.cursor,u<=r.cursor&&r.e()),r.cursor=r.a-n,n=r.a-r.cursor,r.d=r.cursor,0!=r.h(s)&&(r.c=r.cursor,r.e()),r.cursor=r.a-n,n=r.a-r.cursor,r.d=r.cursor,0!=r.h(t)&&(r.c=r.cursor,r.e()),r.cursor=r.a-n,n=r.a-r.cursor,r.d=r.cursor,0!=r.h(i)&&(r.c=r.cursor,r.e()),r.cursor=r.a-n,r.f=o,r.cursor=r.f,g},this.stemWord=function(t){return r.p(t),this.l(),r.j}}let stemmerInstance=new stem;function stemmer(r){return stemmerInstance.stemWord(r)}let language="armenian";