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.5.6 to 1.0.0

2

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

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

@@ -465,13 +465,5 @@ /*

//the function used to sift through the given array
function self(target) {
return target.filter(filter);
}
filter.query = query;
//set the test function incase the sifter isn't needed
self.test = sifter.test;
self.query = query;
//otherwise return the sifter func
return self;
return filter;
}

@@ -478,0 +470,0 @@

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

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

@@ -24,3 +24,3 @@ var assert = require("assert"),

var people = [{ person: { age: 6 }}],
filtered = sifter(people);
filtered = people.filter(sifter);

@@ -36,3 +36,3 @@

try {
sift({$aaa:1}, 1).test("b");
sift({$aaa:1}, 1)("b");
} catch (e) {

@@ -61,3 +61,3 @@ err = e;

try {
sift({$aaa:1}).test("b");
sift({$aaa:1})("b");
} catch (e) {

@@ -64,0 +64,0 @@ err = e;

@@ -5,3 +5,3 @@ var sift = require(".."),

describe("objects", function () {
describe(__filename + "#", function () {

@@ -200,3 +200,3 @@ var topic = [

it("can be used", function () {
assert.equal(sift({"a.b.c":1}).test(arr[0]), true);
assert.equal(sift({"a.b.c":1})(arr[0]), true);
});

@@ -203,0 +203,0 @@ });

@@ -112,6 +112,5 @@ var assert = require("assert");

it(JSON.stringify(filter), function () {
var sifter = sift(filter);
assert.equal(JSON.stringify(sifter(array)), JSON.stringify(matchArray));
assert.equal(JSON.stringify(array.filter(sift(filter))), JSON.stringify(matchArray));
});
});
});

@@ -48,3 +48,3 @@ var assert = require("assert"),

sift({a:{$baab:1}}).test({a:1});
sift({a:{$baab:1}})({a:1});
assert.equal(i, 1);

@@ -51,0 +51,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