You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

underscore-query

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

underscore-query - npm Package Compare versions

Comparing version

to
1.3.0

7

lib/underscore-query.amd.js

@@ -185,2 +185,9 @@ // AMD Wrapper

break;
case "$not":
case "$nor":
case "$or":
case "$and":
o.value = parseSubQuery(utils.makeObj(o.key, value));
o.key = null;
break;
case "$computed":

@@ -187,0 +194,0 @@ o = parseParamType(utils.makeObj(key, value));

2

lib/underscore-query.amd.min.js

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

define(function(){var e,t,r,n,u,a,s,i,o,c,l,f,y,h,p,$,d,g,m,v,k,b,w,x,O,q,j=[].slice,E=[].indexOf||function(e){for(var t=0,r=this.length;r>t;t++)if(t in this&&this[t]===e)return t;return-1},A={}.hasOwnProperty;for($=this,w={},b=function(){var e;return e={},["every","some","filter","reduce","map"].forEach(function(t){return e[t]=function(){var e,r;return r=arguments[0],e=2<=arguments.length?j.call(arguments,1):[],r[t].apply(r,e)}}),e.keys=Object.keys,e.isArray=Array.isArray,e.result=function(e,t){return null==e&&(e={}),"Function"===w.getType(e[t])?e[t]():e[t]},e.detect=function(e,t){var r,n,u;for(n=0,u=e.length;u>n;n++)if(r=e[n],t(r))return r},e.reject=function(e,t){var r,n,u,a;for(a=[],n=0,u=e.length;u>n;n++)r=e[n],t(r)||a.push(r);return a},e.intersection=function(e,t){var r,n,u,a;for(a=[],n=0,u=e.length;u>n;n++)r=e[n],-1!==t.indexOf(r)&&a.push(r);return a},e.isEqual=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},e},n=function(e){var t,r,n,u;for(u=["every","some","filter","detect","reject","reduce","intersection","isEqual","keys","isArray","result","map"],r=0,n=u.length;n>r;r++)if(t=u[r],w[t]=e[t],!w[t])throw new Error(""+t+" missing. Please ensure that you first initialize underscore-query with either lodash or underscore")},w.getType=function(e){var t;return t=Object.prototype.toString.call(e).substr(8),t.substr(0,t.length-1)},w.makeObj=function(e,t){var r;return(r={})[e]=t,r},w.reverseString=function(e){return e.toLowerCase().split("").reverse().join("")},w.compoundKeys=["$and","$not","$or","$nor"],w.makeGetter=function(e){return e=e.split("."),function(t){var r,n,u,a;for(n=t,u=0,a=e.length;a>u;u++)r=e[u],n&&(n=w.result(n,r));return n}},o=function(e,t){var r,n,u;u=[];for(r in t)n=t[r],u.push(w.makeObj(e,w.makeObj(r,n)));return u},l=function(e){var t,r,n,u,a,s;switch(t=w.keys(e)[0],u=e[t],r={key:t},(null!=u?u.$boost:void 0)&&(r.boost=u.$boost,delete u.$boost),-1!==t.indexOf(".")&&(r.getter=w.makeGetter(t)),n=w.getType(u)){case"RegExp":case"Date":r.type="$"+n.toLowerCase(),r.value=u;break;case"Object":if(E.call(w.compoundKeys,t)>=0)r.type=t,r.value=y(u),r.key=null;else if(w.keys(u).length>1)r.type="$and",r.value=y(o(t,u)),r.key=null;else for(a in u)if(A.call(u,a)){if(s=u[a],!k(a,s))throw new Error("Query value ("+s+") doesn't match query type: ("+a+")");switch(r.type=a,a){case"$elemMatch":r.value=m(f(s));break;case"$endsWith":r.value=w.reverseString(s);break;case"$likeI":case"$startsWith":r.value=s.toLowerCase();break;case"$computed":r=l(w.makeObj(t,s)),r.getter=w.makeGetter(t);break;default:r.value=s}}break;default:r.type="$equal",r.value=u}return"$equal"!==r.type||"Object"!==n&&"Array"!==n||(r.type="$deepEqual"),r},y=function(e){var t,r,n,u,a,s,i;for(n=w.isArray(e)?e:function(){var r;r=[];for(t in e)A.call(e,t)&&(u=e[t],r.push(w.makeObj(t,u)));return r}(),i=[],a=0,s=n.length;s>a;a++)r=n[a],i.push(l(r));return i},k=function(e,t){var r;switch(r=w.getType(t),e){case"$in":case"$nin":case"$all":case"$any":return"Array"===r;case"$size":return"Number"===r;case"$regex":case"$regexp":return"RegExp"===r;case"$like":case"$likeI":return"String"===r;case"$between":case"$mod":return"Array"===r&&2===t.length;case"$cb":return"Function"===r;default:return!0}},v=function(e,t){var r;switch(r=w.getType(t),e){case"$like":case"$likeI":case"$regex":case"$startsWith":case"$endsWith":return"String"===r;case"$contains":case"$all":case"$any":case"$elemMatch":return"Array"===r;case"$size":return"String"===r||"Array"===r;case"$in":case"$nin":return null!=t;default:return!0}},h=function(e,t,r,n,u){switch(e){case"$equal":return w.isArray(r)?E.call(r,t)>=0:r===t;case"$deepEqual":return w.isEqual(r,t);case"$contains":return E.call(r,t)>=0;case"$ne":return r!==t;case"$lt":return t>r;case"$gt":return r>t;case"$lte":return t>=r;case"$gte":return r>=t;case"$between":return t[0]<r&&r<t[1];case"$betweene":return t[0]<=r&&r<=t[1];case"$in":return E.call(t,r)>=0;case"$nin":return E.call(t,r)<0;case"$all":return w.every(t,function(e){return E.call(r,e)>=0});case"$any":return w.some(r,function(e){return E.call(t,e)>=0});case"$size":return r.length===t;case"$exists":case"$has":return null!=r===t;case"$like":return-1!==r.indexOf(t);case"$likeI":return-1!==r.toLowerCase().indexOf(t);case"$startsWith":return 0===r.toLowerCase().indexOf(t);case"$endsWith":return 0===w.reverseString(r).indexOf(t);case"$type":return typeof r===t;case"$regex":case"$regexp":return t.test(r);case"$cb":return t.call(n,r);case"$mod":return r%t[0]===t[1];case"$elemMatch":return d(r,t,null,!0);case"$and":case"$or":case"$nor":case"$not":return p(e,t,u,n);default:return!1}},m=function(e,t,r){var n,u;if("String"===w.getType(t)&&(n=t,t=function(e,t){return e[n](t)}),r){if(1!==e.length)throw new Error("score operations currently don't work on compound queries");if(u=e[0],"$and"!==u.type)throw new Error("score operations only work on $and queries (not "+u.type);return function(e){return e._score=p(u.type,u.parsedQuery,t,e,!0),e}}return function(n){var a,s;for(a=0,s=e.length;s>a;a++)if(u=e[a],!p(u.type,u.parsedQuery,t,n,r))return!1;return!0}},p=function(e,t,r,n,u){var a,s,i,o,c,l,f,y,p,$;for(i=0,c=0,l=1/t.length,y=0,p=t.length;p>y;y++)switch(o=t[y],a=o.getter?o.getter(n,o.key):r?r(n,o.key):n[o.key],f=v(o.type,a),f&&(f=h(o.type,o.value,a,n,r)),f&&(i++,u&&(s=null!=($=o.boost)?$:1,c+=l*s)),e){case"$and":if(!u&&!f)return!1;break;case"$not":if(f)return!1;break;case"$or":if(f)return!0;break;case"$nor":if(f)return!1;break;default:throw new Error("Invalid compound method")}return u?c:"$not"===e?0===i:"$or"!==e},f=function(e){var t,r,n,u,a;if(n=w.keys(e),!n.length)return[];if(t=w.intersection(w.compoundKeys,n),0===t.length)return[{type:"$and",parsedQuery:y(e)}];if(t.length!==n.length){E.call(t,"$and")<0&&(e.$and={},t.unshift("$and"));for(r in e)A.call(e,r)&&(a=e[r],E.call(w.compoundKeys,r)<0&&(e.$and[r]=a,delete e[r]))}return function(){var r,n,a;for(a=[],r=0,n=t.length;n>r;r++)u=t[r],a.push({type:u,parsedQuery:y(e[u])});return a}()},c=function(e){var t;return"String"===w.getType(e)&&(t=e,e=function(e,r){return e[t](r)}),e},e=function(){function e(e,t){this.items=e,this._getter=t,this.theQuery={}}return e.prototype.all=function(e,t){return e&&(this.items=e),e=this.indexes?this.getIndexedItems(this.items):this.items,d(e,this.theQuery,this._getter,t)},e.prototype.chain=function(){return _.chain(this.all.apply(this,arguments))},e.prototype.tester=function(){return i(this.theQuery,this._getter)},e.prototype.first=function(e){return this.all(e,!0)},e.prototype.getter=function(e){return this._getter=e,this},e}(),t=function(e){return function(t,r){var n;return r&&(t=w.makeObj(t,r)),null==(n=this.theQuery)[e]&&(n[e]=[]),this.theQuery[e].push(t),this}},q=w.compoundKeys,x=0,O=q.length;O>x;x++)s=q[x],e.prototype[s.substr(1)]=t(s);return e.prototype.find=e.prototype.query=e.prototype.run=e.prototype.all,r=function(t,r){return new e(t,r)},i=function(e,t){return m(f(e),c(t))},a=function(e,t,r){return d(e,t,r,!0)},d=function(e,t,n,u,a){var s;return arguments.length<2?r.apply(this,arguments):(n&&(n=c(n)),"Function"!==w.getType(t)&&(t=m(f(t),n,a)),(s=a?w.map:u?w.detect:w.filter)(e,t))},g=function(e,t,r){return d(e,t,r,!1,!0)},d.build=r,d.parse=f,d.findOne=d.first=a,d.score=g,d.tester=d.testWith=i,d.getter=d.pluckWith=w.makeGetter,u=function(e,t){return null==t&&(t=!0),e||(e=b(),t=!1),n(e),t&&e.mixin({query:d,q:d}),d},$._?u($._):exports&&("undefined"!=typeof module&&null!==module?module.exports:void 0)?module.exports=u:u});
define(function(){var e,r,t,n,u,a,s,i,o,c,l,f,y,h,p,$,d,g,m,k,v,b,w,O,x,q,j=[].slice,E=[].indexOf||function(e){for(var r=0,t=this.length;t>r;r++)if(r in this&&this[r]===e)return r;return-1},A={}.hasOwnProperty;for($=this,w={},b=function(){var e;return e={},["every","some","filter","reduce","map"].forEach(function(r){return e[r]=function(){var e,t;return t=arguments[0],e=2<=arguments.length?j.call(arguments,1):[],t[r].apply(t,e)}}),e.keys=Object.keys,e.isArray=Array.isArray,e.result=function(e,r){return null==e&&(e={}),"Function"===w.getType(e[r])?e[r]():e[r]},e.detect=function(e,r){var t,n,u;for(n=0,u=e.length;u>n;n++)if(t=e[n],r(t))return t},e.reject=function(e,r){var t,n,u,a;for(a=[],n=0,u=e.length;u>n;n++)t=e[n],r(t)||a.push(t);return a},e.intersection=function(e,r){var t,n,u,a;for(a=[],n=0,u=e.length;u>n;n++)t=e[n],-1!==r.indexOf(t)&&a.push(t);return a},e.isEqual=function(e,r){return JSON.stringify(e)===JSON.stringify(r)},e},n=function(e){var r,t,n,u;for(u=["every","some","filter","detect","reject","reduce","intersection","isEqual","keys","isArray","result","map"],t=0,n=u.length;n>t;t++)if(r=u[t],w[r]=e[r],!w[r])throw new Error(""+r+" missing. Please ensure that you first initialize underscore-query with either lodash or underscore")},w.getType=function(e){var r;return r=Object.prototype.toString.call(e).substr(8),r.substr(0,r.length-1)},w.makeObj=function(e,r){var t;return(t={})[e]=r,t},w.reverseString=function(e){return e.toLowerCase().split("").reverse().join("")},w.compoundKeys=["$and","$not","$or","$nor"],w.makeGetter=function(e){return e=e.split("."),function(r){var t,n,u,a;for(n=r,u=0,a=e.length;a>u;u++)t=e[u],n&&(n=w.result(n,t));return n}},o=function(e,r){var t,n,u;u=[];for(t in r)n=r[t],u.push(w.makeObj(e,w.makeObj(t,n)));return u},l=function(e){var r,t,n,u,a,s;switch(r=w.keys(e)[0],u=e[r],t={key:r},(null!=u?u.$boost:void 0)&&(t.boost=u.$boost,delete u.$boost),-1!==r.indexOf(".")&&(t.getter=w.makeGetter(r)),n=w.getType(u)){case"RegExp":case"Date":t.type="$"+n.toLowerCase(),t.value=u;break;case"Object":if(E.call(w.compoundKeys,r)>=0)t.type=r,t.value=y(u),t.key=null;else if(w.keys(u).length>1)t.type="$and",t.value=y(o(r,u)),t.key=null;else for(a in u)if(A.call(u,a)){if(s=u[a],!v(a,s))throw new Error("Query value ("+s+") doesn't match query type: ("+a+")");switch(t.type=a,a){case"$elemMatch":t.value=m(f(s));break;case"$endsWith":t.value=w.reverseString(s);break;case"$likeI":case"$startsWith":t.value=s.toLowerCase();break;case"$not":case"$nor":case"$or":case"$and":t.value=y(w.makeObj(t.key,s)),t.key=null;break;case"$computed":t=l(w.makeObj(r,s)),t.getter=w.makeGetter(r);break;default:t.value=s}}break;default:t.type="$equal",t.value=u}return"$equal"!==t.type||"Object"!==n&&"Array"!==n||(t.type="$deepEqual"),t},y=function(e){var r,t,n,u,a,s,i;for(n=w.isArray(e)?e:function(){var t;t=[];for(r in e)A.call(e,r)&&(u=e[r],t.push(w.makeObj(r,u)));return t}(),i=[],a=0,s=n.length;s>a;a++)t=n[a],i.push(l(t));return i},v=function(e,r){var t;switch(t=w.getType(r),e){case"$in":case"$nin":case"$all":case"$any":return"Array"===t;case"$size":return"Number"===t;case"$regex":case"$regexp":return"RegExp"===t;case"$like":case"$likeI":return"String"===t;case"$between":case"$mod":return"Array"===t&&2===r.length;case"$cb":return"Function"===t;default:return!0}},k=function(e,r){var t;switch(t=w.getType(r),e){case"$like":case"$likeI":case"$regex":case"$startsWith":case"$endsWith":return"String"===t;case"$contains":case"$all":case"$any":case"$elemMatch":return"Array"===t;case"$size":return"String"===t||"Array"===t;case"$in":case"$nin":return null!=r;default:return!0}},h=function(e,r,t,n,u){switch(e){case"$equal":return w.isArray(t)?E.call(t,r)>=0:t===r;case"$deepEqual":return w.isEqual(t,r);case"$contains":return E.call(t,r)>=0;case"$ne":return t!==r;case"$lt":return r>t;case"$gt":return t>r;case"$lte":return r>=t;case"$gte":return t>=r;case"$between":return r[0]<t&&t<r[1];case"$betweene":return r[0]<=t&&t<=r[1];case"$in":return E.call(r,t)>=0;case"$nin":return E.call(r,t)<0;case"$all":return w.every(r,function(e){return E.call(t,e)>=0});case"$any":return w.some(t,function(e){return E.call(r,e)>=0});case"$size":return t.length===r;case"$exists":case"$has":return null!=t===r;case"$like":return-1!==t.indexOf(r);case"$likeI":return-1!==t.toLowerCase().indexOf(r);case"$startsWith":return 0===t.toLowerCase().indexOf(r);case"$endsWith":return 0===w.reverseString(t).indexOf(r);case"$type":return typeof t===r;case"$regex":case"$regexp":return r.test(t);case"$cb":return r.call(n,t);case"$mod":return t%r[0]===r[1];case"$elemMatch":return d(t,r,null,!0);case"$and":case"$or":case"$nor":case"$not":return p(e,r,u,n);default:return!1}},m=function(e,r,t){var n,u;if("String"===w.getType(r)&&(n=r,r=function(e,r){return e[n](r)}),t){if(1!==e.length)throw new Error("score operations currently don't work on compound queries");if(u=e[0],"$and"!==u.type)throw new Error("score operations only work on $and queries (not "+u.type);return function(e){return e._score=p(u.type,u.parsedQuery,r,e,!0),e}}return function(n){var a,s;for(a=0,s=e.length;s>a;a++)if(u=e[a],!p(u.type,u.parsedQuery,r,n,t))return!1;return!0}},p=function(e,r,t,n,u){var a,s,i,o,c,l,f,y,p,$;for(i=0,c=0,l=1/r.length,y=0,p=r.length;p>y;y++)switch(o=r[y],a=o.getter?o.getter(n,o.key):t?t(n,o.key):n[o.key],f=k(o.type,a),f&&(f=h(o.type,o.value,a,n,t)),f&&(i++,u&&(s=null!=($=o.boost)?$:1,c+=l*s)),e){case"$and":if(!u&&!f)return!1;break;case"$not":if(f)return!1;break;case"$or":if(f)return!0;break;case"$nor":if(f)return!1;break;default:throw new Error("Invalid compound method")}return u?c:"$not"===e?0===i:"$or"!==e},f=function(e){var r,t,n,u,a;if(n=w.keys(e),!n.length)return[];if(r=w.intersection(w.compoundKeys,n),0===r.length)return[{type:"$and",parsedQuery:y(e)}];if(r.length!==n.length){E.call(r,"$and")<0&&(e.$and={},r.unshift("$and"));for(t in e)A.call(e,t)&&(a=e[t],E.call(w.compoundKeys,t)<0&&(e.$and[t]=a,delete e[t]))}return function(){var t,n,a;for(a=[],t=0,n=r.length;n>t;t++)u=r[t],a.push({type:u,parsedQuery:y(e[u])});return a}()},c=function(e){var r;return"String"===w.getType(e)&&(r=e,e=function(e,t){return e[r](t)}),e},e=function(){function e(e,r){this.items=e,this._getter=r,this.theQuery={}}return e.prototype.all=function(e,r){return e&&(this.items=e),e=this.indexes?this.getIndexedItems(this.items):this.items,d(e,this.theQuery,this._getter,r)},e.prototype.chain=function(){return _.chain(this.all.apply(this,arguments))},e.prototype.tester=function(){return i(this.theQuery,this._getter)},e.prototype.first=function(e){return this.all(e,!0)},e.prototype.getter=function(e){return this._getter=e,this},e}(),r=function(e){return function(r,t){var n;return t&&(r=w.makeObj(r,t)),null==(n=this.theQuery)[e]&&(n[e]=[]),this.theQuery[e].push(r),this}},q=w.compoundKeys,O=0,x=q.length;x>O;O++)s=q[O],e.prototype[s.substr(1)]=r(s);return e.prototype.find=e.prototype.query=e.prototype.run=e.prototype.all,t=function(r,t){return new e(r,t)},i=function(e,r){return m(f(e),c(r))},a=function(e,r,t){return d(e,r,t,!0)},d=function(e,r,n,u,a){var s;return arguments.length<2?t.apply(this,arguments):(n&&(n=c(n)),"Function"!==w.getType(r)&&(r=m(f(r),n,a)),(s=a?w.map:u?w.detect:w.filter)(e,r))},g=function(e,r,t){return d(e,r,t,!1,!0)},d.build=t,d.parse=f,d.findOne=d.first=a,d.score=g,d.tester=d.testWith=i,d.getter=d.pluckWith=w.makeGetter,u=function(e,r){return null==r&&(r=!0),e||(e=b(),r=!1),n(e),r&&e.mixin({query:d,q:d}),d},$._?u($._):exports&&("undefined"!=typeof module&&null!==module?module.exports:void 0)?module.exports=u:u});

@@ -185,2 +185,9 @@

break;
case "$not":
case "$nor":
case "$or":
case "$and":
o.value = parseSubQuery(utils.makeObj(o.key, value));
o.key = null;
break;
case "$computed":

@@ -187,0 +194,0 @@ o = parseParamType(utils.makeObj(key, value));

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

(function(){var e,t,r,n,u,a,s,i,o,c,l,f,h,y,p,$,d,g,m,v,k,b,w,x,O,q,j=[].slice,E=[].indexOf||function(e){for(var t=0,r=this.length;r>t;t++)if(t in this&&this[t]===e)return t;return-1},A={}.hasOwnProperty;for($=this,w={},b=function(){var e;return e={},["every","some","filter","reduce","map"].forEach(function(t){return e[t]=function(){var e,r;return r=arguments[0],e=2<=arguments.length?j.call(arguments,1):[],r[t].apply(r,e)}}),e.keys=Object.keys,e.isArray=Array.isArray,e.result=function(e,t){return null==e&&(e={}),"Function"===w.getType(e[t])?e[t]():e[t]},e.detect=function(e,t){var r,n,u;for(n=0,u=e.length;u>n;n++)if(r=e[n],t(r))return r},e.reject=function(e,t){var r,n,u,a;for(a=[],n=0,u=e.length;u>n;n++)r=e[n],t(r)||a.push(r);return a},e.intersection=function(e,t){var r,n,u,a;for(a=[],n=0,u=e.length;u>n;n++)r=e[n],-1!==t.indexOf(r)&&a.push(r);return a},e.isEqual=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},e},n=function(e){var t,r,n,u;for(u=["every","some","filter","detect","reject","reduce","intersection","isEqual","keys","isArray","result","map"],r=0,n=u.length;n>r;r++)if(t=u[r],w[t]=e[t],!w[t])throw new Error(""+t+" missing. Please ensure that you first initialize underscore-query with either lodash or underscore")},w.getType=function(e){var t;return t=Object.prototype.toString.call(e).substr(8),t.substr(0,t.length-1)},w.makeObj=function(e,t){var r;return(r={})[e]=t,r},w.reverseString=function(e){return e.toLowerCase().split("").reverse().join("")},w.compoundKeys=["$and","$not","$or","$nor"],w.makeGetter=function(e){return e=e.split("."),function(t){var r,n,u,a;for(n=t,u=0,a=e.length;a>u;u++)r=e[u],n&&(n=w.result(n,r));return n}},o=function(e,t){var r,n,u;u=[];for(r in t)n=t[r],u.push(w.makeObj(e,w.makeObj(r,n)));return u},l=function(e){var t,r,n,u,a,s;switch(t=w.keys(e)[0],u=e[t],r={key:t},(null!=u?u.$boost:void 0)&&(r.boost=u.$boost,delete u.$boost),-1!==t.indexOf(".")&&(r.getter=w.makeGetter(t)),n=w.getType(u)){case"RegExp":case"Date":r.type="$"+n.toLowerCase(),r.value=u;break;case"Object":if(E.call(w.compoundKeys,t)>=0)r.type=t,r.value=h(u),r.key=null;else if(w.keys(u).length>1)r.type="$and",r.value=h(o(t,u)),r.key=null;else for(a in u)if(A.call(u,a)){if(s=u[a],!k(a,s))throw new Error("Query value ("+s+") doesn't match query type: ("+a+")");switch(r.type=a,a){case"$elemMatch":r.value=m(f(s));break;case"$endsWith":r.value=w.reverseString(s);break;case"$likeI":case"$startsWith":r.value=s.toLowerCase();break;case"$computed":r=l(w.makeObj(t,s)),r.getter=w.makeGetter(t);break;default:r.value=s}}break;default:r.type="$equal",r.value=u}return"$equal"!==r.type||"Object"!==n&&"Array"!==n||(r.type="$deepEqual"),r},h=function(e){var t,r,n,u,a,s,i;for(n=w.isArray(e)?e:function(){var r;r=[];for(t in e)A.call(e,t)&&(u=e[t],r.push(w.makeObj(t,u)));return r}(),i=[],a=0,s=n.length;s>a;a++)r=n[a],i.push(l(r));return i},k=function(e,t){var r;switch(r=w.getType(t),e){case"$in":case"$nin":case"$all":case"$any":return"Array"===r;case"$size":return"Number"===r;case"$regex":case"$regexp":return"RegExp"===r;case"$like":case"$likeI":return"String"===r;case"$between":case"$mod":return"Array"===r&&2===t.length;case"$cb":return"Function"===r;default:return!0}},v=function(e,t){var r;switch(r=w.getType(t),e){case"$like":case"$likeI":case"$regex":case"$startsWith":case"$endsWith":return"String"===r;case"$contains":case"$all":case"$any":case"$elemMatch":return"Array"===r;case"$size":return"String"===r||"Array"===r;case"$in":case"$nin":return null!=t;default:return!0}},y=function(e,t,r,n,u){switch(e){case"$equal":return w.isArray(r)?E.call(r,t)>=0:r===t;case"$deepEqual":return w.isEqual(r,t);case"$contains":return E.call(r,t)>=0;case"$ne":return r!==t;case"$lt":return t>r;case"$gt":return r>t;case"$lte":return t>=r;case"$gte":return r>=t;case"$between":return t[0]<r&&r<t[1];case"$betweene":return t[0]<=r&&r<=t[1];case"$in":return E.call(t,r)>=0;case"$nin":return E.call(t,r)<0;case"$all":return w.every(t,function(e){return E.call(r,e)>=0});case"$any":return w.some(r,function(e){return E.call(t,e)>=0});case"$size":return r.length===t;case"$exists":case"$has":return null!=r===t;case"$like":return-1!==r.indexOf(t);case"$likeI":return-1!==r.toLowerCase().indexOf(t);case"$startsWith":return 0===r.toLowerCase().indexOf(t);case"$endsWith":return 0===w.reverseString(r).indexOf(t);case"$type":return typeof r===t;case"$regex":case"$regexp":return t.test(r);case"$cb":return t.call(n,r);case"$mod":return r%t[0]===t[1];case"$elemMatch":return d(r,t,null,!0);case"$and":case"$or":case"$nor":case"$not":return p(e,t,u,n);default:return!1}},m=function(e,t,r){var n,u;if("String"===w.getType(t)&&(n=t,t=function(e,t){return e[n](t)}),r){if(1!==e.length)throw new Error("score operations currently don't work on compound queries");if(u=e[0],"$and"!==u.type)throw new Error("score operations only work on $and queries (not "+u.type);return function(e){return e._score=p(u.type,u.parsedQuery,t,e,!0),e}}return function(n){var a,s;for(a=0,s=e.length;s>a;a++)if(u=e[a],!p(u.type,u.parsedQuery,t,n,r))return!1;return!0}},p=function(e,t,r,n,u){var a,s,i,o,c,l,f,h,p,$;for(i=0,c=0,l=1/t.length,h=0,p=t.length;p>h;h++)switch(o=t[h],a=o.getter?o.getter(n,o.key):r?r(n,o.key):n[o.key],f=v(o.type,a),f&&(f=y(o.type,o.value,a,n,r)),f&&(i++,u&&(s=null!=($=o.boost)?$:1,c+=l*s)),e){case"$and":if(!u&&!f)return!1;break;case"$not":if(f)return!1;break;case"$or":if(f)return!0;break;case"$nor":if(f)return!1;break;default:throw new Error("Invalid compound method")}return u?c:"$not"===e?0===i:"$or"!==e},f=function(e){var t,r,n,u,a;if(n=w.keys(e),!n.length)return[];if(t=w.intersection(w.compoundKeys,n),0===t.length)return[{type:"$and",parsedQuery:h(e)}];if(t.length!==n.length){E.call(t,"$and")<0&&(e.$and={},t.unshift("$and"));for(r in e)A.call(e,r)&&(a=e[r],E.call(w.compoundKeys,r)<0&&(e.$and[r]=a,delete e[r]))}return function(){var r,n,a;for(a=[],r=0,n=t.length;n>r;r++)u=t[r],a.push({type:u,parsedQuery:h(e[u])});return a}()},c=function(e){var t;return"String"===w.getType(e)&&(t=e,e=function(e,r){return e[t](r)}),e},e=function(){function e(e,t){this.items=e,this._getter=t,this.theQuery={}}return e.prototype.all=function(e,t){return e&&(this.items=e),e=this.indexes?this.getIndexedItems(this.items):this.items,d(e,this.theQuery,this._getter,t)},e.prototype.chain=function(){return _.chain(this.all.apply(this,arguments))},e.prototype.tester=function(){return i(this.theQuery,this._getter)},e.prototype.first=function(e){return this.all(e,!0)},e.prototype.getter=function(e){return this._getter=e,this},e}(),t=function(e){return function(t,r){var n;return r&&(t=w.makeObj(t,r)),null==(n=this.theQuery)[e]&&(n[e]=[]),this.theQuery[e].push(t),this}},q=w.compoundKeys,x=0,O=q.length;O>x;x++)s=q[x],e.prototype[s.substr(1)]=t(s);return e.prototype.find=e.prototype.query=e.prototype.run=e.prototype.all,r=function(t,r){return new e(t,r)},i=function(e,t){return m(f(e),c(t))},a=function(e,t,r){return d(e,t,r,!0)},d=function(e,t,n,u,a){var s;return arguments.length<2?r.apply(this,arguments):(n&&(n=c(n)),"Function"!==w.getType(t)&&(t=m(f(t),n,a)),(s=a?w.map:u?w.detect:w.filter)(e,t))},g=function(e,t,r){return d(e,t,r,!1,!0)},d.build=r,d.parse=f,d.findOne=d.first=a,d.score=g,d.tester=d.testWith=i,d.getter=d.pluckWith=w.makeGetter,u=function(e,t){return null==t&&(t=!0),e||(e=b(),t=!1),n(e),t&&e.mixin({query:d,q:d}),d},$._?u($._):exports&&("undefined"!=typeof module&&null!==module?module.exports:void 0)?module.exports=u:u}).call(this);
(function(){var e,t,r,n,u,a,s,i,o,c,l,f,y,h,p,$,d,g,m,k,v,b,w,O,x,q,j=[].slice,E=[].indexOf||function(e){for(var t=0,r=this.length;r>t;t++)if(t in this&&this[t]===e)return t;return-1},A={}.hasOwnProperty;for($=this,w={},b=function(){var e;return e={},["every","some","filter","reduce","map"].forEach(function(t){return e[t]=function(){var e,r;return r=arguments[0],e=2<=arguments.length?j.call(arguments,1):[],r[t].apply(r,e)}}),e.keys=Object.keys,e.isArray=Array.isArray,e.result=function(e,t){return null==e&&(e={}),"Function"===w.getType(e[t])?e[t]():e[t]},e.detect=function(e,t){var r,n,u;for(n=0,u=e.length;u>n;n++)if(r=e[n],t(r))return r},e.reject=function(e,t){var r,n,u,a;for(a=[],n=0,u=e.length;u>n;n++)r=e[n],t(r)||a.push(r);return a},e.intersection=function(e,t){var r,n,u,a;for(a=[],n=0,u=e.length;u>n;n++)r=e[n],-1!==t.indexOf(r)&&a.push(r);return a},e.isEqual=function(e,t){return JSON.stringify(e)===JSON.stringify(t)},e},n=function(e){var t,r,n,u;for(u=["every","some","filter","detect","reject","reduce","intersection","isEqual","keys","isArray","result","map"],r=0,n=u.length;n>r;r++)if(t=u[r],w[t]=e[t],!w[t])throw new Error(""+t+" missing. Please ensure that you first initialize underscore-query with either lodash or underscore")},w.getType=function(e){var t;return t=Object.prototype.toString.call(e).substr(8),t.substr(0,t.length-1)},w.makeObj=function(e,t){var r;return(r={})[e]=t,r},w.reverseString=function(e){return e.toLowerCase().split("").reverse().join("")},w.compoundKeys=["$and","$not","$or","$nor"],w.makeGetter=function(e){return e=e.split("."),function(t){var r,n,u,a;for(n=t,u=0,a=e.length;a>u;u++)r=e[u],n&&(n=w.result(n,r));return n}},o=function(e,t){var r,n,u;u=[];for(r in t)n=t[r],u.push(w.makeObj(e,w.makeObj(r,n)));return u},l=function(e){var t,r,n,u,a,s;switch(t=w.keys(e)[0],u=e[t],r={key:t},(null!=u?u.$boost:void 0)&&(r.boost=u.$boost,delete u.$boost),-1!==t.indexOf(".")&&(r.getter=w.makeGetter(t)),n=w.getType(u)){case"RegExp":case"Date":r.type="$"+n.toLowerCase(),r.value=u;break;case"Object":if(E.call(w.compoundKeys,t)>=0)r.type=t,r.value=y(u),r.key=null;else if(w.keys(u).length>1)r.type="$and",r.value=y(o(t,u)),r.key=null;else for(a in u)if(A.call(u,a)){if(s=u[a],!v(a,s))throw new Error("Query value ("+s+") doesn't match query type: ("+a+")");switch(r.type=a,a){case"$elemMatch":r.value=m(f(s));break;case"$endsWith":r.value=w.reverseString(s);break;case"$likeI":case"$startsWith":r.value=s.toLowerCase();break;case"$not":case"$nor":case"$or":case"$and":r.value=y(w.makeObj(r.key,s)),r.key=null;break;case"$computed":r=l(w.makeObj(t,s)),r.getter=w.makeGetter(t);break;default:r.value=s}}break;default:r.type="$equal",r.value=u}return"$equal"!==r.type||"Object"!==n&&"Array"!==n||(r.type="$deepEqual"),r},y=function(e){var t,r,n,u,a,s,i;for(n=w.isArray(e)?e:function(){var r;r=[];for(t in e)A.call(e,t)&&(u=e[t],r.push(w.makeObj(t,u)));return r}(),i=[],a=0,s=n.length;s>a;a++)r=n[a],i.push(l(r));return i},v=function(e,t){var r;switch(r=w.getType(t),e){case"$in":case"$nin":case"$all":case"$any":return"Array"===r;case"$size":return"Number"===r;case"$regex":case"$regexp":return"RegExp"===r;case"$like":case"$likeI":return"String"===r;case"$between":case"$mod":return"Array"===r&&2===t.length;case"$cb":return"Function"===r;default:return!0}},k=function(e,t){var r;switch(r=w.getType(t),e){case"$like":case"$likeI":case"$regex":case"$startsWith":case"$endsWith":return"String"===r;case"$contains":case"$all":case"$any":case"$elemMatch":return"Array"===r;case"$size":return"String"===r||"Array"===r;case"$in":case"$nin":return null!=t;default:return!0}},h=function(e,t,r,n,u){switch(e){case"$equal":return w.isArray(r)?E.call(r,t)>=0:r===t;case"$deepEqual":return w.isEqual(r,t);case"$contains":return E.call(r,t)>=0;case"$ne":return r!==t;case"$lt":return t>r;case"$gt":return r>t;case"$lte":return t>=r;case"$gte":return r>=t;case"$between":return t[0]<r&&r<t[1];case"$betweene":return t[0]<=r&&r<=t[1];case"$in":return E.call(t,r)>=0;case"$nin":return E.call(t,r)<0;case"$all":return w.every(t,function(e){return E.call(r,e)>=0});case"$any":return w.some(r,function(e){return E.call(t,e)>=0});case"$size":return r.length===t;case"$exists":case"$has":return null!=r===t;case"$like":return-1!==r.indexOf(t);case"$likeI":return-1!==r.toLowerCase().indexOf(t);case"$startsWith":return 0===r.toLowerCase().indexOf(t);case"$endsWith":return 0===w.reverseString(r).indexOf(t);case"$type":return typeof r===t;case"$regex":case"$regexp":return t.test(r);case"$cb":return t.call(n,r);case"$mod":return r%t[0]===t[1];case"$elemMatch":return d(r,t,null,!0);case"$and":case"$or":case"$nor":case"$not":return p(e,t,u,n);default:return!1}},m=function(e,t,r){var n,u;if("String"===w.getType(t)&&(n=t,t=function(e,t){return e[n](t)}),r){if(1!==e.length)throw new Error("score operations currently don't work on compound queries");if(u=e[0],"$and"!==u.type)throw new Error("score operations only work on $and queries (not "+u.type);return function(e){return e._score=p(u.type,u.parsedQuery,t,e,!0),e}}return function(n){var a,s;for(a=0,s=e.length;s>a;a++)if(u=e[a],!p(u.type,u.parsedQuery,t,n,r))return!1;return!0}},p=function(e,t,r,n,u){var a,s,i,o,c,l,f,y,p,$;for(i=0,c=0,l=1/t.length,y=0,p=t.length;p>y;y++)switch(o=t[y],a=o.getter?o.getter(n,o.key):r?r(n,o.key):n[o.key],f=k(o.type,a),f&&(f=h(o.type,o.value,a,n,r)),f&&(i++,u&&(s=null!=($=o.boost)?$:1,c+=l*s)),e){case"$and":if(!u&&!f)return!1;break;case"$not":if(f)return!1;break;case"$or":if(f)return!0;break;case"$nor":if(f)return!1;break;default:throw new Error("Invalid compound method")}return u?c:"$not"===e?0===i:"$or"!==e},f=function(e){var t,r,n,u,a;if(n=w.keys(e),!n.length)return[];if(t=w.intersection(w.compoundKeys,n),0===t.length)return[{type:"$and",parsedQuery:y(e)}];if(t.length!==n.length){E.call(t,"$and")<0&&(e.$and={},t.unshift("$and"));for(r in e)A.call(e,r)&&(a=e[r],E.call(w.compoundKeys,r)<0&&(e.$and[r]=a,delete e[r]))}return function(){var r,n,a;for(a=[],r=0,n=t.length;n>r;r++)u=t[r],a.push({type:u,parsedQuery:y(e[u])});return a}()},c=function(e){var t;return"String"===w.getType(e)&&(t=e,e=function(e,r){return e[t](r)}),e},e=function(){function e(e,t){this.items=e,this._getter=t,this.theQuery={}}return e.prototype.all=function(e,t){return e&&(this.items=e),e=this.indexes?this.getIndexedItems(this.items):this.items,d(e,this.theQuery,this._getter,t)},e.prototype.chain=function(){return _.chain(this.all.apply(this,arguments))},e.prototype.tester=function(){return i(this.theQuery,this._getter)},e.prototype.first=function(e){return this.all(e,!0)},e.prototype.getter=function(e){return this._getter=e,this},e}(),t=function(e){return function(t,r){var n;return r&&(t=w.makeObj(t,r)),null==(n=this.theQuery)[e]&&(n[e]=[]),this.theQuery[e].push(t),this}},q=w.compoundKeys,O=0,x=q.length;x>O;O++)s=q[O],e.prototype[s.substr(1)]=t(s);return e.prototype.find=e.prototype.query=e.prototype.run=e.prototype.all,r=function(t,r){return new e(t,r)},i=function(e,t){return m(f(e),c(t))},a=function(e,t,r){return d(e,t,r,!0)},d=function(e,t,n,u,a){var s;return arguments.length<2?r.apply(this,arguments):(n&&(n=c(n)),"Function"!==w.getType(t)&&(t=m(f(t),n,a)),(s=a?w.map:u?w.detect:w.filter)(e,t))},g=function(e,t,r){return d(e,t,r,!1,!0)},d.build=r,d.parse=f,d.findOne=d.first=a,d.score=g,d.tester=d.testWith=i,d.getter=d.pluckWith=w.makeGetter,u=function(e,t){return null==t&&(t=!0),e||(e=b(),t=!1),n(e),t&&e.mixin({query:d,q:d}),d},$._?u($._):exports&&("undefined"!=typeof module&&null!==module?module.exports:void 0)?module.exports=u:u}).call(this);
{
"name": "underscore-query",
"description": "Lightweight Query API library for Underscore, Lodash or ES5",
"version": "1.2.1",
"version": "1.3.0",
"author": "Dave Tonge <dave@simplecreativity.co.uk> (https://github.com/davidgtonge)",

@@ -6,0 +6,0 @@ "tags": [

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet