UNPKG

@orama/stemmers

Version:
1 lines 11.2 kB
"use strict";function _export(r,s){for(var e in s)Object.defineProperty(r,e,{enumerable:!0,get:Object.getOwnPropertyDescriptor(s,e).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,e){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>e||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?p:(this.cursor++,g)},this.n=function(r,s,e){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>e||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?p:(this.cursor--,g)},this.k=function(r,s,e){if(this.cursor>=this.a)return p;var i=this.j.charCodeAt(this.cursor);return i>e||i<s||0==(r[(i-=s)>>>3]&1<<(7&i))?(this.cursor++,g):p},this.q=function(r,s,e){if(this.cursor<=this.f)return p;var i=this.j.charCodeAt(this.cursor-1);return i>e||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,e=r.length,i=this.cursor,t=this.a,u=0,c=0,a=p;;){var o,n=s+(e-s>>>1),f=0,h=u<c?u:c,b=r[n];for(o=h;o<b[0].length;o++){if(i+h==t){f=-1;break}if(0!=(f=this.j.charCodeAt(i+h)-b[0].charCodeAt(o)))break;h++}if(0>f?(e=n,c=h):(s=n,u=h),1>=e-s){if(0<s||e==s||a)break;a=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,e=r.length,i=this.cursor,t=this.f,u=0,c=0,a=p;;){var o,n=s+(e-s>>1),f=0,h=u<c?u:c,b=r[n];for(o=b[0].length-1-h;0<=o;o--){if(i-h==t){f=-1;break}if(0!=(f=this.j.charCodeAt(i-1-h)-b[0].charCodeAt(o)))break;h++}if(0>f?(e=n,c=h):(s=n,u=h),1>=e-s){if(0<s||e==s||a)break;a=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,e){var i=e.length-(s-r);return this.j=this.j.slice(0,r)+e+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,e){s=this.s(r,s,e),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<=i.cursor?g:p}function s(){return m<=i.cursor?g:p}function e(){return d<=i.cursor?g:p}var i=new C,t=[["col",-1,-1],["par",-1,-1],["tap",-1,-1]],u=[["",-1,7],["H",0,6],["He",1,4],["Hi",1,5],["I",0,1],["U",0,2],["Y",0,3]],c=[["iqU",-1,3],["abl",-1,3],["I\xe8r",-1,4],["i\xe8r",-1,4],["eus",-1,2],["iv",-1,1]],a=[["ic",-1,2],["abil",-1,1],["iv",-1,3]],o=[["iqUe",-1,1],["atrice",-1,2],["ance",-1,1],["ence",-1,5],["logie",-1,3],["able",-1,1],["isme",-1,1],["euse",-1,11],["iste",-1,1],["ive",-1,8],["if",-1,8],["usion",-1,4],["ation",-1,2],["ution",-1,4],["ateur",-1,2],["iqUes",-1,1],["atrices",-1,2],["ances",-1,1],["ences",-1,5],["logies",-1,3],["ables",-1,1],["ismes",-1,1],["euses",-1,11],["istes",-1,1],["ives",-1,8],["ifs",-1,8],["usions",-1,4],["ations",-1,2],["utions",-1,4],["ateurs",-1,2],["ments",-1,15],["ements",30,6],["issements",31,12],["it\xe9s",-1,7],["ment",-1,15],["ement",34,6],["issement",35,12],["amment",34,13],["emment",34,14],["aux",-1,10],["eaux",39,9],["eux",-1,1],["it\xe9",-1,7]],n=[["ira",-1,1],["ie",-1,1],["isse",-1,1],["issante",-1,1],["i",-1,1],["irai",4,1],["ir",-1,1],["iras",-1,1],["ies",-1,1],["\xeemes",-1,1],["isses",-1,1],["issantes",-1,1],["\xeetes",-1,1],["is",-1,1],["irais",13,1],["issais",13,1],["irions",-1,1],["issions",-1,1],["irons",-1,1],["issons",-1,1],["issants",-1,1],["it",-1,1],["irait",21,1],["issait",21,1],["issant",-1,1],["iraIent",-1,1],["issaIent",-1,1],["irent",-1,1],["issent",-1,1],["iront",-1,1],["\xeet",-1,1],["iriez",-1,1],["issiez",-1,1],["irez",-1,1],["issez",-1,1]],f=[["a",-1,3],["era",0,2],["asse",-1,3],["ante",-1,3],["\xe9e",-1,2],["ai",-1,3],["erai",5,2],["er",-1,2],["as",-1,3],["eras",8,2],["\xe2mes",-1,3],["asses",-1,3],["antes",-1,3],["\xe2tes",-1,3],["\xe9es",-1,2],["ais",-1,3],["erais",15,2],["ions",-1,1],["erions",17,2],["assions",17,3],["erons",-1,2],["ants",-1,3],["\xe9s",-1,2],["ait",-1,3],["erait",23,2],["ant",-1,3],["aIent",-1,3],["eraIent",26,2],["\xe8rent",-1,2],["assent",-1,3],["eront",-1,2],["\xe2t",-1,3],["ez",-1,2],["iez",32,2],["eriez",33,2],["assiez",33,3],["erez",32,2],["\xe9",-1,2]],h=[["e",-1,3],["I\xe8re",0,2],["i\xe8re",0,2],["ion",-1,1],["Ier",-1,2],["ier",-1,2]],b=[["ell",-1,-1],["eill",-1,-1],["enn",-1,-1],["onn",-1,-1],["ett",-1,-1]],k=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],l=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],d=0,m=0,v=0;this.l=function(){var j=i.cursor;!function(){for(;;){var r=i.cursor;r:{for(;;){var s=i.cursor;s:{e:{var e=i.cursor;i:if(i.i(k,97,251)){i.c=i.cursor;t:{var t=i.cursor;if(i.m("u")&&(i.d=i.cursor,i.i(k,97,251))){if(!i.b("U"))return;break t}if(i.cursor=t,i.m("i")&&(i.d=i.cursor,i.i(k,97,251))){if(!i.b("I"))return;break t}if(i.cursor=t,!i.m("y"))break i;if(i.d=i.cursor,!i.b("Y"))return}break e}if(i.cursor=e,i.c=i.cursor,i.m("\xeb")){if(i.d=i.cursor,!i.b("He"))return;break e}if(i.cursor=e,i.c=i.cursor,i.m("\xef")){if(i.d=i.cursor,!i.b("Hi"))return;break e}if(i.cursor=e,i.c=i.cursor,i.m("y")&&(i.d=i.cursor,i.i(k,97,251))){if(!i.b("Y"))return;break e}if(i.cursor=e,!i.m("q")||(i.c=i.cursor,!i.m("u")))break s;if(i.d=i.cursor,!i.b("U"))return}i.cursor=s;break}if(i.cursor=s,i.cursor>=i.a)break r;i.cursor++}continue}i.cursor=r;break}}(),i.cursor=j,d=m=v=i.a,j=i.cursor;r:{u:{var q=i.cursor;if(i.i(k,97,251)&&i.i(k,97,251)&&!(i.cursor>=i.a)){i.cursor++;break u}if(i.cursor=q,0!=i.o(t))break u;if(i.cursor=q,i.cursor>=i.a)break r;for(i.cursor++;!i.i(k,97,251);){if(i.cursor>=i.a)break r;i.cursor++}}v=i.cursor}i.cursor=j,j=i.cursor;r:{for(;!i.i(k,97,251);){if(i.cursor>=i.a)break r;i.cursor++}for(;!i.k(k,97,251);){if(i.cursor>=i.a)break r;i.cursor++}for(m=i.cursor;!i.i(k,97,251);){if(i.cursor>=i.a)break r;i.cursor++}for(;!i.k(k,97,251);){if(i.cursor>=i.a)break r;i.cursor++}d=i.cursor}i.cursor=j,i.f=i.cursor,i.cursor=i.a,j=i.a-i.cursor;u:{q=i.a-i.cursor;s:{var I=i.a-i.cursor;e:{var w=i.a-i.cursor;if(function(){var t;if(i.d=i.cursor,0==(t=i.h(o)))return p;switch(i.c=i.cursor,t){case 1:if(!e()||!i.e())return p;break;case 2:if(!e()||!i.e())return p;if(t=i.a-i.cursor,i.d=i.cursor,i.g("ic")){i.c=i.cursor;u:{if(t=i.a-i.cursor,e()){if(!i.e())return p;break u}if(i.cursor=i.a-t,!i.b("iqU"))return p}}else i.cursor=i.a-t;break;case 3:if(!e()||!i.b("log"))return p;break;case 4:if(!e()||!i.b("u"))return p;break;case 5:if(!e()||!i.b("ent"))return p;break;case 6:if(!r()||!i.e())return p;var u=i.a-i.cursor;r:if(i.d=i.cursor,0==(t=i.h(c)))i.cursor=i.a-u;else switch(i.c=i.cursor,t){case 1:if(!e()){i.cursor=i.a-u;break r}if(!i.e())return p;if(i.d=i.cursor,!i.g("at")||(i.c=i.cursor,!e())){i.cursor=i.a-u;break r}if(!i.e())return p;break;case 2:u:{if(t=i.a-i.cursor,e()){if(!i.e())return p;break u}if(i.cursor=i.a-t,!s()){i.cursor=i.a-u;break r}if(!i.b("eux"))return p}break;case 3:if(!e()){i.cursor=i.a-u;break r}if(!i.e())return p;break;case 4:if(!r()){i.cursor=i.a-u;break r}if(!i.b("i"))return p}break;case 7:if(!e()||!i.e())return p;u=i.a-i.cursor;r:if(i.d=i.cursor,0==(t=i.h(a)))i.cursor=i.a-u;else switch(i.c=i.cursor,t){case 1:u:{if(t=i.a-i.cursor,e()){if(!i.e())return p;break u}if(i.cursor=i.a-t,!i.b("abl"))return p}break;case 2:u:{if(t=i.a-i.cursor,e()){if(!i.e())return p;break u}if(i.cursor=i.a-t,!i.b("iqU"))return p}break;case 3:if(!e()){i.cursor=i.a-u;break r}if(!i.e())return p}break;case 8:if(!e()||!i.e())return p;if(t=i.a-i.cursor,i.d=i.cursor,i.g("at"))if(i.c=i.cursor,e()){if(!i.e())return p;if(i.d=i.cursor,i.g("ic")){i.c=i.cursor;u:{if(t=i.a-i.cursor,e()){if(!i.e())return p;break u}if(i.cursor=i.a-t,!i.b("iqU"))return p}}else i.cursor=i.a-t}else i.cursor=i.a-t;else i.cursor=i.a-t;break;case 9:if(!i.b("eau"))return p;break;case 10:if(!s()||!i.b("al"))return p;break;case 11:r:{if(t=i.a-i.cursor,e()){if(!i.e())return p;break r}if(i.cursor=i.a-t,!s()||!i.b("eux"))return p}break;case 12:if(!s()||!i.q(k,97,251)||!i.e())return p;break;case 13:if(!r())return p;return i.b("ant"),p;case 14:if(!r())return p;return i.b("ent"),p;case 15:if(t=i.a-i.cursor,!i.n(k,97,251)||!r())return p;return i.cursor=i.a-t,i.e(),p}return g}()||(i.cursor=i.a-w,function(){if(i.cursor<v)return p;var r=i.f;if(i.f=v,i.d=i.cursor,0==i.h(n))return i.f=r,p;i.c=i.cursor;var s=i.a-i.cursor;return i.g("H")?(i.f=r,p):(i.cursor=i.a-s,i.q(k,97,251))?i.e()?(i.f=r,g):p:(i.f=r,p)}()))break e;if(i.cursor=i.a-w,!function(){if(i.cursor<v)return p;var r,s=i.f;if(i.f=v,i.d=i.cursor,0==(r=i.h(f)))return i.f=s,p;switch(i.c=i.cursor,r){case 1:if(!e())return i.f=s,p;if(!i.e())return p;break;case 2:if(!i.e())return p;break;case 3:if(!i.e())return p;if(r=i.a-i.cursor,i.d=i.cursor,i.g("e")){if(i.c=i.cursor,!i.e())return p}else i.cursor=i.a-r}return i.f=s,g}())break s}i.cursor=i.a-I,q=i.a-i.cursor,i.d=i.cursor;i:{if(I=i.a-i.cursor,i.g("Y")){if(i.c=i.cursor,!i.b("i"))return p;break i}if(i.cursor=i.a-I,i.g("\xe7")){if(i.c=i.cursor,!i.b("c"))return p}else i.cursor=i.a-q}break u}i.cursor=i.a-q,function(){var r,s=i.a-i.cursor;r:if(i.d=i.cursor,i.g("s")){i.c=i.cursor,r=i.a-i.cursor;u:{var t=i.a-i.cursor;if(i.g("Hi"))break u;if(i.cursor=i.a-t,!i.q(l,97,232)){i.cursor=i.a-s;break r}}if(i.cursor=i.a-r,!i.e())return}else i.cursor=i.a-s;if(!(i.cursor<v)){if(s=i.f,i.f=v,i.d=i.cursor,0!=(r=i.h(h)))switch(i.c=i.cursor,r){case 1:if(!e()){i.f=s;return}if((r=i.a-i.cursor,!i.g("s"))&&(i.cursor=i.a-r,!i.g("t"))){i.f=s;return}if(!i.e())return;break;case 2:if(!i.b("i"))return;break;case 3:if(!i.e())return}i.f=s}}()}i.cursor=i.a-j,j=i.a-i.cursor,q=i.a-i.cursor,0!=i.h(b)&&(i.cursor=i.a-q,i.d=i.cursor,i.cursor<=i.f||(i.cursor--,i.c=i.cursor,i.e())),i.cursor=i.a-j,j=i.a-i.cursor;r:{for(q=1;;){if(i.q(k,97,251)){q--;continue}break}if(!(0<q)){if((i.d=i.cursor,q=i.a-i.cursor,!i.g("\xe9"))&&(i.cursor=i.a-q,!i.g("\xe8")))break r;i.c=i.cursor,i.b("e")}}return i.cursor=i.a-j,i.cursor=i.f,j=i.cursor,!function(){for(var r;;){var s=i.cursor;r:if(i.c=i.cursor,0!=(r=i.o(u))){switch(i.d=i.cursor,r){case 1:if(!i.b("i"))return;break;case 2:if(!i.b("u"))return;break;case 3:if(!i.b("y"))return;break;case 4:if(!i.b("\xeb"))return;break;case 5:if(!i.b("\xef"))return;break;case 6:if(!i.e())return;break;case 7:if(i.cursor>=i.a)break r;i.cursor++}continue}i.cursor=s;break}}(),i.cursor=j,g},this.stemWord=function(r){return i.p(r),this.l(),i.j}}let stemmerInstance=new stem;function stemmer(r){return stemmerInstance.stemWord(r)}let language="french";