Comparing version 9.0.6 to 9.0.7
{ | ||
"name": "sift", | ||
"description": "mongodb query style array filtering", | ||
"version": "9.0.6", | ||
"version": "9.0.7", | ||
"repository": "crcn/sift.js", | ||
@@ -22,5 +22,6 @@ "author": { | ||
"@babel/cli": "^7.7.5", | ||
"@babel/core": "^7.7.5", | ||
"@babel/preset-env": "^7.7.6", | ||
"@babel/core": "^7.7.7", | ||
"@babel/preset-env": "^7.7.7", | ||
"@babel/register": "^7.7.4", | ||
"babel-loader": "^8.0.6", | ||
"bson": "^3.0.2", | ||
@@ -33,3 +34,3 @@ "eval": "^0.1.3", | ||
"pretty-quick": "^1.8.0", | ||
"webpack": "^4.41.2", | ||
"webpack": "^4.41.5", | ||
"webpack-cli": "^3.1.2", | ||
@@ -39,9 +40,9 @@ "yargs": "^3.15.0" | ||
"main": "./lib/index.js", | ||
"module": "./src/index.js", | ||
"es2015": "./src/index.js", | ||
"module": "./lib/index.js", | ||
"es2015": "./lib/index.js", | ||
"scripts": { | ||
"build": "mkdir -p lib; babel src/index.js > lib/index.js", | ||
"build.min": "webpack", | ||
"build.csp": "CSP_ENABLED=1 webpack", | ||
"postbuild": "npm run build.min && npm run build.csp", | ||
"build": "npm run build:lib && npm run build:min && npm run build:csp", | ||
"build:lib": "mkdir -p lib; babel src/index.js > lib/index.js", | ||
"build:min": "webpack", | ||
"build:csp": "CSP_ENABLED=1 webpack", | ||
"build:watch": "mkdir -p lib; babel --watch src/index.js --out-file=lib/index.js", | ||
@@ -48,0 +49,0 @@ "test": "mocha ./test -R spec --compilers js:@babel/register" |
@@ -72,2 +72,17 @@ !(function(n, t) { | ||
function e(n) { | ||
return (e = | ||
"function" == typeof Symbol && "symbol" == typeof Symbol.iterator | ||
? function(n) { | ||
return typeof n; | ||
} | ||
: function(n) { | ||
return n && | ||
"function" == typeof Symbol && | ||
n.constructor === Symbol && | ||
n !== Symbol.prototype | ||
? "symbol" | ||
: typeof n; | ||
})(n); | ||
} | ||
function o(n) { | ||
var t = "[object " + n + "]"; | ||
@@ -80,55 +95,55 @@ return function(n) { | ||
r.d(t, "default", function() { | ||
return y; | ||
return m; | ||
}), | ||
r.d(t, "compare", function() { | ||
return m; | ||
return j; | ||
}), | ||
r.d(t, "comparable", function() { | ||
return j; | ||
return O; | ||
}); | ||
var o = e("Array"), | ||
u = e("Object"), | ||
i = e("Function"); | ||
function f(n, t) { | ||
return i(n.get) ? n.get(t) : n[t]; | ||
var u = o("Array"), | ||
i = o("Object"), | ||
f = o("Function"); | ||
function c(n, t) { | ||
return f(n.get) ? n.get(t) : n[t]; | ||
} | ||
function c(n) { | ||
function a(n) { | ||
return function(t, r) { | ||
if (!o(r) || !r.length) return n(t, r); | ||
for (var e = 0, u = r.length; e < u; e++) | ||
if (n(t, f(r, e))) return !0; | ||
if (!u(r) || !r.length) return n(t, r); | ||
for (var e = 0, o = r.length; e < o; e++) | ||
if (n(t, c(r, e))) return !0; | ||
return !1; | ||
}; | ||
} | ||
function a(n) { | ||
function l(n) { | ||
return function(t, r) { | ||
if (!o(r) || !r.length) return n(t, r); | ||
for (var e = 0, u = r.length; e < u; e++) | ||
if (!n(t, f(r, e))) return !1; | ||
if (!u(r) || !r.length) return n(t, r); | ||
for (var e = 0, o = r.length; e < o; e++) | ||
if (!n(t, c(r, e))) return !1; | ||
return !0; | ||
}; | ||
} | ||
function l(n, t, r, e) { | ||
function p(n, t, r, e) { | ||
return n.validate(n.options, t, r, e); | ||
} | ||
var p = { | ||
$eq: c(function(n, t) { | ||
var s = { | ||
$eq: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$ne: a(function(n, t) { | ||
$ne: l(function(n, t) { | ||
return n(t); | ||
}), | ||
$gt: c(function(n, t) { | ||
$gt: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$gte: c(function(n, t) { | ||
$gte: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$lt: c(function(n, t) { | ||
$lt: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$lte: c(function(n, t) { | ||
$lte: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$mod: c(function(n, t) { | ||
$mod: a(function(n, t) { | ||
return n(t); | ||
@@ -149,3 +164,3 @@ }), | ||
$all: function(n, t, r, e) { | ||
return p.$and(n, t, r, e); | ||
return s.$and(n, t, r, e); | ||
}, | ||
@@ -157,14 +172,14 @@ $size: function(n, t) { | ||
for (var o = 0, u = n.length; o < u; o++) | ||
if (l(f(n, o), t, r, e)) return !0; | ||
if (p(c(n, o), t, r, e)) return !0; | ||
return !1; | ||
}, | ||
$nor: function(n, t, r, e) { | ||
return !p.$or(n, t, r, e); | ||
return !s.$or(n, t, r, e); | ||
}, | ||
$and: function(n, t, r, e) { | ||
for (var o = 0, u = n.length; o < u; o++) | ||
if (!l(f(n, o), t, r, e)) return !1; | ||
if (!p(c(n, o), t, r, e)) return !1; | ||
return !0; | ||
}, | ||
$regex: c(function(n, t) { | ||
$regex: a(function(n, t) { | ||
return "string" == typeof t && n.test(t); | ||
@@ -176,11 +191,11 @@ }), | ||
$elemMatch: function(n, t, r, e) { | ||
return o(t) | ||
return u(t) | ||
? !!~(function(n, t) { | ||
for (var r = 0; r < n.length; r++) { | ||
f(n, r); | ||
if (l(t, f(n, r))) return r; | ||
c(n, r); | ||
if (p(t, c(n, r))) return r; | ||
} | ||
return -1; | ||
})(t, n) | ||
: l(n, t, r, e); | ||
: p(n, t, r, e); | ||
}, | ||
@@ -191,15 +206,17 @@ $exists: function(n, t, r, e) { | ||
}, | ||
s = { | ||
$eq: function(n, t, { comparable: r, compare: e }) { | ||
g = { | ||
$eq: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return n instanceof RegExp | ||
? c(function(t) { | ||
? a(function(t) { | ||
return "string" == typeof t && n.test(t); | ||
}) | ||
: n instanceof Function | ||
? c(n) | ||
: o(n) && !n.length | ||
? c(function(n) { | ||
return o(n) && !n.length; | ||
? a(n) | ||
: u(n) && !n.length | ||
? a(function(n) { | ||
return u(n) && !n.length; | ||
}) | ||
: c( | ||
: a( | ||
null === n | ||
@@ -210,53 +227,61 @@ ? function(n) { | ||
: function(t) { | ||
return 0 === e(r(t), r(n)); | ||
return 0 === o(e(t), e(n)); | ||
} | ||
); | ||
}, | ||
$gt: function(n, t, { comparable: r, compare: e }) { | ||
$gt: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return function(t) { | ||
return e(r(t), r(n)) > 0; | ||
return o(e(t), e(n)) > 0; | ||
}; | ||
}, | ||
$gte: function(n, t, { comparable: r, compare: e }) { | ||
$gte: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return function(t) { | ||
return e(r(t), r(n)) >= 0; | ||
return o(e(t), e(n)) >= 0; | ||
}; | ||
}, | ||
$lt: function(n, t, { comparable: r, compare: e }) { | ||
$lt: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return function(t) { | ||
return e(r(t), r(n)) < 0; | ||
return o(e(t), e(n)) < 0; | ||
}; | ||
}, | ||
$lte: function(n, t, { comparable: r, compare: e }) { | ||
$lte: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return function(t) { | ||
return e(r(t), r(n)) <= 0; | ||
return o(e(t), e(n)) <= 0; | ||
}; | ||
}, | ||
$in: function(n, t, r) { | ||
const { comparable: e } = r; | ||
var o = r.comparable; | ||
return function(t) { | ||
if (!(t instanceof Array)) { | ||
var o = e(t); | ||
if (o === t && "object" == typeof t) | ||
for (i = n.length; i--; ) | ||
var u = o(t); | ||
if (u === t && "object" === e(t)) | ||
for (f = n.length; f--; ) | ||
if ( | ||
String(n[i]) === String(t) && | ||
String(n[f]) === String(t) && | ||
"[object Object]" !== String(t) | ||
) | ||
return !0; | ||
if (void 0 === o) | ||
for (i = n.length; i--; ) if (null == n[i]) return !0; | ||
for (i = n.length; i--; ) { | ||
var u = l(b(f(n, i), r), o, i, n); | ||
if (void 0 === u) | ||
for (f = n.length; f--; ) if (null == n[f]) return !0; | ||
for (f = n.length; f--; ) { | ||
var i = p(h(c(n, f), r), u, f, n); | ||
if ( | ||
u && | ||
"[object Object]" !== String(u) && | ||
"[object Object]" !== String(o) | ||
i && | ||
"[object Object]" !== String(i) && | ||
"[object Object]" !== String(u) | ||
) | ||
return !0; | ||
} | ||
return !!~n.indexOf(o); | ||
return !!~n.indexOf(u); | ||
} | ||
for (var i = t.length; i--; ) | ||
if (~n.indexOf(e(f(t, i)))) return !0; | ||
for (var f = t.length; f--; ) | ||
if (~n.indexOf(o(c(t, f)))) return !0; | ||
return !1; | ||
@@ -266,3 +291,3 @@ }; | ||
$nin: function(n, t, r) { | ||
const e = s.$in(n, t, r); | ||
var e = g.$in(n, t, r); | ||
return function(n, t, r, o) { | ||
@@ -278,4 +303,4 @@ return !e(n, t, r, o); | ||
$ne: function(n, t, r) { | ||
const e = s.$eq(n, t, r); | ||
return a(function(n, t, r, o) { | ||
var e = g.$eq(n, t, r); | ||
return l(function(n, t, r, o) { | ||
return !e(n, t, r, o); | ||
@@ -285,17 +310,17 @@ }); | ||
$and: function(n, t, r) { | ||
return n.map(v(r)); | ||
return n.map(d(r)); | ||
}, | ||
$all: function(n, t, r) { | ||
return s.$and(n, t, r); | ||
return g.$and(n, t, r); | ||
}, | ||
$or: function(n, t, r) { | ||
return n.map(v(r)); | ||
return n.map(d(r)); | ||
}, | ||
$nor: function(n, t, r) { | ||
return n.map(v(r)); | ||
return n.map(d(r)); | ||
}, | ||
$not: function(n, t, r) { | ||
const e = v(r)(n); | ||
var e = d(r)(n); | ||
return function(n, t, r) { | ||
return !l(e, n, t, r); | ||
return !p(e, n, t, r); | ||
}; | ||
@@ -311,3 +336,3 @@ }, | ||
}, | ||
$where(n) { | ||
$where: function(n) { | ||
if ("function" == typeof n) return n; | ||
@@ -319,3 +344,3 @@ throw new Error( | ||
$elemMatch: function(n, t, r) { | ||
return v(r)(n); | ||
return d(r)(n); | ||
}, | ||
@@ -326,34 +351,38 @@ $exists: function(n) { | ||
}; | ||
function g(n, t) { | ||
function v(n, t) { | ||
return { options: n, validate: t }; | ||
} | ||
function $({ keyPath: n, child: t, query: r }, e) { | ||
var u = []; | ||
function $(n, t) { | ||
var r = n.keyPath, | ||
e = n.child, | ||
o = n.query, | ||
i = []; | ||
if ( | ||
((function n(t, r, e, u, i) { | ||
((function n(t, r, e, o, i) { | ||
if (e === r.length || null == t) | ||
return void i.push([t, r[e - 1], u]); | ||
var c = f(r, e); | ||
if (o(t) && isNaN(Number(c))) | ||
for (var a = 0, l = t.length; a < l; a++) n(f(t, a), r, e, t, i); | ||
else n(f(t, c), r, e + 1, t, i); | ||
})(e, n, 0, e, u), | ||
1 === u.length) | ||
return void i.push([t, r[e - 1], o]); | ||
var f = c(r, e); | ||
if (u(t) && isNaN(Number(f))) | ||
for (var a = 0, l = t.length; a < l; a++) n(c(t, a), r, e, t, i); | ||
else n(c(t, f), r, e + 1, t, i); | ||
})(t, r, 0, t, i), | ||
1 === i.length) | ||
) { | ||
var i = u[0]; | ||
return l(t, i[0], i[1], i[2]); | ||
var f = i[0]; | ||
return p(e, f[0], f[1], f[2]); | ||
} | ||
for (var c = r && void 0 !== r.$ne, a = c, p = 0; p < u.length; p++) { | ||
var s = u[p], | ||
g = l(t, s[0], s[1], s[2]); | ||
c ? (a &= g) : (a |= g); | ||
for (var a = o && void 0 !== o.$ne, l = a, s = 0; s < i.length; s++) { | ||
var g = i[s], | ||
v = p(e, g[0], g[1], g[2]); | ||
a ? (l &= v) : (l |= v); | ||
} | ||
return a; | ||
return l; | ||
} | ||
function d(n, t, r) { | ||
return g({ keyPath: n, child: t, query: r }, $); | ||
function b(n, t, r) { | ||
return v({ keyPath: n, child: t, query: r }, $); | ||
} | ||
function v(n) { | ||
const { comparable: t, expressions: r } = n; | ||
var e = function(n) { | ||
function d(n) { | ||
var t = n.comparable, | ||
r = n.expressions, | ||
e = function(n) { | ||
var t; | ||
@@ -377,18 +406,18 @@ return ( | ||
var o = []; | ||
for (var u in e) { | ||
var f = e[u]; | ||
if ("$options" !== u) { | ||
var c = p[u] || (n && r && r[u]); | ||
if (c) s[u] && (f = s[u](f, e, n)), o.push(g(t(f), c)); | ||
for (var i in e) { | ||
var f = e[i]; | ||
if ("$options" !== i) { | ||
var c = s[i] || (n && r && r[i]); | ||
if (c) g[i] && (f = g[i](f, e, n)), o.push(v(t(f), c)); | ||
else { | ||
if (36 === u.charCodeAt(0)) | ||
throw new Error("Unknown operation " + u); | ||
var a = u.split("."); | ||
o.push(d(a, i(f), f)); | ||
if (36 === i.charCodeAt(0)) | ||
throw new Error("Unknown operation " + i); | ||
var a = i.split("."); | ||
o.push(b(a, u(f), f)); | ||
} | ||
} | ||
} | ||
return 1 === o.length ? o[0] : g(o, p.$and); | ||
return 1 === o.length ? o[0] : v(o, s.$and); | ||
}, | ||
i = function(n) { | ||
u = function(n) { | ||
return ( | ||
@@ -398,3 +427,3 @@ (n = e(n)), | ||
(function n(t, r) { | ||
if (!u(t)) return r; | ||
if (!i(t)) return r; | ||
for (var e in t) r.push(e), n(t[e], r); | ||
@@ -405,3 +434,3 @@ return r; | ||
.search(/[$.]/) | ||
? g(n, h) | ||
? v(n, y) | ||
: o(n) | ||
@@ -414,3 +443,3 @@ ); | ||
} | ||
function h(n, t) { | ||
function y(n, t) { | ||
if ( | ||
@@ -421,11 +450,11 @@ Object.prototype.toString.call(n) !== | ||
return !1; | ||
if (u(n)) { | ||
if (i(n)) { | ||
if (Object.keys(n).length !== Object.keys(t).length) return !1; | ||
for (var r in n) if (!h(n[r], t[r])) return !1; | ||
for (var r in n) if (!y(n[r], t[r])) return !1; | ||
return !0; | ||
} | ||
if (o(n)) { | ||
if (u(n)) { | ||
if (n.length !== t.length) return !1; | ||
for (var e = 0, i = n.length; e < i; e++) | ||
if (!h(n[e], t[e])) return !1; | ||
for (var e = 0, o = n.length; e < o; e++) | ||
if (!y(n[e], t[e])) return !1; | ||
return !0; | ||
@@ -435,4 +464,4 @@ } | ||
} | ||
function b(n, t) { | ||
var r = v(t)(n); | ||
function h(n, t) { | ||
var r = d(t)(n); | ||
return ( | ||
@@ -444,3 +473,3 @@ t && | ||
validate: function(n, r, e, o) { | ||
return l(n, r && t.select(r), e, o); | ||
return p(n, r && t.select(r), e, o); | ||
} | ||
@@ -451,11 +480,11 @@ }), | ||
} | ||
function y(n, t) { | ||
var r = b(n, (t = Object.assign({ compare: m, comparable: j }, t))); | ||
function m(n, t) { | ||
var r = h(n, (t = Object.assign({ compare: j, comparable: O }, t))); | ||
return function(n, t, e) { | ||
return l(r, n, t, e); | ||
return p(r, n, t, e); | ||
}; | ||
} | ||
function m(n, t) { | ||
if (h(n, t)) return 0; | ||
if (typeof n == typeof t) { | ||
function j(n, t) { | ||
if (y(n, t)) return 0; | ||
if (e(n) === e(t)) { | ||
if (n > t) return 1; | ||
@@ -465,7 +494,7 @@ if (n < t) return -1; | ||
} | ||
function j(n) { | ||
function O(n) { | ||
return n instanceof Date | ||
? n.getTime() | ||
: o(n) | ||
? n.map(j) | ||
: u(n) | ||
? n.map(O) | ||
: n && "function" == typeof n.toJSON | ||
@@ -472,0 +501,0 @@ ? n.toJSON() |
294
sift.min.js
@@ -72,2 +72,17 @@ !(function(n, t) { | ||
function e(n) { | ||
return (e = | ||
"function" == typeof Symbol && "symbol" == typeof Symbol.iterator | ||
? function(n) { | ||
return typeof n; | ||
} | ||
: function(n) { | ||
return n && | ||
"function" == typeof Symbol && | ||
n.constructor === Symbol && | ||
n !== Symbol.prototype | ||
? "symbol" | ||
: typeof n; | ||
})(n); | ||
} | ||
function o(n) { | ||
var t = "[object " + n + "]"; | ||
@@ -80,55 +95,55 @@ return function(n) { | ||
r.d(t, "default", function() { | ||
return y; | ||
return m; | ||
}), | ||
r.d(t, "compare", function() { | ||
return m; | ||
return j; | ||
}), | ||
r.d(t, "comparable", function() { | ||
return j; | ||
return O; | ||
}); | ||
var o = e("Array"), | ||
u = e("Object"), | ||
i = e("Function"); | ||
function f(n, t) { | ||
return i(n.get) ? n.get(t) : n[t]; | ||
var u = o("Array"), | ||
i = o("Object"), | ||
f = o("Function"); | ||
function c(n, t) { | ||
return f(n.get) ? n.get(t) : n[t]; | ||
} | ||
function c(n) { | ||
function a(n) { | ||
return function(t, r) { | ||
if (!o(r) || !r.length) return n(t, r); | ||
for (var e = 0, u = r.length; e < u; e++) | ||
if (n(t, f(r, e))) return !0; | ||
if (!u(r) || !r.length) return n(t, r); | ||
for (var e = 0, o = r.length; e < o; e++) | ||
if (n(t, c(r, e))) return !0; | ||
return !1; | ||
}; | ||
} | ||
function a(n) { | ||
function l(n) { | ||
return function(t, r) { | ||
if (!o(r) || !r.length) return n(t, r); | ||
for (var e = 0, u = r.length; e < u; e++) | ||
if (!n(t, f(r, e))) return !1; | ||
if (!u(r) || !r.length) return n(t, r); | ||
for (var e = 0, o = r.length; e < o; e++) | ||
if (!n(t, c(r, e))) return !1; | ||
return !0; | ||
}; | ||
} | ||
function l(n, t, r, e) { | ||
function p(n, t, r, e) { | ||
return n.validate(n.options, t, r, e); | ||
} | ||
var p = { | ||
$eq: c(function(n, t) { | ||
var s = { | ||
$eq: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$ne: a(function(n, t) { | ||
$ne: l(function(n, t) { | ||
return n(t); | ||
}), | ||
$gt: c(function(n, t) { | ||
$gt: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$gte: c(function(n, t) { | ||
$gte: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$lt: c(function(n, t) { | ||
$lt: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$lte: c(function(n, t) { | ||
$lte: a(function(n, t) { | ||
return n(t); | ||
}), | ||
$mod: c(function(n, t) { | ||
$mod: a(function(n, t) { | ||
return n(t); | ||
@@ -149,3 +164,3 @@ }), | ||
$all: function(n, t, r, e) { | ||
return p.$and(n, t, r, e); | ||
return s.$and(n, t, r, e); | ||
}, | ||
@@ -157,14 +172,14 @@ $size: function(n, t) { | ||
for (var o = 0, u = n.length; o < u; o++) | ||
if (l(f(n, o), t, r, e)) return !0; | ||
if (p(c(n, o), t, r, e)) return !0; | ||
return !1; | ||
}, | ||
$nor: function(n, t, r, e) { | ||
return !p.$or(n, t, r, e); | ||
return !s.$or(n, t, r, e); | ||
}, | ||
$and: function(n, t, r, e) { | ||
for (var o = 0, u = n.length; o < u; o++) | ||
if (!l(f(n, o), t, r, e)) return !1; | ||
if (!p(c(n, o), t, r, e)) return !1; | ||
return !0; | ||
}, | ||
$regex: c(function(n, t) { | ||
$regex: a(function(n, t) { | ||
return "string" == typeof t && n.test(t); | ||
@@ -176,11 +191,11 @@ }), | ||
$elemMatch: function(n, t, r, e) { | ||
return o(t) | ||
return u(t) | ||
? !!~(function(n, t) { | ||
for (var r = 0; r < n.length; r++) { | ||
f(n, r); | ||
if (l(t, f(n, r))) return r; | ||
c(n, r); | ||
if (p(t, c(n, r))) return r; | ||
} | ||
return -1; | ||
})(t, n) | ||
: l(n, t, r, e); | ||
: p(n, t, r, e); | ||
}, | ||
@@ -191,15 +206,17 @@ $exists: function(n, t, r, e) { | ||
}, | ||
s = { | ||
$eq: function(n, t, { comparable: r, compare: e }) { | ||
g = { | ||
$eq: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return n instanceof RegExp | ||
? c(function(t) { | ||
? a(function(t) { | ||
return "string" == typeof t && n.test(t); | ||
}) | ||
: n instanceof Function | ||
? c(n) | ||
: o(n) && !n.length | ||
? c(function(n) { | ||
return o(n) && !n.length; | ||
? a(n) | ||
: u(n) && !n.length | ||
? a(function(n) { | ||
return u(n) && !n.length; | ||
}) | ||
: c( | ||
: a( | ||
null === n | ||
@@ -210,53 +227,61 @@ ? function(n) { | ||
: function(t) { | ||
return 0 === e(r(t), r(n)); | ||
return 0 === o(e(t), e(n)); | ||
} | ||
); | ||
}, | ||
$gt: function(n, t, { comparable: r, compare: e }) { | ||
$gt: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return function(t) { | ||
return e(r(t), r(n)) > 0; | ||
return o(e(t), e(n)) > 0; | ||
}; | ||
}, | ||
$gte: function(n, t, { comparable: r, compare: e }) { | ||
$gte: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return function(t) { | ||
return e(r(t), r(n)) >= 0; | ||
return o(e(t), e(n)) >= 0; | ||
}; | ||
}, | ||
$lt: function(n, t, { comparable: r, compare: e }) { | ||
$lt: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return function(t) { | ||
return e(r(t), r(n)) < 0; | ||
return o(e(t), e(n)) < 0; | ||
}; | ||
}, | ||
$lte: function(n, t, { comparable: r, compare: e }) { | ||
$lte: function(n, t, r) { | ||
var e = r.comparable, | ||
o = r.compare; | ||
return function(t) { | ||
return e(r(t), r(n)) <= 0; | ||
return o(e(t), e(n)) <= 0; | ||
}; | ||
}, | ||
$in: function(n, t, r) { | ||
const { comparable: e } = r; | ||
var o = r.comparable; | ||
return function(t) { | ||
if (!(t instanceof Array)) { | ||
var o = e(t); | ||
if (o === t && "object" == typeof t) | ||
for (i = n.length; i--; ) | ||
var u = o(t); | ||
if (u === t && "object" === e(t)) | ||
for (f = n.length; f--; ) | ||
if ( | ||
String(n[i]) === String(t) && | ||
String(n[f]) === String(t) && | ||
"[object Object]" !== String(t) | ||
) | ||
return !0; | ||
if (void 0 === o) | ||
for (i = n.length; i--; ) if (null == n[i]) return !0; | ||
for (i = n.length; i--; ) { | ||
var u = l(h(f(n, i), r), o, i, n); | ||
if (void 0 === u) | ||
for (f = n.length; f--; ) if (null == n[f]) return !0; | ||
for (f = n.length; f--; ) { | ||
var i = p(h(c(n, f), r), u, f, n); | ||
if ( | ||
u && | ||
"[object Object]" !== String(u) && | ||
"[object Object]" !== String(o) | ||
i && | ||
"[object Object]" !== String(i) && | ||
"[object Object]" !== String(u) | ||
) | ||
return !0; | ||
} | ||
return !!~n.indexOf(o); | ||
return !!~n.indexOf(u); | ||
} | ||
for (var i = t.length; i--; ) | ||
if (~n.indexOf(e(f(t, i)))) return !0; | ||
for (var f = t.length; f--; ) | ||
if (~n.indexOf(o(c(t, f)))) return !0; | ||
return !1; | ||
@@ -266,3 +291,3 @@ }; | ||
$nin: function(n, t, r) { | ||
const e = s.$in(n, t, r); | ||
var e = g.$in(n, t, r); | ||
return function(n, t, r, o) { | ||
@@ -278,4 +303,4 @@ return !e(n, t, r, o); | ||
$ne: function(n, t, r) { | ||
const e = s.$eq(n, t, r); | ||
return a(function(n, t, r, o) { | ||
var e = g.$eq(n, t, r); | ||
return l(function(n, t, r, o) { | ||
return !e(n, t, r, o); | ||
@@ -285,17 +310,17 @@ }); | ||
$and: function(n, t, r) { | ||
return n.map(v(r)); | ||
return n.map(y(r)); | ||
}, | ||
$all: function(n, t, r) { | ||
return s.$and(n, t, r); | ||
return g.$and(n, t, r); | ||
}, | ||
$or: function(n, t, r) { | ||
return n.map(v(r)); | ||
return n.map(y(r)); | ||
}, | ||
$nor: function(n, t, r) { | ||
return n.map(v(r)); | ||
return n.map(y(r)); | ||
}, | ||
$not: function(n, t, r) { | ||
const e = v(r)(n); | ||
var e = y(r)(n); | ||
return function(n, t, r) { | ||
return !l(e, n, t, r); | ||
return !p(e, n, t, r); | ||
}; | ||
@@ -311,6 +336,9 @@ }, | ||
}, | ||
$where: n => | ||
"function" == typeof n ? n : new Function("obj", "return " + n), | ||
$where: function(n) { | ||
return "function" == typeof n | ||
? n | ||
: new Function("obj", "return " + n); | ||
}, | ||
$elemMatch: function(n, t, r) { | ||
return v(r)(n); | ||
return y(r)(n); | ||
}, | ||
@@ -321,34 +349,38 @@ $exists: function(n) { | ||
}; | ||
function g(n, t) { | ||
function v(n, t) { | ||
return { options: n, validate: t }; | ||
} | ||
function $({ keyPath: n, child: t, query: r }, e) { | ||
var u = []; | ||
function b(n, t) { | ||
var r = n.keyPath, | ||
e = n.child, | ||
o = n.query, | ||
i = []; | ||
if ( | ||
((function n(t, r, e, u, i) { | ||
((function n(t, r, e, o, i) { | ||
if (e === r.length || null == t) | ||
return void i.push([t, r[e - 1], u]); | ||
var c = f(r, e); | ||
if (o(t) && isNaN(Number(c))) | ||
for (var a = 0, l = t.length; a < l; a++) n(f(t, a), r, e, t, i); | ||
else n(f(t, c), r, e + 1, t, i); | ||
})(e, n, 0, e, u), | ||
1 === u.length) | ||
return void i.push([t, r[e - 1], o]); | ||
var f = c(r, e); | ||
if (u(t) && isNaN(Number(f))) | ||
for (var a = 0, l = t.length; a < l; a++) n(c(t, a), r, e, t, i); | ||
else n(c(t, f), r, e + 1, t, i); | ||
})(t, r, 0, t, i), | ||
1 === i.length) | ||
) { | ||
var i = u[0]; | ||
return l(t, i[0], i[1], i[2]); | ||
var f = i[0]; | ||
return p(e, f[0], f[1], f[2]); | ||
} | ||
for (var c = r && void 0 !== r.$ne, a = c, p = 0; p < u.length; p++) { | ||
var s = u[p], | ||
g = l(t, s[0], s[1], s[2]); | ||
c ? (a &= g) : (a |= g); | ||
for (var a = o && void 0 !== o.$ne, l = a, s = 0; s < i.length; s++) { | ||
var g = i[s], | ||
v = p(e, g[0], g[1], g[2]); | ||
a ? (l &= v) : (l |= v); | ||
} | ||
return a; | ||
return l; | ||
} | ||
function d(n, t, r) { | ||
return g({ keyPath: n, child: t, query: r }, $); | ||
function $(n, t, r) { | ||
return v({ keyPath: n, child: t, query: r }, b); | ||
} | ||
function v(n) { | ||
const { comparable: t, expressions: r } = n; | ||
var e = function(n) { | ||
function y(n) { | ||
var t = n.comparable, | ||
r = n.expressions, | ||
e = function(n) { | ||
var t; | ||
@@ -372,18 +404,18 @@ return ( | ||
var o = []; | ||
for (var u in e) { | ||
var f = e[u]; | ||
if ("$options" !== u) { | ||
var c = p[u] || (n && r && r[u]); | ||
if (c) s[u] && (f = s[u](f, e, n)), o.push(g(t(f), c)); | ||
for (var i in e) { | ||
var f = e[i]; | ||
if ("$options" !== i) { | ||
var c = s[i] || (n && r && r[i]); | ||
if (c) g[i] && (f = g[i](f, e, n)), o.push(v(t(f), c)); | ||
else { | ||
if (36 === u.charCodeAt(0)) | ||
throw new Error("Unknown operation " + u); | ||
var a = u.split("."); | ||
o.push(d(a, i(f), f)); | ||
if (36 === i.charCodeAt(0)) | ||
throw new Error("Unknown operation " + i); | ||
var a = i.split("."); | ||
o.push($(a, u(f), f)); | ||
} | ||
} | ||
} | ||
return 1 === o.length ? o[0] : g(o, p.$and); | ||
return 1 === o.length ? o[0] : v(o, s.$and); | ||
}, | ||
i = function(n) { | ||
u = function(n) { | ||
return ( | ||
@@ -393,3 +425,3 @@ (n = e(n)), | ||
(function n(t, r) { | ||
if (!u(t)) return r; | ||
if (!i(t)) return r; | ||
for (var e in t) r.push(e), n(t[e], r); | ||
@@ -400,3 +432,3 @@ return r; | ||
.search(/[$.]/) | ||
? g(n, b) | ||
? v(n, d) | ||
: o(n) | ||
@@ -409,3 +441,3 @@ ); | ||
} | ||
function b(n, t) { | ||
function d(n, t) { | ||
if ( | ||
@@ -416,11 +448,11 @@ Object.prototype.toString.call(n) !== | ||
return !1; | ||
if (u(n)) { | ||
if (i(n)) { | ||
if (Object.keys(n).length !== Object.keys(t).length) return !1; | ||
for (var r in n) if (!b(n[r], t[r])) return !1; | ||
for (var r in n) if (!d(n[r], t[r])) return !1; | ||
return !0; | ||
} | ||
if (o(n)) { | ||
if (u(n)) { | ||
if (n.length !== t.length) return !1; | ||
for (var e = 0, i = n.length; e < i; e++) | ||
if (!b(n[e], t[e])) return !1; | ||
for (var e = 0, o = n.length; e < o; e++) | ||
if (!d(n[e], t[e])) return !1; | ||
return !0; | ||
@@ -431,3 +463,3 @@ } | ||
function h(n, t) { | ||
var r = v(t)(n); | ||
var r = y(t)(n); | ||
return ( | ||
@@ -439,3 +471,3 @@ t && | ||
validate: function(n, r, e, o) { | ||
return l(n, r && t.select(r), e, o); | ||
return p(n, r && t.select(r), e, o); | ||
} | ||
@@ -446,11 +478,11 @@ }), | ||
} | ||
function y(n, t) { | ||
var r = h(n, (t = Object.assign({ compare: m, comparable: j }, t))); | ||
function m(n, t) { | ||
var r = h(n, (t = Object.assign({ compare: j, comparable: O }, t))); | ||
return function(n, t, e) { | ||
return l(r, n, t, e); | ||
return p(r, n, t, e); | ||
}; | ||
} | ||
function m(n, t) { | ||
if (b(n, t)) return 0; | ||
if (typeof n == typeof t) { | ||
function j(n, t) { | ||
if (d(n, t)) return 0; | ||
if (e(n) === e(t)) { | ||
if (n > t) return 1; | ||
@@ -460,7 +492,7 @@ if (n < t) return -1; | ||
} | ||
function j(n) { | ||
function O(n) { | ||
return n instanceof Date | ||
? n.getTime() | ||
: o(n) | ||
? n.map(j) | ||
: u(n) | ||
? n.map(O) | ||
: n && "function" == typeof n.toJSON | ||
@@ -467,0 +499,0 @@ ? n.toJSON() |
@@ -114,3 +114,3 @@ /* | ||
$in: function(test, value) { | ||
$in(test, value) { | ||
return test(value); | ||
@@ -117,0 +117,0 @@ }, |
@@ -20,3 +20,11 @@ const { DefinePlugin } = require("webpack"); | ||
module: { | ||
rules: [] | ||
rules: [ | ||
{ | ||
test: /\.js$/, | ||
exclude: /(node_modules|bower_components)/, | ||
use: { | ||
loader: "babel-loader" | ||
} | ||
} | ||
] | ||
}, | ||
@@ -23,0 +31,0 @@ plugins: [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
339811
3546
15