🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

underscore-query

Package Overview
Dependencies
Maintainers
2
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
3.3.2

2

lib/underscore-query.amd.js

@@ -653,3 +653,3 @@ // AMD Wrapper

if (exports && (typeof module !== "undefined" && module !== null ? module.exports : void 0)) {
if (typeof exports !== "undefined" && (typeof module !== "undefined" && module !== null ? module.exports : void 0)) {
return module.exports = expose;

@@ -656,0 +656,0 @@ } else if (root._) {

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

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

@@ -653,3 +653,3 @@

if (exports && (typeof module !== "undefined" && module !== null ? module.exports : void 0)) {
if (typeof exports !== "undefined" && (typeof module !== "undefined" && module !== null ? module.exports : void 0)) {
return module.exports = expose;

@@ -656,0 +656,0 @@ } else if (root._) {

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

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

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

Sorry, the diff of this file is not supported yet