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.4.5 to 0.5.0

2

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

@@ -6,0 +6,0 @@ "engines": {},

@@ -150,6 +150,2 @@ /*

function btop(value) {
return !!value;
}
var _testers = this.testers = {

@@ -349,2 +345,9 @@

return aRE.test(b);
},
/**
*/
$where: function(a, b) {
return a.call(b);
}

@@ -387,3 +390,15 @@ };

return _prepare.$eq(a);
}
},
/**
*/
$where: function(a) {
if (typeof a === "string") {
return new Function("return " + a);
}
return a;
}
};

@@ -390,0 +405,0 @@

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

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

@@ -91,4 +91,8 @@ var expect = require("expect.js");

// $regex
[{$regex:"^a"},["a","ab","abc","bc","bcd"],["a","ab","abc"]]
[{$regex:"^a"},["a","ab","abc","bc","bcd"],["a","ab","abc"]],
// $where
[{$where:function () { return this.v === 1 }}, [{v:1},{v:2}],[{v:1}]],
[{$where:"this.v === 1"}, [{v:1},{v:2}],[{v:1}]]
].forEach(function (operation) {

@@ -95,0 +99,0 @@

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