1
0
mirror of https://github.com/nextapps-de/flexsearch.git synced 2025-08-31 17:42:13 +02:00

ADD flexible cache

This commit is contained in:
Thomas Wilkerling
2018-03-22 13:35:52 +01:00
parent 8fb63c48d8
commit 056d654564
5 changed files with 100 additions and 40 deletions

View File

@@ -1,5 +1,5 @@
;/**!
* @preserve FlexSearch v0.2.4
* @preserve FlexSearch v0.2.41
* Copyright 2017-2018 Thomas Wilkerling
* Released under the Apache 2.0 Licence
* https://github.com/nextapps-de/flexsearch
@@ -1737,27 +1737,87 @@ var SUPPORT_ASYNC = true;
var cache = SUPPORT_CACHE ? (function(){
/** @this {Cache} */
function Cache(){
function Cache(limit){
this.cache = {};
this.reset();
this.limit = limit || 1000;
}
/** @this {Cache} */
Cache.prototype.reset = function(){
this.cache = {};
this.count = {};
this.index = {};
this.keys = [];
};
/** @this {Cache} */
Cache.prototype.set = function(id, value){
if(!this.count[id]){
var length = this.keys.length;
if(length === this.limit){
length--;
var last_id = this.keys[length];
delete this.cache[last_id];
delete this.count[last_id];
delete this.index[last_id];
}
this.index[id] = length;
this.keys[length] = id;
this.count[id] = 1;
}
this.cache[id] = value;
// shift up counter +1
this.get(id);
};
/** @this {Cache} */
/**
* Note: It is a lot better to have the complexity when fetching the cache:
* @this {Cache}
*/
Cache.prototype.get = function(id){
return this.cache[id];
var cache = this.cache[id];
if(cache){
var count = ++this.count[id];
var index = this.index;
var current_index = index[id];
if(current_index > 0){
var keys = this.keys;
var old_index = current_index;
while(current_index && this.count[keys[current_index--]] <= count){}
if(current_index >= 0 && ((current_index + 1) !== old_index)){
var tmp = keys[current_index];
// TODO splice is too slow
index[id] = current_index;
keys.splice(current_index, 1, id);
index[tmp] = old_index;
keys.splice(old_index, 1, tmp);
}
}
}
return cache;
};
return Cache;

View File

@@ -1,5 +1,5 @@
/*
FlexSearch v0.2.4
FlexSearch v0.2.41
Copyright 2017-2018 Thomas Wilkerling
Released under the Apache 2.0 Licence
https://github.com/nextapps-de/flexsearch
@@ -8,11 +8,11 @@
typeof c){for(c=0;c<b.length;c+=2)a=a.replace(b[c],b[c+1]);return a}return a.replace(b,c)}function x(a,b,c,h,f,g){if("undefined"===typeof b[c]){var e=f.indexOf(c);e=3/f.length*(f.length-e)+6/(e-f.lastIndexOf(" ",e));b[c]=e;e>=g&&(a=a[e+.5|0],a=a[c]||(a[c]=[]),a[a.length]=h)}return e||b[c]}function z(a,b){if(a)for(var c=Object.keys(a),h=0,f=c.length;h<f;h++){var g=c[h],e=a[g];if(e)for(var p=0,k=e.length;p<k;p++)if(e[p]===b){1===k?delete a[g]:e.splice(p,1);break}else"object"===typeof e[p]&&z(e[p],b)}}
function B(a){var b=[];if(!a)return b;for(var c=0,h=0,f=0,g="",e=a.length,p=0;p<e;p++){var k=a[p];"a"===k||"e"===k||"i"===k||"o"===k||"u"===k||"y"===k?c++:h++;" "!==k&&(g+=k);if(" "===k||1<c&&1<h||2<c||2<h||p===e-1)g&&(b[f]&&2<g.length&&f++,b[f]=b[f]?b[f]+g:g," "===k&&f++,g=""),h=c=0}return b}function E(a,b){a=a.length-b.length;return 0>a?1:0<a?-1:0}function F(a,b){a=a.length-b.length;return 0>a?-1:0<a?1:0}function G(a,b){var c=[],h=a.length;if(1<h){a.sort(F);for(var f={},g=a[0],e=g.length,p=0;p<
e;)f[g[p++]]=1;for(var k,d=0,n=1;n<h;){var r=!1;g=a[n];e=g.length;for(p=0;p<e;)if(f[k=g[p++]]===n){if(n===h-1&&(c[d++]=k,b&&d===b)){r=!1;break}r=!0;f[k]=n+1}if(!r)break;n++}}else h&&(c=a[0],b&&c&&c.length>b&&(c=c.slice(0,b)));return c}var y={encode:"icase",mode:"ngram",cache:!1,async:!1,m:!1,threshold:0,depth:0},A={memory:{encode:"extra",mode:"strict",threshold:7},speed:{encode:"icase",mode:"strict",threshold:7,depth:2},match:{encode:"extra",mode:"full"},score:{encode:"extra",mode:"strict",threshold:5,
depth:4},balance:{encode:"balance",mode:"ngram",threshold:6,depth:3},fastest:{encode:"icase",mode:"strict",threshold:9,depth:1}},v=[],D=0,C=l("[ -/]");d.new=function(a){return new this(a)};d.create=function(a){return d.new(a)};d.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(v[v.length]=l(b),v[v.length]=a[b]);return this};d.register=function(a,b){w[a]=b;return this};d.encode=function(a,b){return w[a].call(w,b)};d.prototype.init=function(a){this.b=[];if(a){var b=a.profile;b=b?A[b]:{};
this.mode=a.mode||b.mode||this.mode||y.mode;this.threshold=a.threshold||b.threshold||this.threshold||y.threshold;this.depth=a.depth||b.depth||this.depth||y.depth;this.j=(b=a.encode||b.encode)&&w[b]||("function"===typeof b?b:this.j||!1);(b=a.matcher)&&this.addMatcher(b)}this.g=[{},{},{},{},{},{},{},{},{},{}];this.c={};this.a={};this.f="";this.h=!0;return this};d.prototype.encode=function(a){a&&v.length&&(a=q(a,v));a&&this.b.length&&(a=q(a,this.b));a&&this.j&&(a=this.j.call(w,a));if(a&&this.i){a=a.split(" ");
for(var b=0;b<a.length;b++){var c=a[b];this.i[c]&&(a[b]=this.i[c])}a=a.join(" ")}a&&this.l&&(a=q(a,this.l));return a};d.prototype.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(this.b[this.b.length]=l(b),this.b[this.b.length]=a[b]);return this};d.prototype.add=function(a,b,c){if("string"===typeof b&&b&&(a||0===a))if(this.a[a]&&!c)this.update(a,b);else{b=this.encode(b);if(!b.length)return this;c=this.mode;for(var h="function"===typeof c?c(b):"ngram"===c?B(b):b.split(C),f={_ctx:{}},g=this.threshold,
e=this.depth,p=this.g,k=h.length,d=0;d<k;d++){var n=h[d];if(n){var r=n.length;switch(c){case "reverse":case "both":for(var u="",m=r-1;1<=m;m--)u=n[m]+u,x(p,f,u,a,b,g);case "forward":u="";for(m=0;m<r;m++)u+=n[m],x(p,f,u,a,b,g);break;case "full":for(m=0;m<r;m++)for(var l=r;l>m;l--)u=n.substring(m,l),x(p,f,u,a,b,g);break;default:if(m=x(p,f,n,a,b,g),e&&1<k&&m>=g)for(r=f._ctx[n]||(f._ctx[n]={}),n=this.c[n]||(this.c[n]=[{},{},{},{},{},{},{},{},{},{}]),m=d-e,l=d+e,0>m&&(m=0),l>k-1&&(l=k-1);m<=l;m++)m!==
d&&x(n,r,h[m],a,b,g)}}}this.a[a]="1";this.h=!1}return this};d.prototype.update=function(a,b){this.a[a]&&b&&"string"===typeof b&&(this.remove(a),b&&this.add(a,b,!0));return this};d.prototype.remove=function(a){if(this.a[a]){for(var b=0;10>b;b++)z(this.g[b],a);this.depth&&z(this.c,a);delete this.a[a];this.h=!1}return this};d.prototype.search=function(a,b,c){var h=[];if(a&&"object"===typeof a){c=a.callback||b;b=a.limit;var f=a.threshold;a=a.query}f=(f||this.threshold||0)|0;"function"===typeof b?(c=b,
b=1E3):b||(b=1E3);if(c){var g=this;H(function(){c(g.search(a,b));g=null},1,"search-"+this.id);return null}if(!a||"string"!==typeof a)return h;if(!this.h)this.h=!0;else if(this.f&&0===a.indexOf(this.f))return h;var e=this.encode(a);if(!e.length)return h;var d=this.mode;e="function"===typeof d?d(e):"ngram"===d?B(e):e.split(C);d=e.length;var k=!0,l=[],n={};if(1<d)if(this.depth){var r=!0,u=e[0];n[u]="1"}else e.sort(E);var m;if(!r||(m=this.c)[u])for(var q=r?1:0;q<d;q++){var t=e[q];if(t&&!n[t]){for(var v,
x=!1,w=[],y=0,z=9;z>=f;z--)if(v=(r?m[u]:this.g)[z][t])w[y++]=v,x=!0;if(x)l[l.length]=1<y?l.concat.apply([],w):w[0];else{k=!1;break}n[t]="1"}u=t}else k=!1;k&&(h=G(l,b));h.length?this.f="":this.f||(this.f=a);return h};d.prototype.reset=function(){this.destroy();return this.init()};d.prototype.destroy=function(){this.i=this.l=this.g=this.c=this.a=null;return this};var w={icase:function(a){return a.toLowerCase()},balance:function(){var a=[l("[-/]")," ",l("[^a-z0-9 ]"),"",l("\\s\\s+")," ",l("[aeiouy]"),
""];return function(b){b=q(b.toLowerCase(),a);for(var c="",d="",f="",g=0;g<b.length;g++){var e=b[g];if(e!==d)if(g&&"h"===e){if(f="a"===f||"e"===f||"i"===f||"o"===f||"u"===f||"y"===f,("a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d)&&f||" "===d)c+=e}else c+=e;f=g===b.length-1?"":b[g+1];d=e}return c}}()},H=null;return d}(!1),this);
depth:4},balance:{encode:"balance",mode:"ngram",threshold:6,depth:3},fastest:{encode:"icase",mode:"strict",threshold:9,depth:1}},v=[],D=0,C=l("[ -/]");d.new=function(a){return new this(a)};d.create=function(a){return d.new(a)};d.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(v[v.length]=l(b),v[v.length]=a[b]);return this};d.register=function(a,b){w[a]=b;return this};d.encode=function(a,b){return w[a].call(w,b)};d.prototype.init=function(a){this.h=[];if(a){var b=a.profile;b=b?A[b]:{};
this.mode=a.mode||b.mode||this.mode||y.mode;this.threshold=a.threshold||b.threshold||this.threshold||y.threshold;this.depth=a.depth||b.depth||this.depth||y.depth;this.i=(b=a.encode||b.encode)&&w[b]||("function"===typeof b?b:this.i||!1);(b=a.matcher)&&this.addMatcher(b)}this.f=[{},{},{},{},{},{},{},{},{},{}];this.b={};this.a={};this.c="";this.g=!0;return this};d.prototype.encode=function(a){a&&v.length&&(a=q(a,v));a&&this.h.length&&(a=q(a,this.h));a&&this.i&&(a=this.i.call(w,a));if(a&&this.j){a=a.split(" ");
for(var b=0;b<a.length;b++){var c=this.j[a[b]];c&&(a[b]=c)}a=a.join(" ")}a&&this.l&&(a=q(a,this.l));return a};d.prototype.addMatcher=function(a){var b=this.h,c;for(c in a)a.hasOwnProperty(c)&&(b[b.length]=l(c),b[b.length]=a[c]);return this};d.prototype.add=function(a,b,c){if("string"===typeof b&&b&&(a||0===a))if(this.a[a]&&!c)this.update(a,b);else{b=this.encode(b);if(!b.length)return this;c=this.mode;for(var h="function"===typeof c?c(b):"ngram"===c?B(b):b.split(C),f={_ctx:{}},g=this.threshold,e=this.depth,
p=this.f,k=h.length,d=0;d<k;d++){var n=h[d];if(n){var r=n.length;switch(c){case "reverse":case "both":for(var u="",m=r-1;1<=m;m--)u=n[m]+u,x(p,f,u,a,b,g);case "forward":u="";for(m=0;m<r;m++)u+=n[m],x(p,f,u,a,b,g);break;case "full":for(m=0;m<r;m++)for(var l=r;l>m;l--)u=n.substring(m,l),x(p,f,u,a,b,g);break;default:if(m=x(p,f,n,a,b,g),e&&1<k&&m>=g)for(r=f._ctx[n]||(f._ctx[n]={}),n=this.b[n]||(this.b[n]=[{},{},{},{},{},{},{},{},{},{}]),m=d-e,l=d+e+1,0>m&&(m=0),l>k&&(l=k);m<l;m++)m!==d&&x(n,r,h[m],a,
b,g)}}}this.a[a]="1";this.g=!1}return this};d.prototype.update=function(a,b){this.a[a]&&b&&"string"===typeof b&&(this.remove(a),this.add(a,b,!0));return this};d.prototype.remove=function(a){if(this.a[a]){for(var b=0;10>b;b++)z(this.f[b],a);this.depth&&z(this.b,a);delete this.a[a];this.g=!1}return this};d.prototype.search=function(a,b,c){var h=[];if(a&&"object"===typeof a){c=a.callback||b;b=a.limit;var f=a.threshold;a=a.query}f=(f||this.threshold||0)|0;"function"===typeof b?(c=b,b=1E3):b||(b=1E3);
if(c){var g=this;H(function(){c(g.search(a,b));g=null},1,"search-"+this.id);return null}if(!a||"string"!==typeof a)return h;if(!this.g)this.g=!0;else if(this.c&&0===a.indexOf(this.c))return h;var e=this.encode(a);if(!e.length)return h;var d=this.mode;e="function"===typeof d?d(e):"ngram"===d?B(e):e.split(C);d=e.length;var k=!0,l=[],n={};if(1<d)if(this.depth){var r=!0,u=e[0];n[u]="1"}else e.sort(E);var m;if(!r||(m=this.b)[u])for(var q=r?1:0;q<d;q++){var t=e[q];if(t&&!n[t]){for(var v,x=!1,w=[],y=0,z=
9;z>=f;z--)if(v=(r?m[u]:this.f)[z][t])w[y++]=v,x=!0;if(x)l[l.length]=1<y?l.concat.apply([],w):w[0];else{k=!1;break}n[t]="1"}u=t}else k=!1;k&&(h=G(l,b));h.length?this.c="":this.c||(this.c=a);return h};d.prototype.reset=function(){this.destroy();return this.init()};d.prototype.destroy=function(){this.j=this.l=this.f=this.b=this.a=null;return this};var w={icase:function(a){return a.toLowerCase()},balance:function(){var a=[l("[-/]")," ",l("[^a-z0-9 ]"),"",l("\\s\\s+")," ",l("[aeiouy]"),""];return function(b){b=
q(b.toLowerCase(),a);for(var c="",d="",f="",g=0;g<b.length;g++){var e=b[g];if(e!==d)if(g&&"h"===e){if(f="a"===f||"e"===f||"i"===f||"o"===f||"u"===f||"y"===f,("a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d)&&f||" "===d)c+=e}else c+=e;f=g===b.length-1?"":b[g+1];d=e}return c}}()},H=null;return d}(!1),this);

48
flexsearch.min.js vendored
View File

@@ -1,30 +1,30 @@
/*
FlexSearch v0.2.4
FlexSearch v0.2.41
Copyright 2017-2018 Thomas Wilkerling
Released under the Apache 2.0 Licence
https://github.com/nextapps-de/flexsearch
*/
'use strict';(function(r,B,g){var q;(q=g.define)&&q.amd?q([],function(){return B}):(q=g.modules)?q[r.toLowerCase()]=B:"undefined"!==typeof module?module.exports=B:g[r]=B})("FlexSearch",function L(r){function g(a){"string"===typeof a&&(a=F[a]);a||(a=w);this.id=a.id||M++;this.init(a);q(this,"index",function(){return this.a});q(this,"length",function(){return Object.keys(this.a).length})}function q(a,b,e){Object.defineProperty(a,b,{get:e})}function d(a){return new RegExp(a,"g")}function x(a,b,e){if("undefined"===
typeof e){for(e=0;e<b.length;e+=2)a=a.replace(b[e],b[e+1]);return a}return a.replace(b,e)}function y(a,b,e,c,l,k){if("undefined"===typeof b[e]){var f=l.indexOf(e);f=3/l.length*(l.length-f)+6/(f-l.lastIndexOf(" ",f));b[e]=f;f>=k&&(a=a[f+.5|0],a=a[e]||(a[e]=[]),a[a.length]=c)}return f||b[e]}function m(a,b){if(a)for(var e=Object.keys(a),c=0,l=e.length;c<l;c++){var k=e[c],f=a[k];if(f)for(var h=0,d=f.length;h<d;h++)if(f[h]===b){1===d?delete a[k]:f.splice(h,1);break}else"object"===typeof f[h]&&m(f[h],b)}}
function G(a){var b=[];if(!a)return b;for(var e=0,c=0,l=0,k="",f=a.length,h=0;h<f;h++){var d=a[h];"a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d?e++:c++;" "!==d&&(k+=d);if(" "===d||1<e&&1<c||2<e||2<c||h===f-1)k&&(b[l]&&2<k.length&&l++,b[l]=b[l]?b[l]+k:k," "===d&&l++,k=""),c=e=0}return b}function D(a){for(var b="",e="",c="",l=0;l<a.length;l++){var d=a[l];if(d!==e)if(l&&"h"===d){if(c="a"===c||"e"===c||"i"===c||"o"===c||"u"===c||"y"===c,("a"===e||"e"===e||"i"===e||"o"===e||"u"===e||"y"===e)&&c||
" "===e)b+=d}else b+=d;c=l===a.length-1?"":a[l+1];e=d}return b}function N(a,b){var e={};if(H)for(var c=0;c<a.length;c++){var d=b?b.call(z,a[c]):a[c];e[d]=String.fromCharCode(65E3-a.length+c)}return e}function O(a,b){var e=[];if(a){var c=0,l;for(l in a)if(a.hasOwnProperty(l)){var k=b?b.call(z,l):l;e[c++]=d("(?=.{"+(k.length+3)+",})"+k+"$");e[c++]=b?b.call(z,a[l]):a[l]}}return e}function P(a,b){a=a.length-b.length;return 0>a?1:0<a?-1:0}function Q(a,b){a=a.length-b.length;return 0>a?-1:0<a?1:0}function R(a,
b){var e=[],c=a.length;if(1<c){a.sort(Q);for(var d={},k=a[0],f=k.length,h=0;h<f;)d[k[h++]]=1;for(var g,t=0,p=1;p<c;){var u=!1;k=a[p];f=k.length;for(h=0;h<f;)if(d[g=k[h++]]===p){if(p===c-1&&(e[t++]=g,b&&t===b)){u=!1;break}u=!0;d[g]=p+1}if(!u)break;p++}}else c&&(e=a[0],b&&e&&e.length>b&&(e=e.slice(0,b)));return e}function E(a){a.C||(a.C=I(function(){a.C=null;var b=a.async;b&&(a.async=!1);if(a.f.length){for(var e=J(),c;(c=a.f.shift())||0===c;){var d=a.h[c];switch(d[0]){case C.add:a.add(d[1],d[2]);break;
case C.update:a.update(d[1],d[2]);break;case C.remove:a.remove(d[1])}a.h[c]=null;delete a.h[c];if(100<J()-e)break}a.f.length&&E(a)}b&&(a.async=b)},1,"search-async-"+a.id))}function J(){return"undefined"!==typeof performance?performance.now():(new Date).getTime()}function S(a,b,e,c){a=r("flexsearch","id"+a,function(){var a,b;self.a=function(c){if(c=c.data)c.search?self.postMessage({result:b.search(c.content,c.threshold?{limit:c.limit,threshold:c.threshold}:c.limit),id:a,content:c.content,limit:c.limit}):
c.add?b.add(c.id,c.content):c.update?b.update(c.id,c.content):c.remove?b.remove(c.id):c.reset?b.reset():c.info?(c=b.info(),c.worker=a,b.F&&console.log(c)):c.register&&(a=c.id,c.options.cache=!1,c.options.async=!0,c.options.worker=!1,b=(new Function(c.register.substring(c.register.indexOf("{")+1,c.register.lastIndexOf("}"))))(),b=new b(c.options))}},function(a){(a=a.data)&&a.result?c(a.id,a.content,a.result,a.limit):e.debug&&console.log(a)},b);var d=L.toString();e.id=b;a.postMessage(b,{register:d,
options:e,id:b});return a}var w={encode:"icase",mode:"ngram",cache:!1,async:!1,b:!1,threshold:0,depth:0},F={memory:{encode:"extra",mode:"strict",threshold:7},speed:{encode:"icase",mode:"strict",threshold:7,depth:2},match:{encode:"extra",mode:"full"},score:{encode:"extra",mode:"strict",threshold:5,depth:4},balance:{encode:"balance",mode:"ngram",threshold:6,depth:3},fastest:{encode:"icase",mode:"strict",threshold:9,depth:1}},A=[],M=0,C={add:0,update:1,remove:2},K=d("[ -/]"),T="a about above after again against all also am an and any are aren't as at be because been before being below both but by can cannot can't come could couldn't did didn't do does doesn't doing dont down during each even few first for from further get go had hadn't has hasn't have haven't having he hed her here here's hers herself hes him himself his how how's i id if ill im in into is isn't it it's itself i've just know let's like make me more most mustn't my myself new no nor not now of off on once only or other ought our our's ourselves out over own same say see shan't she she'd shell shes should shouldn't so some such than that that's the their theirs them themselves then there there's these they they'd they'll they're they've this those through time to too until up us very want was wasn't way we wed well were weren't we've what what's when when's where where's which while who whom who's why why's will with won't would wouldn't you you'd you'll your you're your's yourself yourselves you've".split(" "),
'use strict';(function(q,B,g){var t;(t=g.define)&&t.amd?t([],function(){return B}):(t=g.modules)?t[q.toLowerCase()]=B:"undefined"!==typeof module?module.exports=B:g[q]=B})("FlexSearch",function L(q){function g(a){"string"===typeof a&&(a=F[a]);a||(a=y);this.id=a.id||M++;this.init(a);t(this,"index",function(){return this.a});t(this,"length",function(){return Object.keys(this.a).length})}function t(a,b,d){Object.defineProperty(a,b,{get:d})}function e(a){return new RegExp(a,"g")}function w(a,b,d){if("undefined"===
typeof d){for(d=0;d<b.length;d+=2)a=a.replace(b[d],b[d+1]);return a}return a.replace(b,d)}function u(a,b,d,c,f,l){if("undefined"===typeof b[d]){var h=f.indexOf(d);h=3/f.length*(f.length-h)+6/(h-f.lastIndexOf(" ",h));b[d]=h;h>=l&&(a=a[h+.5|0],a=a[d]||(a[d]=[]),a[a.length]=c)}return h||b[d]}function m(a,b){if(a)for(var d=Object.keys(a),c=0,f=d.length;c<f;c++){var l=d[c],h=a[l];if(h)for(var k=0,e=h.length;k<e;k++)if(h[k]===b){1===e?delete a[l]:h.splice(k,1);break}else"object"===typeof h[k]&&m(h[k],b)}}
function G(a){var b=[];if(!a)return b;for(var d=0,c=0,f=0,l="",h=a.length,k=0;k<h;k++){var e=a[k];"a"===e||"e"===e||"i"===e||"o"===e||"u"===e||"y"===e?d++:c++;" "!==e&&(l+=e);if(" "===e||1<d&&1<c||2<d||2<c||k===h-1)l&&(b[f]&&2<l.length&&f++,b[f]=b[f]?b[f]+l:l," "===e&&f++,l=""),c=d=0}return b}function D(a){for(var b="",d="",c="",f=0;f<a.length;f++){var l=a[f];if(l!==d)if(f&&"h"===l){if(c="a"===c||"e"===c||"i"===c||"o"===c||"u"===c||"y"===c,("a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d)&&c||
" "===d)b+=l}else b+=l;c=f===a.length-1?"":a[f+1];d=l}return b}function N(a,b){var d={};if(H)for(var c=0;c<a.length;c++){var f=b?b.call(x,a[c]):a[c];d[f]=String.fromCharCode(65E3-a.length+c)}return d}function O(a,b){var d=[];if(a){var c=0,f;for(f in a)if(a.hasOwnProperty(f)){var l=b?b.call(x,f):f;d[c++]=e("(?=.{"+(l.length+3)+",})"+l+"$");d[c++]=b?b.call(x,a[f]):a[f]}}return d}function P(a,b){a=a.length-b.length;return 0>a?1:0<a?-1:0}function Q(a,b){a=a.length-b.length;return 0>a?-1:0<a?1:0}function R(a,
b){var d=[],c=a.length;if(1<c){a.sort(Q);for(var f={},l=a[0],h=l.length,k=0;k<h;)f[l[k++]]=1;for(var e,g=0,p=1;p<c;){var r=!1;l=a[p];h=l.length;for(k=0;k<h;)if(f[e=l[k++]]===p){if(p===c-1&&(d[g++]=e,b&&g===b)){r=!1;break}r=!0;f[e]=p+1}if(!r)break;p++}}else c&&(d=a[0],b&&d&&d.length>b&&(d=d.slice(0,b)));return d}function E(a){a.C||(a.C=I(function(){a.C=null;var b=a.async;b&&(a.async=!1);if(a.f.length){for(var d=J(),c;(c=a.f.shift())||0===c;){var f=a.h[c];switch(f[0]){case C.add:a.add(f[1],f[2]);break;
case C.update:a.update(f[1],f[2]);break;case C.remove:a.remove(f[1])}a.h[c]=null;delete a.h[c];if(100<J()-d)break}a.f.length&&E(a)}b&&(a.async=b)},1,"search-async-"+a.id))}function J(){return"undefined"!==typeof performance?performance.now():(new Date).getTime()}function S(a,b,d,c){a=q("flexsearch","id"+a,function(){var a,b;self.a=function(c){if(c=c.data)if(c.search){var d=b.search(c.content,c.threshold?{limit:c.limit,threshold:c.threshold}:c.limit);self.postMessage({id:a,content:c.content,limit:c.limit,
result:d})}else c.add?b.add(c.id,c.content):c.update?b.update(c.id,c.content):c.remove?b.remove(c.id):c.reset?b.reset():c.info?(c=b.info(),c.worker=a,b.F&&console.log(c)):c.register&&(a=c.id,c.options.cache=!1,c.options.async=!0,c.options.worker=!1,b=(new Function(c.register.substring(c.register.indexOf("{")+1,c.register.lastIndexOf("}"))))(),b=new b(c.options))}},function(a){(a=a.data)&&a.result?c(a.id,a.content,a.result,a.limit):d.debug&&console.log(a)},b);var f=L.toString();d.id=b;a.postMessage(b,
{register:f,options:d,id:b});return a}var y={encode:"icase",mode:"ngram",cache:!1,async:!1,b:!1,threshold:0,depth:0},F={memory:{encode:"extra",mode:"strict",threshold:7},speed:{encode:"icase",mode:"strict",threshold:7,depth:2},match:{encode:"extra",mode:"full"},score:{encode:"extra",mode:"strict",threshold:5,depth:4},balance:{encode:"balance",mode:"ngram",threshold:6,depth:3},fastest:{encode:"icase",mode:"strict",threshold:9,depth:1}},A=[],M=0,C={add:0,update:1,remove:2},K=e("[ -/]"),T="a about above after again against all also am an and any are aren't as at be because been before being below both but by can cannot can't come could couldn't did didn't do does doesn't doing dont down during each even few first for from further get go had hadn't has hasn't have haven't having he hed her here here's hers herself hes him himself his how how's i id if ill im in into is isn't it it's itself i've just know let's like make me more most mustn't my myself new no nor not now of off on once only or other ought our our's ourselves out over own same say see shan't she she'd shell shes should shouldn't so some such than that that's the their theirs them themselves then there there's these they they'd they'll they're they've this those through time to too until up us very want was wasn't way we wed well were weren't we've what what's when when's where where's which while who whom who's why why's will with won't would wouldn't you you'd you'll your you're your's yourself yourselves you've".split(" "),
H={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",icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:"",al:"",ance:"",ence:"",er:"",ic:"",able:"",ible:"",ant:"",ement:"",ment:"",ent:"",ou:"",ism:"",ate:"",iti:"",ous:"",ive:"",ize:""};g.new=function(a){return new this(a)};g.create=function(a){return g.new(a)};
g.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(A[A.length]=d(b),A[A.length]=a[b]);return this};g.register=function(a,b){z[a]=b;return this};g.encode=function(a,b){return z[a].call(z,b)};g.prototype.init=function(a){this.m=[];if(a){var b=a.profile,e=b?F[b]:{};if(b=a.worker)if("undefined"===typeof Worker)a.worker=!1,a.async=!0,this.i=null;else{var c=this;b=parseInt(b,10)||4;c.u=-1;c.o=0;c.g=[];c.B=null;c.i=Array(b);for(var d=0;d<b;d++)c.i[d]=S(c.id,d,a||w,function(a,b,e,d){c.o!==c.b&&
(c.g=c.g.concat(e),c.o++,d&&c.g.length>=d&&(c.o=c.b),c.B&&c.o===c.b&&(c.g.length?c.c="":c.c||(c.c=b),c.cache&&c.j.set(b,c.g),c.B(c.g),c.g=[]))})}this.mode=a.mode||e.mode||this.mode||w.mode;this.cache=a.cache||this.cache||w.cache;this.async=a.async||this.async||w.async;this.b=a.worker||this.b||w.b;this.threshold=a.threshold||e.threshold||this.threshold||w.threshold;this.depth=a.depth||e.depth||this.depth||w.depth;this.w=(b=a.encode||e.encode)&&z[b]||("function"===typeof b?b:this.w||!1);this.F=a.debug||
this.F;(b=a.matcher)&&this.addMatcher(b);if(b=a.filter)this.A=N(!0===b?T:b,this.w);if(b=a.stemmer)this.D=O(!0===b?H:b,this.w)}this.l=[{},{},{},{},{},{},{},{},{},{}];this.s={};this.a={};this.h={};this.f=[];this.C=null;this.c="";this.v=!0;this.j=this.cache?new U(3E4,50,!0):!1;return this};g.prototype.encode=function(a){a&&A.length&&(a=x(a,A));a&&this.m.length&&(a=x(a,this.m));a&&this.w&&(a=this.w.call(z,a));if(a&&this.A){a=a.split(" ");for(var b=0;b<a.length;b++){var e=a[b];this.A[e]&&(a[b]=this.A[e])}a=
a.join(" ")}a&&this.D&&(a=x(a,this.D));return a};g.prototype.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(this.m[this.m.length]=d(b),this.m[this.m.length]=a[b]);return this};g.prototype.add=function(a,b,e){if("string"===typeof b&&b&&(a||0===a))if(this.a[a]&&!e)this.update(a,b);else{if(this.b)return++this.u>=this.i.length&&(this.u=0),this.i[this.u].postMessage(this.u,{add:!0,id:a,content:b}),this.a[a]=""+this.u,this;if(this.async)return this.h[a]||(this.f[this.f.length]=a),this.h[a]=
[C.add,a,b],E(this),this;b=this.encode(b);if(!b.length)return this;e=this.mode;for(var c="function"===typeof e?e(b):"ngram"===e?G(b):b.split(K),d={_ctx:{}},k=this.threshold,f=this.depth,h=this.l,g=c.length,t=0;t<g;t++){var p=c[t];if(p){var u=p.length;switch(e){case "reverse":case "both":for(var v="",n=u-1;1<=n;n--)v=p[n]+v,y(h,d,v,a,b,k);case "forward":v="";for(n=0;n<u;n++)v+=p[n],y(h,d,v,a,b,k);break;case "full":for(n=0;n<u;n++)for(var m=u;m>n;m--)v=p.substring(n,m),y(h,d,v,a,b,k);break;default:if(n=
y(h,d,p,a,b,k),f&&1<g&&n>=k)for(u=d._ctx[p]||(d._ctx[p]={}),p=this.s[p]||(this.s[p]=[{},{},{},{},{},{},{},{},{},{}]),n=t-f,m=t+f,0>n&&(n=0),m>g-1&&(m=g-1);n<=m;n++)n!==t&&y(p,u,c[n],a,b,k)}}}this.a[a]="1";this.v=!1}return this};g.prototype.update=function(a,b){this.a[a]&&b&&"string"===typeof b&&(this.remove(a),b&&this.add(a,b,!0));return this};g.prototype.remove=function(a){if(this.a[a]){if(this.b){var b=parseInt(this.a[a],10);this.i[b].postMessage(b,{remove:!0,id:a});delete this.a[a];return this}if(this.async)return this.h[a]||
(this.f[this.f.length]=a),this.h[a]=[C.remove,a],E(this),this;for(b=0;10>b;b++)m(this.l[b],a);this.depth&&m(this.s,a);delete this.a[a];this.v=!1}return this};g.prototype.search=function(a,b,d){var c=[];if(a&&"object"===typeof a){d=a.callback||b;b=a.limit;var e=a.threshold;a=a.query}e=(e||this.threshold||0)|0;"function"===typeof b?(d=b,b=1E3):b||(b=1E3);if(this.b){this.B=d;this.o=0;this.g=[];for(c=0;c<this.b;c++)this.i[c].postMessage(c,{search:!0,limit:b,threshold:e,content:a});return null}if(d){var g=
this;I(function(){d(g.search(a,b));g=null},1,"search-"+this.id);return null}if(!a||"string"!==typeof a)return c;var f=a;if(!this.v)this.cache&&(this.c="",this.j.reset()),this.v=!0;else if(this.cache){var h=this.j.get(a);if(h)return h}else if(this.c&&0===a.indexOf(this.c))return c;f=this.encode(f);if(!f.length)return c;h=this.mode;f="function"===typeof h?h(f):"ngram"===h?G(f):f.split(K);h=f.length;var m=!0,t=[],p={};if(1<h)if(this.depth){var u=!0,v=f[0];p[v]="1"}else f.sort(P);var n;if(!u||(n=this.s)[v])for(var r=
u?1:0;r<h;r++){var q=f[r];if(q&&!p[q]){for(var x,y=!1,w=[],z=0,A=9;A>=e;A--)if(x=(u?n[v]:this.l)[A][q])w[z++]=x,y=!0;if(y)t[t.length]=1<z?t.concat.apply([],w):w[0];else{m=!1;break}p[q]="1"}v=q}else m=!1;m&&(c=R(t,b));c.length?this.c="":this.c||(this.c=a);this.cache&&this.j.set(a,c);return c};g.prototype.info=function(){if(this.b)for(var a=0;a<this.b;a++)this.i[a].postMessage(a,{info:!0,id:this.id});else{for(var b,d,c=0,g=0,k=0,f=0;10>f;f++)for(b=Object.keys(this.l[f]),a=0;a<b.length;a++)d=this.l[f][b[a]].length,
c+=d+2*b[a].length+4,g+=d,k+=2*b[a].length;b=Object.keys(this.a);d=b.length;for(a=0;a<d;a++)c+=2*b[a].length+2;return{id:this.id,memory:c,items:d,sequences:g,chars:k,status:this.v,cache:this.f.length,matcher:A.length,worker:this.b}}};g.prototype.reset=function(){this.destroy();return this.init()};g.prototype.destroy=function(){this.cache&&this.j.reset();this.A=this.D=this.l=this.s=this.a=this.h=this.f=this.j=null;return this};var z={icase:function(a){return a.toLowerCase()},simple:function(){var a=
[d("[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]"),"a",d("[\u00e8\u00e9\u00ea\u00eb]"),"e",d("[\u00ec\u00ed\u00ee\u00ef]"),"i",d("[\u00f2\u00f3\u00f4\u00f5\u00f6\u0151]"),"o",d("[\u00f9\u00fa\u00fb\u00fc\u0171]"),"u",d("[\u00fd\u0177\u00ff]"),"y",d("\u00f1"),"n",d("\u00e7"),"c",d("\u00df"),"s",d(" & ")," and ",d("[-/]")," ",d("[^a-z0-9 ]"),"",d("\\s\\s+")," "];return function(b){b=x(b.toLowerCase(),a);return" "!==b?b:""}}(),advanced:function(){var a=[d("ae"),"a",d("ai"),"ei",d("ay"),"ei",d("ey"),"ei",d("oe"),
"o",d("ue"),"u",d("ie"),"i",d("sz"),"s",d("zs"),"s",d("sh"),"s",d("ck"),"k",d("cc"),"k",d("dt"),"t",d("ph"),"f",d("pf"),"f",d("ou"),"o",d("uo"),"u"];return function(b,d){if(!b)return b;b=this.simple(b);2<b.length&&(b=x(b,a));d||1<b.length&&(b=D(b));return b}}(),extra:function(){var a=[d("p"),"b",d("z"),"s",d("[cgq]"),"k",d("n"),"m",d("d"),"t",d("[vw]"),"f",d("[aeiouy]"),""];return function(b){if(!b)return b;b=this.advanced(b,!0);if(1<b.length){b=b.split(" ");for(var d=0;d<b.length;d++){var c=b[d];
1<c.length&&(b[d]=c[0]+x(c.substring(1),a))}b=b.join(" ");b=D(b)}return b}}(),balance:function(){var a=[d("[-/]")," ",d("[^a-z0-9 ]"),"",d("\\s\\s+")," ",d("[aeiouy]"),""];return function(b){return D(x(b.toLowerCase(),a))}}()},I=function(){var a={};return function(b,d,c){var e=a[c];e&&clearTimeout(e);return a[c]=setTimeout(b,d)}}(),U=function(){function a(){this.cache={}}a.prototype.reset=function(){this.cache={}};a.prototype.set=function(a,d){this.cache[a]=d};a.prototype.get=function(a){return this.cache[a]};
return a}();return g}(function(){var r={},B=!("undefined"===typeof Blob||"undefined"===typeof URL||!URL.createObjectURL);return function(g,q,d,x,y){var m=g;g=B?URL.createObjectURL(new Blob(["var SUPPORT_WORKER = true;var SUPPORT_BUILTINS = true;var SUPPORT_DEBUG = true;var SUPPORT_CACHE = true;var SUPPORT_ASYNC = true;("+d.toString()+")()"],{type:"text/javascript"})):"../"+m+".js";m+="-"+q;r[m]||(r[m]=[]);r[m][y]=new Worker(g);r[m][y].onmessage=x;console.log("Register Worker: "+m+"@"+y);return{postMessage:function(d,
g){r[m][d].postMessage(g)}}}}()),this);
g.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(A[A.length]=e(b),A[A.length]=a[b]);return this};g.register=function(a,b){x[a]=b;return this};g.encode=function(a,b){return x[a].call(x,b)};g.prototype.init=function(a){this.B=[];if(a){var b=a.profile,d=b?F[b]:{};if(b=a.worker)if("undefined"===typeof Worker)a.worker=!1,a.async=!0,this.i=null;else{var c=this;b=parseInt(b,10)||4;c.s=-1;c.m=0;c.g=[];c.w=null;c.i=Array(b);for(var f=0;f<b;f++)c.i[f]=S(c.id,f,a||y,function(a,b,d,f){c.m!==c.b&&
(c.g=c.g.concat(d),c.m++,f&&c.g.length>=f&&(c.m=c.b),c.w&&c.m===c.b&&(c.g.length?c.c="":c.c||(c.c=b),c.cache&&c.j.set(b,c.g),c.w(c.g),c.g=[]))})}this.mode=a.mode||d.mode||this.mode||y.mode;this.cache=a.cache||this.cache||y.cache;this.async=a.async||this.async||y.async;this.b=a.worker||this.b||y.b;this.threshold=a.threshold||d.threshold||this.threshold||y.threshold;this.depth=a.depth||d.depth||this.depth||y.depth;this.v=(b=a.encode||d.encode)&&x[b]||("function"===typeof b?b:this.v||!1);this.F=a.debug||
this.F;(b=a.matcher)&&this.addMatcher(b);if(b=a.filter)this.A=N(!0===b?T:b,this.v);if(b=a.stemmer)this.D=O(!0===b?H:b,this.v)}this.l=[{},{},{},{},{},{},{},{},{},{}];this.o={};this.a={};this.h={};this.f=[];this.C=null;this.c="";this.u=!0;this.j=this.cache?new U(3E4,50,!0):!1;return this};g.prototype.encode=function(a){a&&A.length&&(a=w(a,A));a&&this.B.length&&(a=w(a,this.B));a&&this.v&&(a=this.v.call(x,a));if(a&&this.A){a=a.split(" ");for(var b=0;b<a.length;b++){var d=this.A[a[b]];d&&(a[b]=d)}a=a.join(" ")}a&&
this.D&&(a=w(a,this.D));return a};g.prototype.addMatcher=function(a){var b=this.B,d;for(d in a)a.hasOwnProperty(d)&&(b[b.length]=e(d),b[b.length]=a[d]);return this};g.prototype.add=function(a,b,d){if("string"===typeof b&&b&&(a||0===a))if(this.a[a]&&!d)this.update(a,b);else{if(this.b)return++this.s>=this.i.length&&(this.s=0),this.i[this.s].postMessage(this.s,{add:!0,id:a,content:b}),this.a[a]=""+this.s,this;if(this.async)return this.h[a]||(this.f[this.f.length]=a),this.h[a]=[C.add,a,b],E(this),this;
b=this.encode(b);if(!b.length)return this;d=this.mode;for(var c="function"===typeof d?d(b):"ngram"===d?G(b):b.split(K),f={_ctx:{}},e=this.threshold,h=this.depth,k=this.l,g=c.length,m=0;m<g;m++){var p=c[m];if(p){var r=p.length;switch(d){case "reverse":case "both":for(var v="",n=r-1;1<=n;n--)v=p[n]+v,u(k,f,v,a,b,e);case "forward":v="";for(n=0;n<r;n++)v+=p[n],u(k,f,v,a,b,e);break;case "full":for(n=0;n<r;n++)for(var z=r;z>n;z--)v=p.substring(n,z),u(k,f,v,a,b,e);break;default:if(n=u(k,f,p,a,b,e),h&&1<
g&&n>=e)for(r=f._ctx[p]||(f._ctx[p]={}),p=this.o[p]||(this.o[p]=[{},{},{},{},{},{},{},{},{},{}]),n=m-h,z=m+h+1,0>n&&(n=0),z>g&&(z=g);n<z;n++)n!==m&&u(p,r,c[n],a,b,e)}}}this.a[a]="1";this.u=!1}return this};g.prototype.update=function(a,b){this.a[a]&&b&&"string"===typeof b&&(this.remove(a),this.add(a,b,!0));return this};g.prototype.remove=function(a){if(this.a[a]){if(this.b){var b=parseInt(this.a[a],10);this.i[b].postMessage(b,{remove:!0,id:a});delete this.a[a];return this}if(this.async)return this.h[a]||
(this.f[this.f.length]=a),this.h[a]=[C.remove,a],E(this),this;for(b=0;10>b;b++)m(this.l[b],a);this.depth&&m(this.o,a);delete this.a[a];this.u=!1}return this};g.prototype.search=function(a,b,d){var c=[];if(a&&"object"===typeof a){d=a.callback||b;b=a.limit;var f=a.threshold;a=a.query}f=(f||this.threshold||0)|0;"function"===typeof b?(d=b,b=1E3):b||(b=1E3);if(this.b){this.w=d;this.m=0;this.g=[];for(c=0;c<this.b;c++)this.i[c].postMessage(c,{search:!0,limit:b,threshold:f,content:a});return null}if(d){var e=
this;I(function(){d(e.search(a,b));e=null},1,"search-"+this.id);return null}if(!a||"string"!==typeof a)return c;var h=a;if(!this.u)this.cache&&(this.c="",this.j.reset()),this.u=!0;else if(this.cache){var k=this.j.get(a);if(k)return k}else if(this.c&&0===a.indexOf(this.c))return c;h=this.encode(h);if(!h.length)return c;k=this.mode;h="function"===typeof k?k(h):"ngram"===k?G(h):h.split(K);k=h.length;var g=!0,m=[],p={};if(1<k)if(this.depth){var r=!0,v=h[0];p[v]="1"}else h.sort(P);var n;if(!r||(n=this.o)[v])for(var z=
r?1:0;z<k;z++){var q=h[z];if(q&&!p[q]){for(var t,w=!1,u=[],y=0,x=9;x>=f;x--)if(t=(r?n[v]:this.l)[x][q])u[y++]=t,w=!0;if(w)m[m.length]=1<y?m.concat.apply([],u):u[0];else{g=!1;break}p[q]="1"}v=q}else g=!1;g&&(c=R(m,b));c.length?this.c="":this.c||(this.c=a);this.cache&&this.j.set(a,c);return c};g.prototype.info=function(){if(this.b)for(var a=0;a<this.b;a++)this.i[a].postMessage(a,{info:!0,id:this.id});else{for(var b,d,c=0,f=0,e=0,h=0;10>h;h++)for(b=Object.keys(this.l[h]),a=0;a<b.length;a++)d=this.l[h][b[a]].length,
c+=d+2*b[a].length+4,f+=d,e+=2*b[a].length;b=Object.keys(this.a);d=b.length;for(a=0;a<d;a++)c+=2*b[a].length+2;return{id:this.id,memory:c,items:d,sequences:f,chars:e,status:this.u,cache:this.f.length,matcher:A.length,worker:this.b}}};g.prototype.reset=function(){this.destroy();return this.init()};g.prototype.destroy=function(){this.cache&&this.j.reset();this.A=this.D=this.l=this.o=this.a=this.h=this.f=this.j=null;return this};var x={icase:function(a){return a.toLowerCase()},simple:function(){var a=
[e("[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]"),"a",e("[\u00e8\u00e9\u00ea\u00eb]"),"e",e("[\u00ec\u00ed\u00ee\u00ef]"),"i",e("[\u00f2\u00f3\u00f4\u00f5\u00f6\u0151]"),"o",e("[\u00f9\u00fa\u00fb\u00fc\u0171]"),"u",e("[\u00fd\u0177\u00ff]"),"y",e("\u00f1"),"n",e("\u00e7"),"c",e("\u00df"),"s",e(" & ")," and ",e("[-/]")," ",e("[^a-z0-9 ]"),"",e("\\s\\s+")," "];return function(b){b=w(b.toLowerCase(),a);return" "!==b?b:""}}(),advanced:function(){var a=[e("ae"),"a",e("ai"),"ei",e("ay"),"ei",e("ey"),"ei",e("oe"),
"o",e("ue"),"u",e("ie"),"i",e("sz"),"s",e("zs"),"s",e("sh"),"s",e("ck"),"k",e("cc"),"k",e("dt"),"t",e("ph"),"f",e("pf"),"f",e("ou"),"o",e("uo"),"u"];return function(b,d){if(!b)return b;b=this.simple(b);2<b.length&&(b=w(b,a));d||1<b.length&&(b=D(b));return b}}(),extra:function(){var a=[e("p"),"b",e("z"),"s",e("[cgq]"),"k",e("n"),"m",e("d"),"t",e("[vw]"),"f",e("[aeiouy]"),""];return function(b){if(!b)return b;b=this.advanced(b,!0);if(1<b.length){b=b.split(" ");for(var d=0;d<b.length;d++){var c=b[d];
1<c.length&&(b[d]=c[0]+w(c.substring(1),a))}b=b.join(" ");b=D(b)}return b}}(),balance:function(){var a=[e("[-/]")," ",e("[^a-z0-9 ]"),"",e("\\s\\s+")," ",e("[aeiouy]"),""];return function(b){return D(w(b.toLowerCase(),a))}}()},I=function(){var a={};return function(b,d,c){var e=a[c];e&&clearTimeout(e);return a[c]=setTimeout(b,d)}}(),U=function(){function a(a){this.reset();this.G=a||1E3}a.prototype.reset=function(){this.cache={};this.count={};this.index={};this.keys=[]};a.prototype.set=function(a,d){if(!this.count[a]){var b=
this.keys.length;if(b===this.G){b--;var e=this.keys[b];delete this.cache[e];delete this.count[e];delete this.index[e]}this.index[a]=b;this.keys[b]=a;this.count[a]=1}this.cache[a]=d;this.get(a)};a.prototype.get=function(a){var b=this.cache[a];if(b){var c=++this.count[a],e=this.index,g=e[a];if(0<g){for(var h=this.keys,k=g;g&&this.count[h[g--]]<=c;);0<=g&&g+1!==k&&(c=h[g],e[a]=g,h.splice(g,1,a),e[c]=k,h.splice(k,1,c))}}return b};return a}();return g}(function(){var q={},B=!("undefined"===typeof Blob||
"undefined"===typeof URL||!URL.createObjectURL);return function(g,t,e,w,u){var m=g;g=B?URL.createObjectURL(new Blob(["var SUPPORT_WORKER = true;var SUPPORT_BUILTINS = true;var SUPPORT_DEBUG = true;var SUPPORT_CACHE = true;var SUPPORT_ASYNC = true;("+e.toString()+")()"],{type:"text/javascript"})):"../"+m+".js";m+="-"+t;q[m]||(q[m]=[]);q[m][u]=new Worker(g);q[m][u].onmessage=w;console.log("Register Worker: "+m+"@"+u);return{postMessage:function(e,g){q[m][e].postMessage(g)}}}}()),this);

View File

@@ -1,6 +1,6 @@
{
"name": "FlexSearch",
"version": "0.2.4",
"version": "0.2.41",
"description": "World's fastest and most memory efficient full text search library.",
"homepage": "https://nextapps-de.github.io/xone/",
"author": "Thomas Wilkerling",

View File

@@ -12,7 +12,7 @@
<script src="../node_modules/mocha/mocha.js"></script>
<script src="../node_modules/chai/chai.js"></script>
<!--<script src="../node_modules/mocha-phantomjs-core/browser-shim.js"></script>-->
<script src="../flexsearch.js"></script>
<script src="../flexsearch.min.js"></script>
<script>
window.initMochaPhantomJS && initMochaPhantomJS();
mocha.ui('bdd');