@orama/stemmers
Version:
Stemmers for Orama
1 lines • 6.02 kB
JavaScript
"use strict";function _export(t,r){for(var s in r)Object.defineProperty(t,s,{enumerable:!0,get:r[s]})}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(t){this.j=t,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(t){this.j=t.j,this.cursor=t.cursor,this.a=t.a,this.f=t.f,this.c=t.c,this.d=t.d},this.i=function(t,r,s){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>s||i<r||0==(t[(i-=r)>>>3]&1<<(7&i))?p:(this.cursor++,g)},this.n=function(t,r,s){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>s||i<r||0==(t[(i-=r)>>>3]&1<<(7&i))?p:(this.cursor--,g)},this.k=function(t,r,s){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>s||i<r||0==(t[(i-=r)>>>3]&1<<(7&i))?(this.cursor++,g):p},this.q=function(t,r,s){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>s||i<r||0==(t[(i-=r)>>>3]&1<<(7&i))?(this.cursor--,g):p},this.m=function(t){return this.a-this.cursor<t.length||this.j.slice(this.cursor,this.cursor+t.length)!=t?p:(this.cursor+=t.length,g)},this.g=function(t){return this.cursor-this.f<t.length||this.j.slice(this.cursor-t.length,this.cursor)!=t?p:(this.cursor-=t.length,g)},this.o=function(t){for(var r=0,s=t.length,i=this.cursor,h=this.a,n=0,e=0,u=p;;){var c,o=r+(s-r>>>1),f=0,a=n<e?n:e,l=t[o];for(c=a;c<l[0].length;c++){if(i+a==h){f=-1;break}if(0!=(f=this.j.charCodeAt(i+a)-l[0].charCodeAt(c)))break;a++}if(0>f?(s=o,e=a):(r=o,n=a),1>=s-r){if(0<r||s==r||u)break;u=g}}for(;;){if(n>=(l=t[r])[0].length&&(this.cursor=i+l[0].length,4>l.length||(r=l[3](this),this.cursor=i+l[0].length,r)))return l[2];if(0>(r=l[1]))return 0}},this.h=function(t){for(var r=0,s=t.length,i=this.cursor,h=this.f,n=0,e=0,u=p;;){var c,o=r+(s-r>>1),f=0,a=n<e?n:e,l=t[o];for(c=l[0].length-1-a;0<=c;c--){if(i-a==h){f=-1;break}if(0!=(f=this.j.charCodeAt(i-1-a)-l[0].charCodeAt(c)))break;a++}if(0>f?(s=o,e=a):(r=o,n=a),1>=s-r){if(0<r||s==r||u)break;u=g}}for(;;){if(n>=(l=t[r])[0].length&&(this.cursor=i-l[0].length,4>l.length||(r=l[3](this),this.cursor=i-l[0].length,r)))return l[2];if(0>(r=l[1]))return 0}},this.s=function(t,r,s){var i=s.length-(r-t);return this.j=this.j.slice(0,t)+s+this.j.slice(r),this.a+=i,this.cursor>=r?this.cursor+=i:this.cursor>t&&(this.cursor=t),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(t){var r=p;return this.t()&&(this.s(this.c,this.d,t),r=g),r},this.e=function(){return this.b("")},this.r=function(t,r,s){r=this.s(t,r,s),t<=this.c&&(this.c+=r),t<=this.d&&(this.d+=r)},this.u=function(){var t="";return this.t()&&(t=this.j.slice(this.c,this.d)),t},this.v=function(){return this.j.slice(0,this.a)}}function stem(){function t(){return r.n(i,2325,2399)?g:p}var r=new C,s=[["आँ",-1,-1],["ाँ",-1,-1],["इयाँ",1,-1],["आइयाँ",2,-1],["ाइयाँ",2,-1],["ियाँ",1,-1],["आं",-1,-1],["उआं",6,-1],["ुआं",6,-1],["ईं",-1,-1],["आईं",9,-1],["ाईं",9,-1],["एं",-1,-1],["आएं",12,-1],["उएं",12,-1],["ाएं",12,-1],["ताएं",15,-1,t],["अताएं",16,-1],["नाएं",15,-1,t],["अनाएं",18,-1],["ुएं",12,-1],["ओं",-1,-1],["आओं",21,-1],["उओं",21,-1],["ाओं",21,-1],["ताओं",24,-1,t],["अताओं",25,-1],["नाओं",24,-1,t],["अनाओं",27,-1],["ुओं",21,-1],["ां",-1,-1],["इयां",30,-1],["आइयां",31,-1],["ाइयां",31,-1],["ियां",30,-1],["ीं",-1,-1],["तीं",35,-1,t],["अतीं",36,-1],["आतीं",36,-1],["ातीं",36,-1],["ें",-1,-1],["ों",-1,-1],["इयों",41,-1],["आइयों",42,-1],["ाइयों",42,-1],["ियों",41,-1],["अ",-1,-1],["आ",-1,-1],["इ",-1,-1],["ई",-1,-1],["आई",49,-1],["ाई",49,-1],["उ",-1,-1],["ऊ",-1,-1],["ए",-1,-1],["आए",54,-1],["इए",54,-1],["आइए",56,-1],["ाइए",56,-1],["ाए",54,-1],["िए",54,-1],["ओ",-1,-1],["आओ",61,-1],["ाओ",61,-1],["कर",-1,-1,t],["अकर",64,-1],["आकर",64,-1],["ाकर",64,-1],["ा",-1,-1],["ऊंगा",68,-1],["आऊंगा",69,-1],["ाऊंगा",69,-1],["ूंगा",68,-1],["एगा",68,-1],["आएगा",73,-1],["ाएगा",73,-1],["ेगा",68,-1],["ता",68,-1,t],["अता",77,-1],["आता",77,-1],["ाता",77,-1],["ना",68,-1,t],["अना",81,-1],["आना",81,-1],["ाना",81,-1],["आया",68,-1],["ाया",68,-1],["ि",-1,-1],["ी",-1,-1],["ऊंगी",88,-1],["आऊंगी",89,-1],["ाऊंगी",89,-1],["एंगी",88,-1],["आएंगी",92,-1],["ाएंगी",92,-1],["ूंगी",88,-1],["ेंगी",88,-1],["एगी",88,-1],["आएगी",97,-1],["ाएगी",97,-1],["ओगी",88,-1],["आओगी",100,-1],["ाओगी",100,-1],["ेगी",88,-1],["ोगी",88,-1],["ती",88,-1,t],["अती",105,-1],["आती",105,-1],["ाती",105,-1],["नी",88,-1,t],["अनी",109,-1],["ु",-1,-1],["ू",-1,-1],["े",-1,-1],["एंगे",113,-1],["आएंगे",114,-1],["ाएंगे",114,-1],["ेंगे",113,-1],["ओगे",113,-1],["आओगे",118,-1],["ाओगे",118,-1],["ोगे",113,-1],["ते",113,-1,t],["अते",122,-1],["आते",122,-1],["ाते",122,-1],["ने",113,-1,t],["अने",126,-1],["आने",126,-1],["ाने",126,-1],["ो",-1,-1],["्",-1,-1]],i=[255,255,255,255,159,0,0,0,248,7];this.l=function(){return r.cursor>=r.a||(r.cursor++,r.f=r.cursor,r.cursor=r.a,r.d=r.cursor,0==r.h(s))?p:(r.c=r.cursor,r.e())?(r.cursor=r.f,g):p},this.stemWord=function(t){return r.p(t),this.l(),r.j}}let stemmerInstance=new stem;function stemmer(t){return stemmerInstance.stemWord(t)}let language="indian";