-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlunastra.min.js
1 lines (1 loc) · 22.1 KB
/
lunastra.min.js
1
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Lunastra",[],t):"object"==typeof exports?exports.Lunastra=t():e.Lunastra=t()}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}},t.toString=function(e){return null==e?"":e.toString()},t.clone=function(e){if(null===e||"object"!==r(e))return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.Pipeline=void 0;var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._queue=[]}var t,n,o;return t=e,(n=[{key:"get",value:function(){return this._queue}},{key:"add",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.forEach(function(e){this._queue.push(e)},this)}},{key:"after",value:function(e,t){var n=this._queue.indexOf(e);if(-1===n)throw new Error("Cannot find the the requested function to insert after");this._queue.splice(n+1,0,t)}},{key:"before",value:function(e,t){var n=this._queue.indexOf(e);if(-1===n)throw new Error("Cannot find the the requested function to insert before");this._queue.splice(n,0,t)}},{key:"remove",value:function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)}},{key:"pop",value:function(){return this._queue.pop()}},{key:"clear",value:function(){this._queue=[]}},{key:"run",value:function(e){Array.isArray(e)||(e=[e]);var t=e;return this._queue.forEach(function(e){var n=[];t.forEach(function(t,r,o){var i=e(t,r,o);Array.isArray(i)||(i=[i]),i.forEach(function(e){null!=e&&""!==e&&n.push(e)})}),t=n}),t}}])&&r(t.prototype,n),o&&r(t,o),e}();t.Pipeline=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentStore=void 0;var r=n(0);function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=function(){function e(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._save=!1!==t,this._deepcpy=!1!==n,this.docs={},this.docInfo={},this.length=0}var t,n,i;return t=e,(n=[{key:"isDocStored",value:function(){return this._save}},{key:"hasDoc",value:function(e){return e in this.docs}},{key:"getDoc",value:function(e){return!1===this.hasDoc(e)?null:this.docs[e]}},{key:"addDoc",value:function(e,t){this.hasDoc(e)||this.length++,this.docs[e]=this._save?this.deepcpy?(0,r.clone)(t):t:null}},{key:"removeDoc",value:function(e){this.hasDoc(e)&&(delete this.docs[e],delete this.docInfo[e],this.length--)}},{key:"getFieldLength",value:function(e,t){return null==e?0:e in this.docs&&t in this.docInfo[e]?this.docInfo[e][t]:0}},{key:"addFieldLength",value:function(e,t,n){null!=e&&this.hasDoc(e)&&(this.docInfo[e]||(this.docInfo[e]={}),this.docInfo[e][t]=n)}},{key:"updateFieldLength",value:function(e,t,n){null!=e&&this.hasDoc(e)&&this.addFieldLength(e,t,n)}},{key:"deepcpy",get:function(){return this._deepcpy}}])&&o(t.prototype,n),i&&o(t,i),e}();t.DocumentStore=i},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.InvertedIndex=void 0;var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.root={docs:{},df:0}}var t,n,o;return t=e,(n=[{key:"addToken",value:function(e,t,n){n=n||this.root;for(var r=0;r<e.length;++r){var o=e[r];o in n||(n[o]={docs:{},df:0}),n=n[o]}var i=t.id;n.docs[i]?n.docs[i]={tf:t.tf}:(n.docs[i]={tf:t.tf},n.df+=1)}},{key:"hasToken",value:function(e){if(!e)return!1;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return!1;t=t[e[n]]}return!0}},{key:"getNode",value:function(e){if(!e)return null;for(var t=this.root,n=0;n<e.length;n++){if(!t[e[n]])return null;t=t[e[n]]}return t}},{key:"getDocs",value:function(e){var t=this.getNode(e);return null==t?{}:t.docs}},{key:"getTermFrequency",value:function(e,t){var n=this.getNode(e);return null==n?0:t in n.docs?n.docs[t].tf:0}},{key:"getDocFreq",value:function(e){var t=this.getNode(e);return null==t?0:t.df}},{key:"removeToken",value:function(e,t){if(e){var n=this.getNode(e);null!=n&&t in n.docs&&(delete n.docs[t],n.df-=1)}}},{key:"expandToken",value:function(e,t,n){if(null==e||""===e)return[];if(t=t||[],null==n&&null==(n=this.getNode(e)))return t;for(var r in n.df>0&&t.push(e),n)"docs"!==r&&"df"!==r&&this.expandToken(e+r,t,n[r]);return t}}])&&r(t.prototype,n),o&&r(t,o),e}();t.InvertedIndex=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Configuration=void 0;var r=n(0);function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=function(){function e(t,n){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=t||"",void 0===n||null==n)throw new Error("fields should not be null");var o;if(this.config={},0===t.length)this.buildDefaultConfig(n);else try{o=JSON.parse(t),this.buildUserConfig(o,n)}catch(e){(0,r.warn)("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}}var t,n,i;return t=e,(n=[{key:"get",value:function(){return this.config}},{key:"reset",value:function(){this.config={}}},{key:"buildDefaultConfig",value:function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)}},{key:"buildUserConfig",value:function(e,t){var n="OR",o=!1;if(this.reset(),"bool"in e&&(n=e.bool||n),"expand"in e&&(o=e.expand||o),"fields"in e)for(var i in e.fields)if(t.indexOf(i)>-1){var a=e.fields[i],u=o;null!=a.expand&&(u=a.expand),this.config[i]={boost:a.boost||0===a.boost?a.boost:1,bool:a.bool||n,expand:u}}else(0,r.warn)("field name in user configuration not found in index instance fields");else this.addAllFieldsToUserConfig(n,o,t)}},{key:"addAllFieldsToUserConfig",value:function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)}}])&&o(t.prototype,n),i&&o(t,i),e}();t.Configuration=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Tokenizer=void 0;var r=n(0);function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,i;return t=e,i=[{key:"tokenize",value:function(t){if(!arguments.length||null==t)return[];if(Array.isArray(t)){var n=t.filter(function(e){return null!=e});n=n.map(function(e){return(0,r.toString)(e).toLowerCase()});var o=[];return n.forEach(function(t){var n=t.split(e.separator);o=o.concat(n)},this),o}return t.toString().trim().toLowerCase().split(e.separator)}},{key:"getSeparator",value:function(){return e.separator}},{key:"setSeparator",value:function(t){e.separator=t}},{key:"resetSeparator",value:function(){e.separator=e.defaultSeparator}}],(n=null)&&o(t.prototype,n),i&&o(t,i),e}();t.Tokenizer=i,i.defaultSeparator=/[\s\-]+/,i.separator=i.defaultSeparator},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.EventEmitter=void 0;var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.events={}}var t,n,o;return t=e,(n=[{key:"hasHandler",value:function(e){return e in this.events}},{key:"addListener",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.pop(),o=t;if("function"!=typeof r)throw new TypeError("Last argument must be a function");o.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(r)},this)}},{key:"removeListener",value:function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0===this.events[e].length&&delete this.events[e])}}},{key:"emit",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.hasHandler(e)&&this.events[e].forEach(function(e){e.apply(void 0,n)},this)}}])&&r(t.prototype,n),o&&r(t,o),e}();t.EventEmitter=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={init:!0};t.init=function(e){var t=new o.Index;t.pipeline.add(i.Trimmer.trimmer,a.StopWordFilter.stopWordFilter,u.Stemmer.stemmer),e.id&&t.setId(e.id);!0===e.generateIds&&t.generateIds();!1===e.save&&t.saveDoc(!1);e.fields&&e.fields.length>0&&e.fields.forEach(function(e){t.addField(e)});e.documents&&e.documents.length>0&&e.documents.forEach(function(e){t.addDoc(e)});return t};var o=n(8);Object.keys(o).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))});var i=n(9);Object.keys(i).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))});var a=n(10);Object.keys(a).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))});var u=n(11);Object.keys(u).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))});var s=n(4);Object.keys(s).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))});var c=n(2);Object.keys(c).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))});var l=n(5);Object.keys(l).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))});var f=n(3);Object.keys(f).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return f[e]}}))});var d=n(1);Object.keys(d).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))});var h=n(6);Object.keys(h).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))});var v=n(0);Object.keys(v).forEach(function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return v[e]}}))})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Index=void 0;var r=n(1),o=n(2),i=n(3),a=n(4),u=n(5),s=n(6);function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var l=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._fields=[],this._id="id",this._idfCache={},this._generateIds={active:!1,current:0},this.index={},this.pipeline=new r.Pipeline,this.documentStore=new o.DocumentStore,this.eventEmitter=new s.EventEmitter,this.on("add","remove","update",function(){this._idfCache={}}.bind(this))}var t,n,l;return t=e,(n=[{key:"generateIds",value:function(){this._generateIds.active=!0}},{key:"getFields",value:function(){return this._fields.slice()}},{key:"addField",value:function(e){return this._fields.push(e),this.index[e]=new i.InvertedIndex,this}},{key:"setId",value:function(e){return this._id=e,this}},{key:"on",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.eventEmitter.addListener.apply(this.eventEmitter,t)}},{key:"off",value:function(e,t){return this.eventEmitter.removeListener(e,t)}},{key:"saveDoc",value:function(e){return this.documentStore=new o.DocumentStore(e),this}},{key:"addDoc",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e){this._generateIds.active&&(e[this._id]=++this._generateIds.current);var n=e[this._id];if(null==n)throw Error("Document missing the id property: "+this._id);this.documentStore.addDoc(n,e),this._fields.forEach(function(t){var r=this.pipeline.run(u.Tokenizer.tokenize(e[t]));this.documentStore.addFieldLength(n,t,r.length);var o={};for(var i in r.forEach(function(e){e in o?o[e]+=1:o[e]=1},this),o){var a=o[i];a=Math.sqrt(a),this.index[t].addToken(i,{id:n,tf:a})}},this),t&&this.eventEmitter.emit("add",e,this)}}},{key:"removeDocById",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e&&!1!==this.documentStore.isDocStored()&&this.documentStore.hasDoc(e)){var n=this.documentStore.getDoc(e);this.removeDoc(n,t)}}},{key:"removeDoc",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e){var n=e[this._id];this.documentStore.hasDoc(n)&&(this.documentStore.removeDoc(n),this._fields.forEach(function(t){this.pipeline.run(u.Tokenizer.tokenize(e[t])).forEach(function(e){this.index[t].removeToken(e,n)},this)},this),t&&this.eventEmitter.emit("remove",e,this))}}},{key:"updateDoc",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.removeDocById(e[this._id],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)}},{key:"search",value:function(e,t){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var n=null;null!=t&&(n=JSON.stringify(t));for(var r=new a.Configuration(n,this.getFields()).get(),o={},i=Object.keys(e),s=0;s<i.length;s++){var c=i[s];o[c]=this.pipeline.run(u.Tokenizer.tokenize(e[c]))}var l={};for(var f in r){var d=o[f]||o.any;if(d){var h=this.fieldSearch(d,f,r),v=r[f].boost;for(var y in h)h[y]=h[y]*v;for(var p in h)p in l?l[p]+=h[p]:l[p]=h[p]}}var b,g=[];for(var m in l)b={id:m,score:l[m]},this.documentStore.hasDoc(m)&&(b.doc=this.documentStore.getDoc(m)),g.push(b);return g.sort(function(e,t){return t.score-e.score}),g}},{key:"fieldSearch",value:function(e,t,n){var r=n[t].bool,o=n[t].expand,i=n[t].boost,a=null,u={};if(0!==i)return e.forEach(function(e){var n=[e];o&&(n=this.index[t].expandToken(e));var i={};n.forEach(function(n){var o=this.index[t].getDocs(n),s=this.idf(n,t);if(a&&"AND"===r){var c={};for(var l in a)l in o&&(c[l]=o[l]);o=c}for(var f in n===e&&this.fieldSearchStats(u,n,o),o){var d=this.index[t].getTermFrequency(n,f),h=this.documentStore.getFieldLength(f,t),v=1;0!==h&&(v=1/Math.sqrt(h));var y=1;n!==e&&(y=.15*(1-(n.length-e.length)/n.length));var p=d*s*v*y;f in i?i[f]+=p:i[f]=p}},this),a=this.mergeScores(a,i,r)},this),a=this.coordNorm(a,u,e.length)}},{key:"mergeScores",value:function(e,t,n){if(!e)return t;if("AND"===n){var r={};for(var o in t)o in e&&(r[o]=e[o]+t[o]);return r}for(var i in t)i in e?e[i]+=t[i]:e[i]=t[i];return e}},{key:"fieldSearchStats",value:function(e,t,n){for(var r in n)r in e?e[r].push(t):e[r]=[t]}},{key:"idf",value:function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var r=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(r+1));return this._idfCache[n]=o,o}},{key:"coordNorm",value:function(e,t,n){for(var r in e)if(r in t){var o=t[r].length;e[r]=e[r]*o/n}return e}}])&&c(t.prototype,n),l&&c(t,l),e}();t.Index=l},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.Trimmer=void 0;var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,o;return t=e,o=[{key:"trimmer",value:function(e){if(null==e)throw new Error("token should not be undefined");return e.replace(/^\W+/,"").replace(/\W+$/,"")}}],(n=null)&&r(t.prototype,n),o&&r(t,o),e}();t.Trimmer=o},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.StopWordFilter=void 0;var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,o;return t=e,o=[{key:"stopWordFilter",value:function(t){if(t&&!0!==e.stopWords[t])return t}},{key:"clearStopWords",value:function(){e.stopWords={}}},{key:"addStopWords",value:function(t){null!=t&&!1!==Array.isArray(t)&&t.forEach(function(t){e.stopWords[t]=!0},this)}},{key:"resetStopWords",value:function(){e.stopWords=e.defaultStopWords}}],(n=null)&&r(t.prototype,n),o&&r(t,o),e}();t.StopWordFilter=o,o.defaultStopWords={"":!0,a:!0,able:!0,about:!0,across:!0,after:!0,all:!0,almost:!0,also:!0,am:!0,among:!0,an:!0,and:!0,any:!0,are:!0,as:!0,at:!0,be:!0,because:!0,been:!0,but:!0,by:!0,can:!0,cannot:!0,could:!0,dear:!0,did:!0,do:!0,does:!0,either:!0,else:!0,ever:!0,every:!0,for:!0,from:!0,get:!0,got:!0,had:!0,has:!0,have:!0,he:!0,her:!0,hers:!0,him:!0,his:!0,how:!0,however:!0,i:!0,if:!0,in:!0,into:!0,is:!0,it:!0,its:!0,just:!0,least:!0,let:!0,like:!0,likely:!0,may:!0,me:!0,might:!0,most:!0,must:!0,my:!0,neither:!0,no:!0,nor:!0,not:!0,of:!0,off:!0,often:!0,on:!0,only:!0,or:!0,other:!0,our:!0,own:!0,rather:!0,said:!0,say:!0,says:!0,she:!0,should:!0,since:!0,so:!0,some:!0,than:!0,that:!0,the:!0,their:!0,them:!0,then:!0,there:!0,these:!0,they:!0,this:!0,tis:!0,to:!0,too:!0,twas:!0,us:!0,wants:!0,was:!0,we:!0,were:!0,what:!0,when:!0,where:!0,which:!0,while:!0,who:!0,whom:!0,why:!0,will:!0,with:!0,would:!0,yet:!0,you:!0,your:!0},o.stopWords=o.defaultStopWords},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.Stemmer=void 0;var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,o;return t=e,o=[{key:"stemmer",value:function(e){var t,n,r,o,i,a,u,s,c,l={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},f={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},d="[aeiouy]",h="[^aeiou][^aeiouy]*",v=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),y=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),b=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),g=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,k=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,_=/.$/,O=/(at|bl|iz)$/,j=new RegExp("([^aeiouylsz])\\1$"),E=new RegExp("^"+h+d+"[^aeiouwxy]$"),S=/^(.+?[^aeiou])y$/,x=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,P=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,D=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,T=/^(.+?)(s|t)(ion)$/,C=/^(.+?)e$/,M=/ll$/,I=new RegExp("^"+h+d+"[^aeiouwxy]$");return(t=e).length<3?t:("y"===(o=t.substr(0,1))&&(t=o.toUpperCase()+t.substr(1)),a=m,(i=g).test(t)?t=t.replace(i,"$1$2"):a.test(t)&&(t=t.replace(a,"$1$2")),a=w,(i=k).test(t)?(c=i.exec(t),(i=v).test(c[1])&&(i=_,t=t.replace(i,""))):a.test(t)&&(n=(c=a.exec(t))[1],(a=b).test(n)&&(t=n,u=j,s=E,(a=O).test(t)?t+="e":u.test(t)?(i=_,t=t.replace(i,"")):s.test(t)&&(t+="e"))),(i=S).test(t)&&(t=(n=(c=i.exec(t))[1])+"i"),(i=x).test(t)&&(n=(c=i.exec(t))[1],r=c[2],(i=v).test(n)&&(t=n+l[r])),(i=P).test(t)&&(n=(c=i.exec(t))[1],r=c[2],(i=v).test(n)&&(t=n+f[r])),a=T,(i=D).test(t)?(n=(c=i.exec(t))[1],(i=y).test(n)&&(t=n)):a.test(t)&&(n=(c=a.exec(t))[1]+c[2],(a=y).test(n)&&(t=n)),(i=C).test(t)&&(n=(c=i.exec(t))[1],a=p,u=I,((i=y).test(n)||a.test(n)&&!u.test(n))&&(t=n)),a=y,(i=M).test(t)&&a.test(t)&&(i=_,t=t.replace(i,"")),"y"===o&&(t=o.toLowerCase()+t.substr(1)),t)}}],(n=null)&&r(t.prototype,n),o&&r(t,o),e}();t.Stemmer=o}])});