Socket
Socket
Sign inDemoInstall

sift

Package Overview
Dependencies
Maintainers
1
Versions
155
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sift - npm Package Compare versions

Comparing version 0.2.1 to 0.2.2

15

package.json
{
"name": "sift",
"description": "mongodb query style array filtering",
"version": "0.2.1",
"version": "0.2.2",
"repository": {},

@@ -9,11 +9,12 @@ "engines": {},

"devDependencies": {
"underscore": "*",
"benchmark": "*",
"browserify": "~3.31.2",
"colors": "*",
"benchmark": "*",
"validator": "*",
"expect.js": "0.2.x",
"karma": "0.8.x",
"mocha": "1.9.x",
"expect.js": "0.2.x",
"sardines": "0.4.x",
"karma": "0.8.x",
"browserify": "~3.31.2"
"uglify-js": "^2.4.16",
"underscore": "*",
"validator": "*"
},

@@ -20,0 +21,0 @@ "main": "./sift.js",

@@ -281,4 +281,4 @@ /*

for(var i = a.length; i--;) {
var a1 = a[i];
var indexInB = ~b.indexOf(a1);
var a1 = a[i];
var indexInB = ~b.indexOf(a1);
if(!indexInB) return -1;

@@ -362,3 +362,3 @@ }

//something like name:{$exists:false}
return priority(a, b ? b[a.k] : undefined);
return priority(a, b ? b[a.k] : void 0);
},

@@ -501,3 +501,3 @@

rawSelector = target;
target = undefined;
target = void 0;
}

@@ -550,5 +550,3 @@

if((typeof module != 'undefined') && (typeof module.exports != 'undefined')) {
module.exports = sift;
} else

@@ -558,5 +556,3 @@

if(typeof window != 'undefined') {
window.sift = sift;
}

@@ -563,0 +559,0 @@

@@ -1,7 +0,1 @@

(function(){var m=new function(){function g(a){return a?0:-1}var e=this.priority=function(a,b){for(var c=a.exprs,f=0,d=0,e=c.length;d<e;d++){var h=c[d];if(!~(h=h.e(h.v,b instanceof Date?b.getTime():b,b)))return-1;f+=h}return f},d=this.parse=function(a,b){a||(a={$eq:a});var c=[];if("[object Object]"===Object.prototype.toString.call(a))for(var f in a){var g=l[f]?f:"$trav",k=a[f],h=k;if(j[g]){if(~f.indexOf(".")){h=f.split(".");f=h.shift();for(var n={},m=n,p=0,s=h.length-1;p<s;p++)m=m[h[p]]={};m[h[p]]=
k;h=k=n}if(k instanceof Array){h=[];for(n=k.length;n--;)h.push(d(k[n]))}else h=d(k,f)}c.push(r(g,f,h))}else c.push(r("$eq",f,a));var q={exprs:c,k:b,test:function(a){return!!~q.priority(a)},priority:function(a){return e(q,a)}};return q},j=this.traversable={$and:!0,$or:!0,$nor:!0,$trav:!0,$not:!0},l=this.testers={$eq:function(a,b){return g(a.test(b))},$ne:function(a,b){return g(!a.test(b))},$lt:function(a,b){return a>b?0:-1},$gt:function(a,b){return a<b?0:-1},$lte:function(a,b){return a>=b?0:-1},$gte:function(a,
b){return a<=b?0:-1},$exists:function(a,b){return a===(null!=b)?0:-1},$in:function(a,b){if(b instanceof Array)for(var c=b.length;c--;){if(~a.indexOf(b[c]))return c}else return g(~a.indexOf(b));return-1},$not:function(a,b){if(!a.test)throw Error("$not test should include an expression, not a value. Use $ne instead.");return g(!a.test(b))},$type:function(a,b,c){return c?c instanceof a||c.constructor==a?0:-1:-1},$nin:function(a,b){return~l.$in(a,b)?-1:0},$mod:function(a,b){return b%a[0]==a[1]?0:-1},
$all:function(a,b){b=b||(b=[]);for(var c=a.length;c--;)if(!~b.indexOf(a[c]))return-1;return 0},$size:function(a,b){return b?a==b.length?0:-1:-1},$or:function(a,b){for(var c=a.length,f=c;c--;)if(~e(a[c],b))return c;return 0==f?0:-1},$nor:function(a,b){for(var c=a.length;c--;)if(~e(a[c],b))return-1;return 0},$and:function(a,b){for(var c=a.length;c--;)if(!~e(a[c],b))return-1;return 0},$trav:function(a,b){if(b instanceof Array){for(var c=b.length;c--;){var f=b[c];if(f[a.k]&&~e(a,f[a.k]))return c}return-1}return e(a,
b?b[a.k]:void 0)},$regex:function(a,b){return RegExp(a).test(b)?0:-1}},k={$eq:function(a){return a instanceof RegExp?a:{test:a instanceof Function?a:function(b){return b instanceof Array?~b.indexOf(a):a==b}}},$ne:function(a){return k.$eq(a)}},r=function(a,b,c){c=c instanceof Date?c.getTime():c;return{k:b,v:k[a]?k[a](c):c,e:l[a]}}},j=function(g,e,d){"object"!=typeof e&&(d=e,e=void 0);if(d){if("function"!=typeof d)throw Error("Unknown sift selector "+d);}else d=function(d){return d};var j=d,l=m.parse(g);
d=function(d){for(var e=[],a,b,c,f=0,g=d.length;f<g;f++)b=d[f],a=j(b),~(c=l.priority(a))&&e.push({value:b,priority:c});e.sort(function(a,b){return a.priority>b.priority?-1:1});d=Array(e.length);for(f=e.length;f--;)d[f]=e[f].value;return d};d.test=l.test;d.score=l.priority;d.query=g;return e?d(e):d};j.use=function(g){g.operators&&j.useOperators(g.operators)};j.useOperators=function(g){for(var e in g)j.useOperator(e,g[e])};j.useOperator=function(g,e){var d={},d="object"==typeof e?e:{test:e},j="$"+g;
m.testers[j]=d.test;if(d.traversable||d.traverse)m.traversable[j]=!0};"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=j:"undefined"!=typeof window&&(window.sift=j)})();
!function(){var r=function(r,n){for(var t={},e=t,o=0,i=r.length-1;i>o;o++)e=e[r[o]]={};return e[r[o]]=n,t},n=new function(){function n(r){return r instanceof Date?r.getTime():r}function t(r){return r?0:-1}var e=this.priority=function(r,t){for(var e=r.exprs,o=0,i=0,u=e.length;u>i;i++){var f,s=e[i];if(!~(f=s.e(s.v,n(t),t)))return-1;o+=f}return o},o=this.parse=function(n,t){n||(n={$eq:n});var f=[];if("[object Object]"===Object.prototype.toString.call(n))for(var a in n){var c;if(u[a])c=a;else{if("$"===a.substr(0,1))throw new Error("Unknown operator.");c="$trav"}var v=n[a],p=v;if(i[c]){if(~a.indexOf(".")){var $=a.split(".");a=$.shift(),p=v=r($,v)}if(v instanceof Array){p=[];for(var l=v.length;l--;)p.push(o(v[l]))}else p=o(v,a)}f.push(s(c,a,p))}else f.push(s("$eq",a,n));var d={exprs:f,k:t,test:function(r){return!!~d.priority(r)},priority:function(r){return e(d,r)}};return d},i=this.traversable={$and:!0,$or:!0,$nor:!0,$trav:!0,$not:!0},u=this.testers={$eq:function(r,n){return t(r.test(n))},$ne:function(r,n){return t(!r.test(n))},$lt:function(r,n){return t(r>n)},$gt:function(r,n){return t(n>r)},$lte:function(r,n){return t(r>=n)},$gte:function(r,n){return t(n>=r)},$exists:function(r,n){return t(r===(null!=n))},$in:function(r,n){if(!(n instanceof Array))return t(~r.indexOf(n));for(var e=n.length;e--;)if(~r.indexOf(n[e]))return e;return-1},$not:function(r,n){if(!r.test)throw new Error("$not test should include an expression, not a value. Use $ne instead.");return t(!r.test(n))},$type:function(r,n,e){return e?t(e instanceof r||e.constructor==r):-1},$nin:function(r,n){return~u.$in(r,n)?-1:0},$mod:function(r,n){return n%r[0]==r[1]?0:-1},$all:function(r,n){n=n||(n=[]);for(var t=r.length;t--;){var e=r[t],o=~n.indexOf(e);if(!o)return-1}return 0},$size:function(r,n){return n?t(r==n.length):-1},$or:function(r,n){for(var o=r.length,i=o;o--;)if(~e(r[o],n))return o;return t(0==i)},$nor:function(r,n){for(var t=r.length;t--;)if(~e(r[t],n))return-1;return 0},$and:function(r,n){for(var t=r.length;t--;)if(!~e(r[t],n))return-1;return 0},$trav:function(r,n){if(n instanceof Array){for(var t=n.length;t--;){var o=n[t];if(o[r.k]&&~e(r,o[r.k]))return t}return-1}return e(r,n?n[r.k]:void 0)},$regex:function(r,n){var t=new RegExp(r);return t.test(n)?0:-1}},f={$eq:function(r){var n;return r instanceof RegExp?r:(n=r instanceof Function?r:function(n){return n instanceof Array?~n.indexOf(r):r==n},{test:n})},$ne:function(r){return f.$eq(r)}},s=function(r,t,e){var o=n(e);return{k:t,v:f[r]?f[r](o):o,e:u[r]}}},t=function(r){if(!r)return function(r){return r};if("function"==typeof r)return r;throw new Error("Unknown sift selector "+r)},e=function(r,t){var e=n.parse(r),o=function(r){for(var n,o,i,u=[],f=0,s=r.length;s>f;f++)o=r[f],n=t(o),~(i=e.priority(n))&&u.push(o);return u};return o.test=e.test,o.score=e.priority,o.query=r,o},o=function(r,n,o){"object"!=typeof n&&(o=n,n=void 0);var i=e(r,t(o));return n?i(n):i};o.use=function(r){r.operators&&o.useOperators(r.operators),"function"==typeof r&&r(o)},o.useOperators=function(r){for(var n in r)o.useOperator(n,r[n])},o.useOperator=function(r,t){var e={};e="object"==typeof t?t:{test:t};var o="$"+r;n.testers[o]=e.test,(e.traversable||e.traverse)&&(n.traversable[o]=!0)},"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=o:"undefined"!=typeof window&&(window.sift=o)}();

Sorry, the diff of this file is not supported yet

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