Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

flexsearch

Package Overview
Dependencies
Maintainers
1
Versions
87
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flexsearch - npm Package Compare versions

Comparing version 0.2.11 to 0.2.31

test/matching.html

48

flexsearch.min.js
/*
FlexSearch v0.2.3
Copyright 2017-2018 Thomas Wilkerling
Released under the Apache 2.0 Licence
https://github.com/nextapps-de/flexsearch
@version: 0.2.11
@license: Apache 2.0 Licence
*/
'use strict';(function(p,C,f){var d;(d=f.define)&&d.amd?d([],function(){return C}):(d=f.modules)?d[p.toLowerCase()]=C:"undefined"!==typeof module?module.exports=C:f[p]=C})("FlexSearch",function H(p){function f(a){a||(a=u);this.id=a.id||I++;this.init(a);Object.defineProperty(this,"index",{get:function(){return this.a}});Object.defineProperty(this,"length",{get:function(){return Object.keys(this.a).length}})}function d(a){return new RegExp(a,"g")}function v(a,b,c){if("undefined"===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 q(a,b,c,e,k,l){if("undefined"===typeof b[c]){var g=k.indexOf(c);g=3/k.length*(k.length-g)+6/(g-k.lastIndexOf(" ",g))+.5|0;b[c]=g;g>l&&(a=a[g],a=a[c]||(a[c]=[]),a[a.length]=e)}return g||b[c]}function x(a){for(var b="",c="",e="",k=0;k<a.length;k++){var l=a[k];l!==c&&(0<k&&"h"===l?(e="a"===e||"e"===e||"i"===e||"o"===e||"u"===e||"y"===e,"a"!==c&&"e"!==c&&"i"!==c&&"o"!==c&&"u"!==c&&"y"!==c||!e||(b+=l)):b+=l);e=k===a.length-
1?"":a[k+1];c=l}return b}function y(a,b){a=a.length-b.length;return 0>a?1:0<a?-1:0}function J(a,b){a=a.length-b.length;return 0>a?-1:0<a?1:0}function K(a,b){var c=[],e=a.length;if(1<e){a.sort(J);for(var k={},l=a[0],g=0,D=l.length;g<D;++g)k[l[g]]=1;for(var d=0,h=1;h<e;++h){var f=a[h],r=!1;g=0;for(D=f.length;g<D;++g)if(k[l=f[g]]===h){if(h===e-1&&(c[d++]=l,b&&d===b))return c;r=!0;k[l]=h+1;break}if(!r)return[]}}else e&&(c=a[0],b&&c&&c.length>b&&(c=c.slice(0,b)));return c}function z(a){a.w||(a.w=E(function(){a.w=
null;var b=a.async;b&&(a.async=!1);if(a.c.length){for(var c=F(),e;(e=a.c.shift())||0===e;){var k=a.h[e];switch(k[0]){case A.add:a.add(k[1],k[2]);break;case A.update:a.update(k[1],k[2]);break;case A.remove:a.remove(k[1])}a.h[e]=null;delete a.h[e];if(100<F()-c)break}a.c.length&&z(a)}b&&(a.async=b)},1,"search-async-"+a.id))}function F(){return"undefined"!==typeof performance?performance.now():(new Date).getTime()}function L(a,b,c,e){a=p("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.A&&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&&e(a.id,a.content,a.result,a.limit)},b);var k=H.toString();c.id=b;a.postMessage(b,{register:k,options:c,id:b});return a}var u={type:"integer",mode:"forward",cache:!1,async:!1,b:!1,threshold:0,depth:0,encode:"icase"},w=[],I=0,A={add:0,update:1,remove:2},G=d("[ -/]");f.new=function(a){return new this(a)};f.create=function(a){return f.new(a)};f.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(w[w.length]=d(b),w[w.length]=a[b]);return this};f.register=function(a,
b){B[a]=b;return this};f.encode=function(a,b){return B[a].call(B,b)};f.prototype.init=function(a){this.m=[];if(a){if(a.worker)if("undefined"===typeof Worker)a.worker=!1,a.async=!0,this.j=null;else{var b=this,c=parseInt(a.worker,10)||4;b.s=-1;b.o=0;b.i=[];b.v=null;b.j=Array(c);for(var e=0;e<c;e++)b.j[e]=L(b.id,e,a||u,function(a,c,e,d){b.o!==b.b&&(b.i=b.i.concat(e),b.o++,d&&b.i.length>=d&&(b.o=b.b),b.v&&b.o===b.b&&(b.i.length?b.f="":b.f||(b.f=c),b.cache&&b.l.set(c,b.i),b.v(b.i),b.i=[]))})}this.mode=
a.mode||this.mode||u.mode;this.cache=a.cache||this.cache||u.cache;this.async=a.async||this.async||u.async;this.b=a.worker||this.b||u.b;this.threshold=a.threshold||this.threshold||u.threshold;this.depth=a.depth||this.depth||u.depth;this.encoder=a.encode&&B[a.encode]||("function"===typeof a.encode?a.encode:this.encoder||!1);this.A=a.debug||this.A;a.matcher&&this.addMatcher(a.matcher)}this.g=[{},{},{},{},{},{},{},{},{},{},{}];this.a={};this.h={};this.c=[];this.w=null;this.f="";this.u=!0;this.l=this.cache?
new M(3E4,50,!0):!1;return this};f.prototype.encode=function(a){a&&w.length&&(a=v(a,w));a&&this.m.length&&(a=v(a,this.m));a&&this.encoder&&(a=this.encoder.call(B,a));return a};f.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};f.prototype.add=function(a,b){if("string"===typeof b&&b&&(a||0===a))if(this.a[a])this.update(a,b);else{if(this.b)return++this.s>=this.j.length&&(this.s=0),this.j[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.c[this.c.length]=a),this.h[a]=[A.add,a,b],z(this),this;b=this.encode(b);if(!b.length)return this;if("ngram"===this.mode){var c=b;var e=[];if(c)for(var d=0,l=0,g=-1,f="",n=c.length,h=0;h<n;h++){var m=c[h];"a"===m||"e"===m||"i"===m||"o"===m||"u"===m||"y"===m?d++:l++;" "!==m&&(f+=m);if(" "===m||2<=d&&2<=l||h===n-1)f&&(2<f.length?e[++g]=f:e[g]&&(e[g]+=f),f=""),l=d=0}c=e}else c=b.split(G);e={_ctx:{}};d=this.threshold;
l=this.g;g=c.length;for(f=0;f<g;f++)if(n=c[f]){var r=n.length;switch(this.mode){case "reverse":case "both":var t="";for(h=r-1;1<=h;h--)t=n[h]+t,q(l,e,t,a,b,d);case "forward":t="";for(h=0;h<r;h++)t+=n[h],q(l,e,t,a,b,d);break;case "full":for(h=0;h<r;h++)for(m=r;m>h;m--)t=n.substring(h,m),q(l,e,t,a,b,d);break;default:if(h=q(l,e,n,a,b,d),1<g&&this.depth&&h>d)for(h=l[10],r=e._ctx[n]||(e._ctx[n]={}),n=h[n]||(h[n]=[{},{},{},{},{},{},{},{},{},{}]),h=f-this.depth,m=f+this.depth,0>h&&(h=0),m>g-1&&(m=g-1);h<=
m;h++)h!==f&&q(n,r,c[h],a,b,d)}}this.a[a]="1";this.u=!1}return this};f.prototype.update=function(a,b){if("string"===typeof b&&(a||0===a)&&this.a[a]){if(this.b){var c=parseInt(this.a[a],10);this.j[c].postMessage(c,{update:!0,id:a,content:b});return this}if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[A.update,a,b],z(this),this;this.remove(a);b&&this.add(a,b)}return this};f.prototype.remove=function(a){if(this.a[a]){if(this.b){var b=parseInt(this.a[a],10);this.j[b].postMessage(b,
{remove:!0,id:a});delete this.a[a];return this}if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[A.remove,a],z(this),this;for(b=0;10>b;b++)for(var c=Object.keys(this.g[b]),e=0;e<c.length;e++){var d=c[e],f=this.g[b];if((f=f&&f[d])&&f.length)for(var g=0;g<f.length;g++)if(f[g]===a){f.splice(g,1);break}f.length||delete this.g[b][d]}delete this.a[a];this.u=!1}return this};f.prototype.search=function(a,b,c){var e=[];if(a&&"object"===typeof a){c=a.callback||b;b=a.limit;var d=a.threshold;
a=a.query}d||(d=0);"function"===typeof b?(c=b,b=1E3):b||(b=1E3);if(this.b){this.v=c;this.o=0;this.i=[];for(e=0;e<this.b;e++)this.j[e].postMessage(e,{search:!0,limit:b,threshold:d,content:a});return null}if(c){var f=this;E(function(){c(f.search(a,b));f=null},1,"search-"+this.id);return null}if(!a||"string"!==typeof a)return e;var g=a;if(!this.u)this.cache&&(this.f="",this.l.reset()),this.u=!0;else if(this.cache){var p=this.l.get(a);if(p)return p}else if(this.f&&0===a.indexOf(this.f))return e;g=this.encode(g);
if(!g.length)return e;g=g.constructor===Array?g:g.split(G);p=g.length;var n=!0,h=[],m={};if(1<p)if(this.depth){var r=!0,t=g[0];m[t]="1"}else g.sort(y);var u;if(!r||(u=this.g[10])[t])for(var v=r?1:0;v<p;v++){var q=g[v];if(q&&!m[q]){for(var w,A=!1,x=[],B=0,z=9;z>=d;z--)if(w=r?u[t][z][q]:this.g[z][q])x[B++]=w,A=!0;if(A)h[h.length]=1<B?h.concat.apply([],x):x[0];else{n=!1;break}m[q]="1"}t=q}else n=!1;n&&(e=K(h,b));e.length?this.f="":this.f||(this.f=a);this.cache&&this.l.set(a,e);return e};f.prototype.info=
function(){if(this.b)for(var a=0;a<this.b;a++)this.j[a].postMessage(a,{info:!0,id:this.id});else{for(var b,c,e=0,d=0,f=0,g=0;10>g;g++)for(b=Object.keys(this.g[g]),a=0;a<b.length;a++)c=this.g[g][b[a]].length,e+=c+2*b[a].length+4,d+=c,f+=2*b[a].length;b=Object.keys(this.a);c=b.length;for(a=0;a<c;a++)e+=2*b[a].length+2;return{id:this.id,memory:e,items:c,sequences:d,chars:f,status:this.u,cache:this.c.length,matcher:w.length,worker:this.b}}};f.prototype.reset=function(){this.destroy();return this.init()};
f.prototype.destroy=function(){this.cache&&this.l.reset();this.g=this.a=this.l=null;return this};var B={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("[-/]")," ",d("[^a-z0-9 ]"),""];return function(b){return v(b.toLowerCase(),
a)}}(),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,c){if(!b)return b;b=this.simple(b);2<b.length&&(b=v(b,a));c||1<b.length&&(b=x(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 c=0;c<b.length;c++){var d=b[c];1<d.length&&(b[c]=d[0]+v(d.substring(1),a))}b=b.join("");b=x(b)}return b}}()},E=function(){var a={};return function(b,c,d){var e=a[d];e&&clearTimeout(e);return a[d]=setTimeout(b,c)}}(),M=function(){function a(){this.cache={}}a.prototype.reset=function(){this.cache={}};a.prototype.set=function(a,c){this.cache[a]=c};a.prototype.get=function(a){return this.cache[a]};return a}();return f}(function(){var p={},C=
!("undefined"===typeof Blob||"undefined"===typeof URL||!URL.createObjectURL);return function(f,d,v,q,x){var y=f;f=C?URL.createObjectURL(new Blob(["("+v.toString()+")()"],{type:"text/javascript"})):"../"+y+".js";y+="-"+d;p[y]||(p[y]=[]);p[y][x]=new Worker(f);p[y][x].onmessage=q;return{postMessage:function(d,f){p[y][d].postMessage(f)}}}}()),this);
'use strict';(function(n,C,f){var p;(p=f.define)&&p.amd?p([],function(){return C}):(p=f.modules)?p[n.toLowerCase()]=C:"undefined"!==typeof module?module.exports=C:f[n]=C})("FlexSearch",function K(n){function f(a){a||(a=u);this.id=a.id||L++;this.init(a);p(this,"index",function(){return this.a});p(this,"length",function(){return Object.keys(this.a).length})}function p(a,b,c){Object.defineProperty(a,b,{get:c})}function d(a){return new RegExp(a,"g")}function v(a,b,c){if("undefined"===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 w(a,b,c,e,h,g){if("undefined"===typeof b[c]){var k=h.indexOf(c);k=3/h.length*(h.length-k)+6/(k-h.lastIndexOf(" ",k))+.5|0;b[c]=k;k>g&&(a=a[k],a=a[c]||(a[c]=[]),a[a.length]=e)}return k||b[c]}function x(a){var b=[];if(!a)return b;for(var c=0,e=0,h=0,g="",k=a.length,B=0;B<k;B++){var d=a[B];"a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d?c++:e++;" "!==d&&(g+=d);if(" "===d||1<c&&1<e||2<c||2<e||B===k-1)g&&(b[h]&&2<g.length&&
h++,b[h]=b[h]?b[h]+g:g," "===d&&h++,g=""),e=c=0}return b}function F(a){for(var b="",c="",e="",h=0;h<a.length;h++){var g=a[h];if(g!==c)if(h&&"h"===g){if(e="a"===e||"e"===e||"i"===e||"o"===e||"u"===e||"y"===e,("a"===c||"e"===c||"i"===c||"o"===c||"u"===c||"y"===c)&&e||" "===c)b+=g}else b+=g;e=h===a.length-1?"":a[h+1];c=g}return b}function M(a,b){var c={};if(G)for(var e=0;e<a.length;e++){var h=b?b.call(y,a[e]):a[e];c[h]=String.fromCharCode(65E3-a.length+e)}return c}function N(a,b){var c=[];if(a){var e=
0,h;for(h in a)if(a.hasOwnProperty(h)){var g=b?b.call(y,h):h;c[e++]=d("(?=.{"+(g.length+3)+",})"+g+"$");c[e++]=b?b.call(y,a[h]):a[h]}}return c}function O(a,b){a=a.length-b.length;return 0>a?1:0<a?-1:0}function P(a,b){a=a.length-b.length;return 0>a?-1:0<a?1:0}function Q(a,b){var c=[],e=a.length;if(1<e){a.sort(P);for(var h={},g=a[0],d=g.length,B=0;B<d;)h[g[B++]]=1;for(var f,q=0,m=1;m<e;){var r=!1;g=a[m];d=g.length;for(B=0;B<d;)if(h[f=g[B++]]===m){if(m===e-1&&(c[q++]=f,b&&q===b)){r=!1;break}r=!0;h[f]=
m+1}if(!r)break;m++}}else e&&(c=a[0],b&&c&&c.length>b&&(c=c.slice(0,b)));return c}function E(a){a.B||(a.B=H(function(){a.B=null;var b=a.async;b&&(a.async=!1);if(a.c.length){for(var c=I(),e;(e=a.c.shift())||0===e;){var d=a.h[e];switch(d[0]){case D.add:a.add(d[1],d[2]);break;case D.update:a.update(d[1],d[2]);break;case D.remove:a.remove(d[1])}a.h[e]=null;delete a.h[e];if(100<I()-c)break}a.c.length&&E(a)}b&&(a.async=b)},1,"search-async-"+a.id))}function I(){return"undefined"!==typeof performance?performance.now():
(new Date).getTime()}function R(a,b,c,e){a=n("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.C&&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?e(a.id,a.content,a.result,a.limit):c.debug&&console.log(a)},b);var d=K.toString();c.id=b;a.postMessage(b,{register:d,options:c,id:b});return a}var u={type:"integer",mode:"forward",cache:!1,async:!1,b:!1,threshold:0,depth:0,encode:"icase"},z=[],L=0,D={add:0,update:1,remove:2},J=d("[ -/]"),S="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(" "),
G={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:""};f.new=function(a){return new this(a)};f.create=function(a){return f.new(a)};
f.addMatcher=function(a){for(var b in a)a.hasOwnProperty(b)&&(z[z.length]=d(b),z[z.length]=a[b]);return this};f.register=function(a,b){y[a]=b;return this};f.encode=function(a,b){return y[a].call(y,b)};f.prototype.init=function(a){this.m=[];if(a){if(a.worker)if("undefined"===typeof Worker)a.worker=!1,a.async=!0,this.j=null;else{var b=this,c=parseInt(a.worker,10)||4;b.s=-1;b.o=0;b.i=[];b.w=null;b.j=Array(c);for(var e=0;e<c;e++)b.j[e]=R(b.id,e,a||u,function(a,c,e,d){b.o!==b.b&&(b.i=b.i.concat(e),b.o++,
d&&b.i.length>=d&&(b.o=b.b),b.w&&b.o===b.b&&(b.i.length?b.f="":b.f||(b.f=c),b.cache&&b.l.set(c,b.i),b.w(b.i),b.i=[]))})}this.mode=a.mode||this.mode||u.mode;this.cache=a.cache||this.cache||u.cache;this.async=a.async||this.async||u.async;this.b=a.worker||this.b||u.b;this.threshold=a.threshold||this.threshold||u.threshold;this.depth=a.depth||this.depth||u.depth;this.v=a.encode&&y[a.encode]||("function"===typeof a.encode?a.encode:this.v||!1);this.C=a.debug||this.C;a.matcher&&this.addMatcher(a.matcher);
a.filter&&(this.A=M(!0===a.filter?S:a.filter,this.v));a.stemmer&&(this.D=N(!0===a.stemmer?G:a.stemmer,this.v))}this.g=[{},{},{},{},{},{},{},{},{},{},{}];this.a={};this.h={};this.c=[];this.B=null;this.f="";this.u=!0;this.l=this.cache?new T(3E4,50,!0):!1;return this};f.prototype.encode=function(a){a&&z.length&&(a=v(a,z));a&&this.m.length&&(a=v(a,this.m));a&&this.v&&(a=this.v.call(y,a));if(a&&this.A){a=a.split(" ");for(var b=0;b<a.length;b++){var c=a[b];this.A[c]&&(a[b]=this.A[c])}a=a.join(" ")}a&&this.D&&
(a=v(a,this.D));return a};f.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};f.prototype.add=function(a,b){if("string"===typeof b&&b&&(a||0===a))if(this.a[a])this.update(a,b);else{if(this.b)return++this.s>=this.j.length&&(this.s=0),this.j[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.c[this.c.length]=a),this.h[a]=[D.add,a,b],E(this),this;b=this.encode(b);
if(!b.length)return this;for(var c=this.mode,e="function"===typeof c?c(b):"ngram"===c?x(b):b.split(J),d={_ctx:{}},g=this.threshold,k=this.depth,f=this.g,n=e.length,q=0;q<n;q++){var m=e[q];if(m){var r=m.length;switch(c){case "reverse":case "both":for(var t="",l=r-1;1<=l;l--)t=m[l]+t,w(f,d,t,a,b,g);case "forward":t="";for(l=0;l<r;l++)t+=m[l],w(f,d,t,a,b,g);break;case "full":for(l=0;l<r;l++)for(var A=r;A>l;A--)t=m.substring(l,A),w(f,d,t,a,b,g);break;default:if(l=w(f,d,m,a,b,g),k&&1<n&&l>g)for(l=f[10],
r=d._ctx[m]||(d._ctx[m]={}),m=l[m]||(l[m]=[{},{},{},{},{},{},{},{},{},{}]),l=q-k,A=q+k,0>l&&(l=0),A>n-1&&(A=n-1);l<=A;l++)l!==q&&w(m,r,e[l],a,b,g)}}}this.a[a]="1";this.u=!1}return this};f.prototype.update=function(a,b){if("string"===typeof b&&(a||0===a)&&this.a[a]){if(this.b){var c=parseInt(this.a[a],10);this.j[c].postMessage(c,{update:!0,id:a,content:b});return this}if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[D.update,a,b],E(this),this;this.remove(a);b&&this.add(a,b)}return this};
f.prototype.remove=function(a){if(this.a[a]){if(this.b){var b=parseInt(this.a[a],10);this.j[b].postMessage(b,{remove:!0,id:a});delete this.a[a];return this}if(this.async)return this.h[a]||(this.c[this.c.length]=a),this.h[a]=[D.remove,a],E(this),this;for(b=0;10>b;b++)for(var c=Object.keys(this.g[b]),d=0;d<c.length;d++){var h=c[d],g=this.g[b];if((g=g&&g[h])&&g.length)for(var k=0;k<g.length;k++)if(g[k]===a){g.splice(k,1);break}g.length||delete this.g[b][h]}delete this.a[a];this.u=!1}return this};f.prototype.search=
function(a,b,c){var d=[];if(a&&"object"===typeof a){c=a.callback||b;b=a.limit;var h=a.threshold;a=a.query}h||(h=0);"function"===typeof b?(c=b,b=1E3):b||(b=1E3);if(this.b){this.w=c;this.o=0;this.i=[];for(d=0;d<this.b;d++)this.j[d].postMessage(d,{search:!0,limit:b,threshold:h,content:a});return null}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 d;var k=a;if(!this.u)this.cache&&(this.f="",this.l.reset()),this.u=!0;else if(this.cache){var f=
this.l.get(a);if(f)return f}else if(this.f&&0===a.indexOf(this.f))return d;k=this.encode(k);if(!k.length)return d;f=this.mode;k="function"===typeof f?f(k):"ngram"===f?x(k):k.split(J);f=k.length;var n=!0,q=[],m={};if(1<f)if(this.depth){var r=!0,t=k[0];m[t]="1"}else k.sort(O);var l;if(!r||(l=this.g[10])[t])for(var A=r?1:0;A<f;A++){var p=k[A];if(p&&!m[p]){for(var v,w=!1,u=[],y=0,z=9;z>=h;z--)if(v=(r?l[t]:this.g)[z][p])u[y++]=v,w=!0;if(w)q[q.length]=1<y?q.concat.apply([],u):u[0];else{n=!1;break}m[p]=
"1"}t=p}else n=!1;n&&(d=Q(q,b));d.length?this.f="":this.f||(this.f=a);this.cache&&this.l.set(a,d);return d};f.prototype.info=function(){if(this.b)for(var a=0;a<this.b;a++)this.j[a].postMessage(a,{info:!0,id:this.id});else{for(var b,c,d=0,f=0,g=0,k=0;10>k;k++)for(b=Object.keys(this.g[k]),a=0;a<b.length;a++)c=this.g[k][b[a]].length,d+=c+2*b[a].length+4,f+=c,g+=2*b[a].length;b=Object.keys(this.a);c=b.length;for(a=0;a<c;a++)d+=2*b[a].length+2;return{id:this.id,memory:d,items:c,sequences:f,chars:g,status:this.u,
cache:this.c.length,matcher:z.length,worker:this.b}}};f.prototype.reset=function(){this.destroy();return this.init()};f.prototype.destroy=function(){this.cache&&this.l.reset();this.g=this.a=this.l=null;return this};var y={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=v(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,c){if(!b)return b;b=this.simple(b);2<b.length&&(b=v(b,a));c||1<
b.length&&(b=F(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 c=0;c<b.length;c++){var d=b[c];1<d.length&&(b[c]=d[0]+v(d.substring(1),a))}b=b.join(" ");b=F(b)}return b}}(),balanced:function(){var a=[d("[-/]")," ",d("[^a-z0-9 ]"),"",d("\\s\\s+")," ",d("[aeiouy]"),""];return function(b){return F(v(b.toLowerCase(),a))}}()},H=
function(){var a={};return function(b,c,d){var e=a[d];e&&clearTimeout(e);return a[d]=setTimeout(b,c)}}(),T=function(){function a(){this.cache={}}a.prototype.reset=function(){this.cache={}};a.prototype.set=function(a,c){this.cache[a]=c};a.prototype.get=function(a){return this.cache[a]};return a}();return f}(function(){var n={},C=!("undefined"===typeof Blob||"undefined"===typeof URL||!URL.createObjectURL);return function(f,p,d,v,w){var x=f;f=C?URL.createObjectURL(new Blob(["("+d.toString()+")()"],{type:"text/javascript"})):
"../"+x+".js";x+="-"+p;n[x]||(n[x]=[]);n[x][w]=new Worker(f);n[x][w].onmessage=v;console.log("Register Worker: "+x+"@"+w);return{postMessage:function(d,f){n[x][d].postMessage(f)}}}}()),this);
{
"name": "flexsearch",
"version": "0.2.11",
"version": "0.2.31",
"description": "World's fastest and most memory efficient full text search library.",

@@ -10,4 +10,4 @@ "keywords": [],

},
"main": "flexsearch.js",
"preferGlobal": true,
"main": "flexsearch.min.js",
"preferGlobal": false,
"bin": {},

@@ -19,4 +19,8 @@ "repository": {

"scripts": {
"build": "java -jar -Xms256m -Xmx4096m node_modules/google-closure-compiler/compiler.jar --compilation_level=ADVANCED_OPTIMIZATIONS --use_types_for_optimization=true --new_type_inf=true --jscomp_warning=newCheckTypes --generate_exports=true --export_local_property_definitions=true --language_in=ECMASCRIPT5_STRICT --language_out=ECMASCRIPT5_STRICT --process_closure_primitives=true --summary_detail_level=3 --warning_level=VERBOSE --emit_use_strict=true --output_manifest=log/manifest.log --output_module_dependencies=log/module_dependencies.log --property_renaming_report=log/renaming_report.log --js='flexsearch.js' --js_output_file='flexsearch.min.js' && echo Build Complete. && exit 0",
"build": "node compile RELEASE=min SUPPORT_DEBUG=true SUPPORT_WORKER=true SUPPORT_BUILTINS=true SUPPORT_CACHE=true SUPPORT_ASYNC=true && exit 0",
"build-light": "node compile RELEASE=light SUPPORT_DEBUG=false SUPPORT_WORKER=false SUPPORT_BUILTINS=false SUPPORT_CACHE=false SUPPORT_ASYNC=false && exit 0",
"build-custom": "node compile",
"build-all": "npm run build && npm run build-light",
"test-production": "nyc --reporter=html --reporter=text mocha --timeout=3000 test --exit",
"test-light": "nyc --reporter=html --reporter=text mocha --timeout=3000 test/ --exit",
"test-develop": "nyc --reporter=html --reporter=text mocha --timeout=3000 --exit",

@@ -23,0 +27,0 @@ "test-browser": "mocha-phantomjs test/index.html",

<p align="center">
<br>
<img src="http://nextapps.de/img/flexsearch.svg" alt="Search Library" width="50%">
<img src="https://rawgithub.com/nextapps-de/flexsearch/master/doc/flexsearch.svg" alt="Search Library" width="50%">
<br><br>

@@ -17,8 +17,13 @@ <a target="_blank" href="https://www.npmjs.com/package/flexsearch"><img src="https://img.shields.io/npm/v/flexsearch.svg"></a>

When it comes to raw search speed <a href="https://jsperf.com/compare-search-libraries" target="_blank">FlexSearch outperforms every single searching library out there</a> and also provides flexible search capabilities like multi-word matching, phonetic transformations or partial matching. It also has the __most memory-efficient index__. Keep in mind that updating existing items from the index has a significant cost. When your index needs to be updated continuously then <a href="bulksearch/" target="_blank">BulkSearch</a> may be a better choice. FlexSearch also provides you a non-blocking asynchronous processing model as well as web workers to perform any updates on the index as well as queries through dedicated threads.
When it comes to raw search speed <a href="https://jsperf.com/compare-search-libraries" target="_blank">FlexSearch outperforms every single searching library out there</a> and also provides flexible search capabilities like multi-word matching, phonetic transformations or partial matching.
It also has the __most memory-efficient index__. Keep in mind that updating / removing existing items from the index has a significant cost. When your index needs to be updated continuously then <a href="bulksearch/" target="_blank">BulkSearch</a> may be a better choice.
FlexSearch also provides you a non-blocking asynchronous processing model as well as web workers to perform any updates on the index as well as queries through dedicated threads.
Benchmark:
- Library Comparison: <a href="https://jsperf.com/compare-search-libraries" target="_blank">https://jsperf.com/compare-search-libraries</a>
- BulkSearch vs. FlexSearch: <a href="https://jsperf.com/flexsearch" target="_blank">https://jsperf.com/flexsearch</a>
<a href="#installation">Installation Guide</a> &ensp;&bull;&ensp; <a href="#api">API Reference</a> &ensp;&bull;&ensp; <a href="#examples">Example Options</a> &ensp;&bull;&ensp; <a href="#builds">Custom Builds</a>
Comparison:
- <a href="https://jsperf.com/compare-search-libraries" target="_blank">Library Benchmarks</a>
- <a href="https://jsperf.com/flexsearch" target="_blank">BulkSearch vs. FlexSearch Benchmark</a>
- <a href="https://rawgit.com/nextapps-de/flexsearch/master/test/matching.html" target="_blank">Relevance Scoring</a>
Supported Platforms:

@@ -41,20 +46,33 @@ - Browser

<li>Relevance-based Scoring</li>
<li>Contextual Indexes</li>
<li><a href="contextual">Contextual Indexes</a></li>
<li>Limit Results</li>
<li>Caching</li>
<li>Asynchronous Mode</li>
<li>Custom Matchers</li>
<li>Custom Encoders</li>
<li>Supports Caching</li>
<li>Asynchronous Processing</li>
<li>Customizable: Matcher, Encoder, Tokenizer, Stemmer, Stopword-Filter</li>
</ul>
This features are not available in the 50% smaller <a href="flexsearch.light.js">light version</a>:
- WebWorker
- Async handler
- Cache handler
- Built-in encoders except 'balanced' (you can still pass in customs)
- Built-in stemmers and stopword filter (you can still pass in customs)
- Debug logging
- _index.info()_ method
The light version is just available as compiled version (flexsearch.light.js).
> You can also make <a href="#builds">Custom Builds</a> pretty simple
<a name="contextual"></a>
#### Contextual Search
FlexSearch introduce a new scoring mechanism called __Contextual Search__ which was invented by Thomas Wilkerling, the author of this library. A Contextual Search __incredibly boost up queries to a complete new level__.
FlexSearch introduce a new scoring mechanism called __Contextual Search__ which was invented by Thomas Wilkerling, the author of this library. A Contextual Search <a href="https://jsperf.com/compare-search-libraries" target="_blank">incredibly boost up queries to a complete new level</a>.
The basic idea of this concept is to limit relevance by its context instead of calculating relevance through the whole (unlimited) distance.
Imagine you add a text block of some sentences to an index ID. Assuming the query includes a combination of first and last word from this text block, are they really relevant to each other?
In this way contextual search also improves the results of relevance-based queries on large amount of text data.
In this way contextual search <a href="https://rawgit.com/nextapps-de/flexsearch/master/test/matching.html" target="_blank">also improves the results of relevance-based queries</a> on large amount of text data.
<p align="center">
<img src="https://rawgithub.com/nextapps-de/flexsearch/master/contextual_index.svg">
<img src="https://rawgithub.com/nextapps-de/flexsearch/master/doc/contextual_index.svg">
</p>

@@ -95,3 +113,3 @@

<td><ul><li>Limited content</li><li>Use when existing items of the index needs to be updated continously (update, remove)</li><li>Supports pagination</li></ul></td>
<td><ul><li>Fastest possible search</li><li>Existing items of the index does not need to be updated continously (update, remove)</li><li>Max out memory capabilities</li></ul></td>
<td><ul><li>Fastest possible search</li><li>Use when existing items of the index does not need to be updated continously (update, remove)</li><li>Max out memory capabilities</li><li>Enhanced relevance scoring</li></ul></td>
</tr>

@@ -124,2 +142,3 @@ <tr></tr>

<a name="installation"></a>
## Installation

@@ -167,2 +186,3 @@

<a name="api"></a>
## API Overview

@@ -386,3 +406,17 @@

```
<a name="flexsearch.tokenizer"></a>
#### Add custom tokenizer
Define a private custom tokenizer during creation/initialization:
```js
var index = new FlexSearch({
mode: function(str){
// split string into components, e.g.:
return str.split(/ -\//g);
}
});
```
<a name="index.info"></a>

@@ -479,6 +513,7 @@ #### Get info

"ngram"<br>
"full"
"full"<br>
function()
</td>
<td vertical-align="top">
The <a href="#tokenizer">indexing mode (tokenizer)</a>.<br>
The <a href="#tokenizer">indexing mode (tokenizer)</a>.<br><br>Choose one of the <a href="#tokenizer">built-ins</a> or pass a <a href="#flexsearch.tokenizer">custom tokenizer function</a>.<br>
</td>

@@ -488,3 +523,3 @@ </tr>

<tr>
<td align="top">encode<br><br><br><br><br><br></td>
<td align="top">encode<br><br><br><br><br><br><br></td>
<td>

@@ -496,2 +531,3 @@ false<br>

"extra"<br>
"balanced"<br>
function()

@@ -583,3 +619,3 @@ </td>

<td><b>foo</b>bar<br>foo<b>bar</b></td>
<td>* n / 3.5</td>
<td>* n / 3</td>
</tr>

@@ -776,3 +812,3 @@ <tr></tr>

<a name="memory" id="memory"></a>
<a name="memory"></a>
## Memory Usage

@@ -823,3 +859,3 @@

<td>"ngram" (default)</td>
<td>* n / 3.5</td>
<td>* n / 3</td>
</tr>

@@ -841,7 +877,92 @@ <tr></tr>

</tr>
<tr>
<td align="left">Contextual Index</td>
<td align="left">Multiply the sum above with:</td>
</tr>
<tr>
<td></td>
<td>* (depth * 2 + 1)</td>
</tr>
</table>
<a name="examples"></a>
## Example Options
Memory-optimized:
```js
{
encode: "extra",
mode: "strict",
threshold: 5
}
```
Speed-optimized:
```js
{
encode: "icase",
mode: "strict",
threshold: 5,
depth: 2
}
```
Matching-tolerant:
```js
{
encode: "extra",
mode: "full"
}
```
Well-balanced:
```js
{
encode: "extra",
mode: "ngram",
threshold: 4,
depth: 3
}
```
<a name="builds"></a>
## Custom Builds
Default Build:
```bash
npm run build
```
Light Build:
```bash
npm run build-light
```
Custom Build:
```bash
npm run build-custom SUPPORT_WORKER=true SUPPORT_ASYNC=true
```
Supported flags:
- SUPPORT_DEBUG
- SUPPORT_WORKER
- SUPPORT_CACHE
- SUPPORT_ASYNC
- SUPPORT_BUILTINS (english stemmer and filter)
Alternatively you can also use:
```bash
node compile SUPPORT_WORKER=true
```
The custom build was saved to flexsearch.custom.js
---
Author FlexSearch: Thomas Wilkerling<br>
License: <a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache 2.0 License</a><br>
Copyright 2017-2018 Thomas Wilkerling<br>
Released under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache 2.0 License</a><br>

@@ -9,5 +9,5 @@ if(typeof module !== 'undefined'){

var env = process.argv[3] === 'test' ? '.min' : '';
var env = process.argv[3] === 'test' ? 'min' : process.argv[3] === 'test/' ? 'light' : '';
var expect = require('chai').expect;
var FlexSearch = require("../flexsearch" + env + ".js");
var FlexSearch = require("../flexsearch" + (env ? '.' + env : '') + ".js");
}

@@ -152,3 +152,7 @@

expect(flexsearch_default).to.respondTo("init");
expect(flexsearch_default).to.respondTo("info");
if(env !== 'light'){
expect(flexsearch_default).to.respondTo("info");
}
});

@@ -173,3 +177,2 @@

expect(flexsearch_async.async).to.equal(true);
expect(flexsearch_custom.encoder).to.equal(test_encoder);
expect(flexsearch_strict.mode).to.equal("strict");

@@ -180,2 +183,8 @@ expect(flexsearch_forward.mode).to.equal("forward");

expect(flexsearch_ngram.mode).to.equal("ngram");
// not available in compiled version:
if(typeof flexsearch_custom.encoder !== 'undefined'){
expect(flexsearch_custom.encoder).to.equal(test_encoder);
}
});

@@ -216,10 +225,2 @@ });

expect(flexsearch_extra.length).to.equal(0);
flexsearch_extra.add(4, "Thomas");
flexsearch_extra.add(5, "Arithmetic");
flexsearch_extra.add(6, "Mahagoni");
expect(flexsearch_extra.search("tomass")).to.include(4);
expect(flexsearch_extra.search("arytmetik")).to.include(5);
expect(flexsearch_extra.search("mahagony")).to.include(6);
});

@@ -238,2 +239,13 @@ });

expect(flexsearch_sync.search("foo foo")).to.have.members([0, 1]);
if(env !== 'light'){
flexsearch_extra.add(4, "Thomas");
flexsearch_extra.add(5, "Arithmetic");
flexsearch_extra.add(6, "Mahagoni");
expect(flexsearch_extra.search("tomass")).to.include(4);
expect(flexsearch_extra.search("arytmetik")).to.include(5);
expect(flexsearch_extra.search("mahagony")).to.include(6);
}
});

@@ -852,2 +864,3 @@

expect(flexsearch_depth.search("three five seven")).to.include(0);
expect(flexsearch_depth.search("eight six four")).to.include(0);
// TODO

@@ -925,2 +938,60 @@ // expect(flexsearch_depth.search("three seven five")).to.include(0);

// ------------------------------------------------------------------------
// Relevance Tests
// ------------------------------------------------------------------------
describe('Relevance', function(){
it('Should have been sorted by relevance properly', function(){
var index = new FlexSearch({
encode: 'advanced',
mode: 'strict'
});
index.add(0, "1 2 3 2 4 1 5 3");
index.add(1, "zero one two three four five six seven eight nine ten");
index.add(2, "four two zero one three ten five seven eight six nine");
expect(index.search("1")).to.have.members([0]);
expect(index.search("one")).to.have.members([1, 2]);
expect(index.search("one two")).to.have.members([1, 2]);
expect(index.search("four one")).to.have.members([1, 2]);
var index = new FlexSearch({
encode: 'advanced',
mode: 'strict',
threshold: 5,
depth: 3
});
index.add(0, "1 2 3 2 4 1 5 3");
index.add(1, "zero one two three four five six seven eight nine ten");
index.add(2, "four two zero one three ten five seven eight six nine");
expect(index.search("1")).to.have.members([0]);
expect(index.search("one")).to.have.members([1, 2]);
expect(index.search("one two")).to.have.members([1, 2]);
expect(index.search("four one")).to.have.members([1, 2]);
var index = new FlexSearch({
encode: 'extra',
mode: 'ngram',
threshold: 5,
depth: 3
});
index.add(0, "1 2 3 2 4 1 5 3");
index.add(1, "zero one two three four five six seven eight nine ten");
index.add(2, "five two zero one three four ten seven eight six nine");
expect(index.search("1 3 4")).to.have.members([0]);
expect(index.search("1 5 3 4")).to.have.members([0]);
expect(index.search("one")).to.have.members([1, 2]);
expect(index.search("one three")).to.have.members([1, 2]);
expect(index.search("three one")).to.have.members([1, 2]);
expect(index.search("zero five one ten")).to.have.members([2]);
});
});
// ------------------------------------------------------------------------
// Feature Tests

@@ -970,38 +1041,41 @@ // ------------------------------------------------------------------------

describe('Caching', function(){
if(env !== 'light'){
it('Should have been cached properly', function(){
describe('Caching', function(){
flexsearch_cache.add(0, 'foo')
.add(1, 'bar')
.add(2, 'foobar');
// fetch:
it('Should have been cached properly', function(){
expect(flexsearch_cache.search("foo")).to.have.members([0, 2]);
expect(flexsearch_cache.search("bar")).to.have.members([1, 2]);
expect(flexsearch_cache.search("foobar")).to.include(2);
flexsearch_cache.add(0, 'foo')
.add(1, 'bar')
.add(2, 'foobar');
// fetch:
// cache:
expect(flexsearch_cache.search("foo")).to.have.members([0, 2]);
expect(flexsearch_cache.search("bar")).to.have.members([1, 2]);
expect(flexsearch_cache.search("foobar")).to.include(2);
expect(flexsearch_cache.search("foo")).to.have.members([0, 2]);
expect(flexsearch_cache.search("bar")).to.have.members([1, 2]);
expect(flexsearch_cache.search("foobar")).to.include(2);
// cache:
// update:
expect(flexsearch_cache.search("foo")).to.have.members([0, 2]);
expect(flexsearch_cache.search("bar")).to.have.members([1, 2]);
expect(flexsearch_cache.search("foobar")).to.include(2);
flexsearch_cache.remove(2).update(1, 'foo').add(3, 'foobar');
// update:
// fetch:
flexsearch_cache.remove(2).update(1, 'foo').add(3, 'foobar');
expect(flexsearch_cache.search("foo")).to.have.members([0, 1, 3]);
expect(flexsearch_cache.search("bar")).to.include(3);
expect(flexsearch_cache.search("foobar")).to.include(3);
// fetch:
// cache:
expect(flexsearch_cache.search("foo")).to.have.members([0, 1, 3]);
expect(flexsearch_cache.search("bar")).to.include(3);
expect(flexsearch_cache.search("foobar")).to.include(3);
expect(flexsearch_cache.search("foo")).to.have.members([0, 1, 3]);
expect(flexsearch_cache.search("bar")).to.include(3);
expect(flexsearch_cache.search("foobar")).to.include(3);
// cache:
expect(flexsearch_cache.search("foo")).to.have.members([0, 1, 3]);
expect(flexsearch_cache.search("bar")).to.include(3);
expect(flexsearch_cache.search("foobar")).to.include(3);
});
});
});
}

@@ -1012,22 +1086,25 @@ // ------------------------------------------------------------------------

describe('Debug', function(){
if(env !== 'light'){
it('Should have been debug mode activated', function(){
describe('Debug', function(){
var info = flexsearch_cache.info();
it('Should have been debug mode activated', function(){
expect(info).to.have.keys([
var info = flexsearch_cache.info();
'id',
'chars',
'status',
'cache',
'items',
'matcher',
'memory',
'sequences',
'worker'
]);
expect(info).to.have.keys([
'id',
'chars',
'status',
'cache',
'items',
'matcher',
'memory',
'sequences',
'worker'
]);
});
});
});
}

@@ -1034,0 +1111,0 @@ // ------------------------------------------------------------------------

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc