Comparing version 11.0.2 to 11.0.4
@@ -11,2 +11,3 @@ ## 11.0.0 | ||
- ImmutableJS support removed for now | ||
- Remove bower support | ||
@@ -13,0 +14,0 @@ ## 9.0.0 |
482
lib/core.js
"use strict"; | ||
var __extends = | ||
(this && this.__extends) || | ||
(function() { | ||
var extendStatics = function(d, b) { | ||
extendStatics = | ||
Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && | ||
function(d, b) { | ||
d.__proto__ = b; | ||
}) || | ||
function(d, b) { | ||
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; | ||
}; | ||
return extendStatics(d, b); | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = function (d, b) { | ||
extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
}; | ||
return function(d, b) { | ||
extendStatics(d, b); | ||
function __() { | ||
this.constructor = d; | ||
} | ||
d.prototype = | ||
b === null | ||
? Object.create(b) | ||
: ((__.prototype = b.prototype), new __()); | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
var __spreadArrays = | ||
(this && this.__spreadArrays) || | ||
function() { | ||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) | ||
s += arguments[i].length; | ||
})(); | ||
var __spreadArrays = (this && this.__spreadArrays) || function () { | ||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; | ||
for (var r = Array(s), k = 0, i = 0; i < il; i++) | ||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) | ||
r[k] = a[j]; | ||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) | ||
r[k] = a[j]; | ||
return r; | ||
}; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -44,262 +28,222 @@ var utils_1 = require("./utils"); | ||
*/ | ||
var walkKeyPathValues = function(item, keyPath, next, depth, key, owner) { | ||
var currentKey = keyPath[depth]; | ||
// if array, then try matching. Might fall through for cases like: | ||
// { $eq: [1, 2, 3] }, [ 1, 2, 3 ]. | ||
if (utils_1.isArray(item) && isNaN(Number(currentKey))) { | ||
for (var i = 0, length_1 = item.length; i < length_1; i++) { | ||
// if FALSE is returned, then terminate walker. For operations, this simply | ||
// means that the search critera was met. | ||
if (!walkKeyPathValues(item[i], keyPath, next, depth, i, item)) { | ||
return false; | ||
} | ||
var walkKeyPathValues = function (item, keyPath, next, depth, key, owner) { | ||
var currentKey = keyPath[depth]; | ||
// if array, then try matching. Might fall through for cases like: | ||
// { $eq: [1, 2, 3] }, [ 1, 2, 3 ]. | ||
if (utils_1.isArray(item) && isNaN(Number(currentKey))) { | ||
for (var i = 0, length_1 = item.length; i < length_1; i++) { | ||
// if FALSE is returned, then terminate walker. For operations, this simply | ||
// means that the search critera was met. | ||
if (!walkKeyPathValues(item[i], keyPath, next, depth, i, item)) { | ||
return false; | ||
} | ||
} | ||
} | ||
} | ||
if (depth === keyPath.length || item == null) { | ||
return next(item, key, owner); | ||
} | ||
return walkKeyPathValues( | ||
item[currentKey], | ||
keyPath, | ||
next, | ||
depth + 1, | ||
currentKey, | ||
item | ||
); | ||
if (depth === keyPath.length || item == null) { | ||
return next(item, key, owner); | ||
} | ||
return walkKeyPathValues(item[currentKey], keyPath, next, depth + 1, currentKey, item); | ||
}; | ||
var BaseOperation = /** @class */ (function() { | ||
function BaseOperation(params, owneryQuery, options) { | ||
this.params = params; | ||
this.owneryQuery = owneryQuery; | ||
this.options = options; | ||
this.init(); | ||
} | ||
BaseOperation.prototype.init = function() {}; | ||
BaseOperation.prototype.reset = function() { | ||
this.done = false; | ||
this.success = false; | ||
}; | ||
return BaseOperation; | ||
})(); | ||
var BaseOperation = /** @class */ (function () { | ||
function BaseOperation(params, owneryQuery, options) { | ||
this.params = params; | ||
this.owneryQuery = owneryQuery; | ||
this.options = options; | ||
this.init(); | ||
} | ||
BaseOperation.prototype.init = function () { }; | ||
BaseOperation.prototype.reset = function () { | ||
this.done = false; | ||
this.success = false; | ||
}; | ||
return BaseOperation; | ||
}()); | ||
exports.BaseOperation = BaseOperation; | ||
var GroupOperation = /** @class */ (function(_super) { | ||
__extends(GroupOperation, _super); | ||
function GroupOperation(params, owneryQuery, options, _children) { | ||
var _this = _super.call(this, params, owneryQuery, options) || this; | ||
_this._children = _children; | ||
return _this; | ||
} | ||
/** | ||
*/ | ||
GroupOperation.prototype.reset = function() { | ||
this.success = false; | ||
this.done = false; | ||
for (var i = 0, length_2 = this._children.length; i < length_2; i++) { | ||
this._children[i].reset(); | ||
var GroupOperation = /** @class */ (function (_super) { | ||
__extends(GroupOperation, _super); | ||
function GroupOperation(params, owneryQuery, options, _children) { | ||
var _this = _super.call(this, params, owneryQuery, options) || this; | ||
_this._children = _children; | ||
return _this; | ||
} | ||
}; | ||
/** | ||
*/ | ||
GroupOperation.prototype.childrenNext = function(item, key, owner) { | ||
var done = true; | ||
var success = true; | ||
for (var i = 0, length_3 = this._children.length; i < length_3; i++) { | ||
var childOperation = this._children[i]; | ||
childOperation.next(item, key, owner); | ||
if (!childOperation.success) { | ||
success = false; | ||
} | ||
if (childOperation.done) { | ||
if (!childOperation.success) { | ||
break; | ||
/** | ||
*/ | ||
GroupOperation.prototype.reset = function () { | ||
this.success = false; | ||
this.done = false; | ||
for (var i = 0, length_2 = this._children.length; i < length_2; i++) { | ||
this._children[i].reset(); | ||
} | ||
} else { | ||
done = false; | ||
} | ||
}; | ||
/** | ||
*/ | ||
GroupOperation.prototype.childrenNext = function (item, key, owner) { | ||
var done = true; | ||
var success = true; | ||
for (var i = 0, length_3 = this._children.length; i < length_3; i++) { | ||
var childOperation = this._children[i]; | ||
childOperation.next(item, key, owner); | ||
if (!childOperation.success) { | ||
success = false; | ||
} | ||
if (childOperation.done) { | ||
if (!childOperation.success) { | ||
break; | ||
} | ||
} | ||
else { | ||
done = false; | ||
} | ||
} | ||
this.done = done; | ||
this.success = success; | ||
}; | ||
return GroupOperation; | ||
}(BaseOperation)); | ||
exports.GroupOperation = GroupOperation; | ||
var QueryOperation = /** @class */ (function (_super) { | ||
__extends(QueryOperation, _super); | ||
function QueryOperation() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
this.done = done; | ||
this.success = success; | ||
}; | ||
return GroupOperation; | ||
})(BaseOperation); | ||
exports.GroupOperation = GroupOperation; | ||
var QueryOperation = /** @class */ (function(_super) { | ||
__extends(QueryOperation, _super); | ||
function QueryOperation() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
/** | ||
*/ | ||
QueryOperation.prototype.next = function(item, key, parent) { | ||
this.childrenNext(item, key, parent); | ||
}; | ||
return QueryOperation; | ||
})(GroupOperation); | ||
/** | ||
*/ | ||
QueryOperation.prototype.next = function (item, key, parent) { | ||
this.childrenNext(item, key, parent); | ||
}; | ||
return QueryOperation; | ||
}(GroupOperation)); | ||
exports.QueryOperation = QueryOperation; | ||
var NestedOperation = /** @class */ (function(_super) { | ||
__extends(NestedOperation, _super); | ||
function NestedOperation(keyPath, params, owneryQuery, options, children) { | ||
var _this = | ||
_super.call(this, params, owneryQuery, options, children) || this; | ||
_this.keyPath = keyPath; | ||
var NestedOperation = /** @class */ (function (_super) { | ||
__extends(NestedOperation, _super); | ||
function NestedOperation(keyPath, params, owneryQuery, options, children) { | ||
var _this = _super.call(this, params, owneryQuery, options, children) || this; | ||
_this.keyPath = keyPath; | ||
/** | ||
*/ | ||
_this._nextNestedValue = function (value, key, owner) { | ||
_this.childrenNext(value, key, owner); | ||
return !_this.done; | ||
}; | ||
return _this; | ||
} | ||
/** | ||
*/ | ||
_this._nextNestedValue = function(value, key, owner) { | ||
_this.childrenNext(value, key, owner); | ||
return !_this.done; | ||
NestedOperation.prototype.next = function (item, key, parent) { | ||
walkKeyPathValues(item, this.keyPath, this._nextNestedValue, 0, key, parent); | ||
}; | ||
return _this; | ||
} | ||
/** | ||
*/ | ||
NestedOperation.prototype.next = function(item, key, parent) { | ||
walkKeyPathValues( | ||
item, | ||
this.keyPath, | ||
this._nextNestedValue, | ||
0, | ||
key, | ||
parent | ||
); | ||
}; | ||
return NestedOperation; | ||
})(GroupOperation); | ||
return NestedOperation; | ||
}(GroupOperation)); | ||
exports.NestedOperation = NestedOperation; | ||
exports.createTester = function(a, compare) { | ||
if (a instanceof Function) { | ||
return a; | ||
} | ||
if (a instanceof RegExp) { | ||
return function(b) { | ||
return typeof b === "string" && a.test(b); | ||
}; | ||
} | ||
var comparableA = utils_1.comparable(a); | ||
return function(b) { | ||
return compare(comparableA, utils_1.comparable(b)); | ||
}; | ||
exports.createTester = function (a, compare) { | ||
if (a instanceof Function) { | ||
return a; | ||
} | ||
if (a instanceof RegExp) { | ||
return function (b) { return typeof b === "string" && a.test(b); }; | ||
} | ||
var comparableA = utils_1.comparable(a); | ||
return function (b) { return compare(comparableA, utils_1.comparable(b)); }; | ||
}; | ||
var EqualsOperation = /** @class */ (function(_super) { | ||
__extends(EqualsOperation, _super); | ||
function EqualsOperation() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
EqualsOperation.prototype.init = function() { | ||
this._test = exports.createTester(this.params, this.options.compare); | ||
}; | ||
EqualsOperation.prototype.next = function(item, key, parent) { | ||
if (this._test(item, key, parent)) { | ||
this.done = true; | ||
this.success = true; | ||
var EqualsOperation = /** @class */ (function (_super) { | ||
__extends(EqualsOperation, _super); | ||
function EqualsOperation() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
}; | ||
return EqualsOperation; | ||
})(BaseOperation); | ||
EqualsOperation.prototype.init = function () { | ||
this._test = exports.createTester(this.params, this.options.compare); | ||
}; | ||
EqualsOperation.prototype.next = function (item, key, parent) { | ||
if (this._test(item, key, parent)) { | ||
this.done = true; | ||
this.success = true; | ||
} | ||
}; | ||
return EqualsOperation; | ||
}(BaseOperation)); | ||
exports.EqualsOperation = EqualsOperation; | ||
var NopeOperation = /** @class */ (function(_super) { | ||
__extends(NopeOperation, _super); | ||
function NopeOperation() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
NopeOperation.prototype.next = function() { | ||
this.done = true; | ||
this.success = false; | ||
}; | ||
return NopeOperation; | ||
})(BaseOperation); | ||
var NopeOperation = /** @class */ (function (_super) { | ||
__extends(NopeOperation, _super); | ||
function NopeOperation() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
NopeOperation.prototype.next = function () { | ||
this.done = true; | ||
this.success = false; | ||
}; | ||
return NopeOperation; | ||
}(BaseOperation)); | ||
exports.NopeOperation = NopeOperation; | ||
exports.numericalOperationCreator = function(createNumericalOperation) { | ||
return function(params, owneryQuery, options) { | ||
exports.numericalOperationCreator = function (createNumericalOperation) { return function (params, owneryQuery, options) { | ||
return params == null | ||
? new NopeOperation(params, owneryQuery, options) | ||
: createNumericalOperation(params, owneryQuery, options); | ||
}; | ||
? new NopeOperation(params, owneryQuery, options) | ||
: createNumericalOperation(params, owneryQuery, options); | ||
}; }; | ||
var createOperation = function (name, params, parentQuery, options) { | ||
var operationCreator = options.operations[name]; | ||
if (!operationCreator) { | ||
throw new Error("Unsupported operation: " + name); | ||
} | ||
return operationCreator(params, parentQuery, options); | ||
}; | ||
var createOperation = function(name, params, parentQuery, options) { | ||
var operationCreator = options.operations[name]; | ||
if (!operationCreator) { | ||
throw new Error("Unsupported operation: " + name); | ||
} | ||
return operationCreator(params, parentQuery, options); | ||
var containsOperation = function (query) { | ||
for (var key in query) { | ||
if (key.charAt(0) === "$") | ||
return true; | ||
} | ||
return false; | ||
}; | ||
var containsOperation = function(query) { | ||
for (var key in query) { | ||
if (key.charAt(0) === "$") return true; | ||
} | ||
return false; | ||
var createNestedOperation = function (keyPath, nestedQuery, owneryQuery, options) { | ||
if (containsOperation(nestedQuery)) { | ||
var _a = createQueryOperations(nestedQuery, options), selfOperations = _a[0], nestedOperations = _a[1]; | ||
if (nestedOperations.length) { | ||
throw new Error("Property queries must contain only operations, or exact objects."); | ||
} | ||
return new NestedOperation(keyPath, nestedQuery, owneryQuery, options, selfOperations); | ||
} | ||
return new NestedOperation(keyPath, nestedQuery, owneryQuery, options, [ | ||
new EqualsOperation(nestedQuery, owneryQuery, options) | ||
]); | ||
}; | ||
var createNestedOperation = function( | ||
keyPath, | ||
nestedQuery, | ||
owneryQuery, | ||
options | ||
) { | ||
if (containsOperation(nestedQuery)) { | ||
var _a = createQueryOperations(nestedQuery, options), | ||
selfOperations = _a[0], | ||
nestedOperations = _a[1]; | ||
if (nestedOperations.length) { | ||
throw new Error( | ||
"Property queries must contain only operations, or exact objects." | ||
); | ||
exports.createQueryOperation = function (query, owneryQuery, options) { | ||
var _a = createQueryOperations(query, options), selfOperations = _a[0], nestedOperations = _a[1]; | ||
var ops = __spreadArrays([ | ||
new NestedOperation([], query, owneryQuery, options, selfOperations) | ||
], nestedOperations); | ||
if (ops.length === 1) { | ||
return ops[0]; | ||
} | ||
return new NestedOperation( | ||
keyPath, | ||
nestedQuery, | ||
owneryQuery, | ||
options, | ||
selfOperations | ||
); | ||
} | ||
return new NestedOperation(keyPath, nestedQuery, owneryQuery, options, [ | ||
new EqualsOperation(nestedQuery, owneryQuery, options) | ||
]); | ||
return new QueryOperation(query, owneryQuery, options, ops); | ||
}; | ||
exports.createQueryOperation = function(query, owneryQuery, options) { | ||
var _a = createQueryOperations(query, options), | ||
selfOperations = _a[0], | ||
nestedOperations = _a[1]; | ||
var ops = __spreadArrays( | ||
[new NestedOperation([], query, owneryQuery, options, selfOperations)], | ||
nestedOperations | ||
); | ||
if (ops.length === 1) { | ||
return ops[0]; | ||
} | ||
return new QueryOperation(query, owneryQuery, options, ops); | ||
}; | ||
var createQueryOperations = function(query, options) { | ||
var selfOperations = []; | ||
var nestedOperations = []; | ||
if (!utils_1.isVanillaObject(query)) { | ||
query = { $eq: query }; | ||
} | ||
for (var key in query) { | ||
if (key.charAt(0) === "$") { | ||
var op = createOperation(key, query[key], query, options); | ||
// probably just a flag for another operation (like $options) | ||
if (op != null) { | ||
selfOperations.push(op); | ||
} | ||
} else { | ||
nestedOperations.push( | ||
createNestedOperation(key.split("."), query[key], query, options) | ||
); | ||
var createQueryOperations = function (query, options) { | ||
var selfOperations = []; | ||
var nestedOperations = []; | ||
if (!utils_1.isVanillaObject(query)) { | ||
query = { $eq: query }; | ||
} | ||
} | ||
return [selfOperations, nestedOperations]; | ||
for (var key in query) { | ||
if (key.charAt(0) === "$") { | ||
var op = createOperation(key, query[key], query, options); | ||
// probably just a flag for another operation (like $options) | ||
if (op != null) { | ||
selfOperations.push(op); | ||
} | ||
} | ||
else { | ||
nestedOperations.push(createNestedOperation(key.split("."), query[key], query, options)); | ||
} | ||
} | ||
return [selfOperations, nestedOperations]; | ||
}; | ||
exports.createQueryTester = function(query, _a) { | ||
var _b = _a === void 0 ? {} : _a, | ||
compare = _b.compare, | ||
operations = _b.operations; | ||
var operation = exports.createQueryOperation(query, null, { | ||
compare: compare || utils_1.equals, | ||
operations: Object.assign({}, operations || {}) | ||
}); | ||
return function(item, key, owner) { | ||
operation.reset(); | ||
operation.next(item, key, owner); | ||
return operation.success; | ||
}; | ||
exports.createQueryTester = function (query, _a) { | ||
var _b = _a === void 0 ? {} : _a, compare = _b.compare, operations = _b.operations; | ||
var operation = exports.createQueryOperation(query, null, { | ||
compare: compare || utils_1.equals, | ||
operations: Object.assign({}, operations || {}) | ||
}); | ||
return function (item, key, owner) { | ||
operation.reset(); | ||
operation.next(item, key, owner); | ||
return operation.success; | ||
}; | ||
}; |
@@ -5,13 +5,11 @@ "use strict"; | ||
var core_1 = require("./core"); | ||
exports.createQueryTester = core_1.createQueryTester; | ||
exports.EqualsOperation = core_1.EqualsOperation; | ||
var createDefaultQueryTester = function(query, _a) { | ||
var _b = _a === void 0 ? {} : _a, | ||
compare = _b.compare, | ||
operations = _b.operations; | ||
return core_1.createQueryTester(query, { | ||
compare: compare, | ||
operations: Object.assign({}, defaultOperations, operations || {}) | ||
}); | ||
var createDefaultQueryTester = function (query, _a) { | ||
var _b = _a === void 0 ? {} : _a, compare = _b.compare, operations = _b.operations; | ||
return core_1.createQueryTester(query, { | ||
compare: compare, | ||
operations: Object.assign({}, defaultOperations, operations || {}) | ||
}); | ||
}; | ||
module.exports = createDefaultQueryTester; | ||
exports.default = createDefaultQueryTester; |
"use strict"; | ||
var __extends = | ||
(this && this.__extends) || | ||
(function() { | ||
var extendStatics = function(d, b) { | ||
extendStatics = | ||
Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && | ||
function(d, b) { | ||
d.__proto__ = b; | ||
}) || | ||
function(d, b) { | ||
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; | ||
}; | ||
return extendStatics(d, b); | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = function (d, b) { | ||
extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
}; | ||
return function(d, b) { | ||
extendStatics(d, b); | ||
function __() { | ||
this.constructor = d; | ||
} | ||
d.prototype = | ||
b === null | ||
? Object.create(b) | ||
: ((__.prototype = b.prototype), new __()); | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
})(); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var core_1 = require("./core"); | ||
var utils_1 = require("./utils"); | ||
var $Ne = /** @class */ (function(_super) { | ||
__extends($Ne, _super); | ||
function $Ne() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
$Ne.prototype.init = function() { | ||
this._test = core_1.createTester(this.params, this.options.compare); | ||
}; | ||
$Ne.prototype.reset = function() { | ||
_super.prototype.reset.call(this); | ||
this.success = true; | ||
}; | ||
$Ne.prototype.next = function(item) { | ||
if (this._test(item)) { | ||
this.done = true; | ||
this.success = false; | ||
var $Ne = /** @class */ (function (_super) { | ||
__extends($Ne, _super); | ||
function $Ne() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
}; | ||
return $Ne; | ||
})(core_1.BaseOperation); | ||
var $ElemMatch = /** @class */ (function(_super) { | ||
__extends($ElemMatch, _super); | ||
function $ElemMatch() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
$ElemMatch.prototype.init = function() { | ||
this._queryOperation = core_1.createQueryOperation( | ||
this.params, | ||
this.owneryQuery, | ||
this.options | ||
); | ||
}; | ||
$ElemMatch.prototype.reset = function() { | ||
this._queryOperation.reset(); | ||
}; | ||
$ElemMatch.prototype.next = function(item, key, owner) { | ||
this._queryOperation.next(item, key, owner); | ||
this.done = this._queryOperation.done; | ||
this.success = this._queryOperation.success; | ||
}; | ||
return $ElemMatch; | ||
})(core_1.BaseOperation); | ||
var $Not = /** @class */ (function(_super) { | ||
__extends($Not, _super); | ||
function $Not() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
$Not.prototype.next = function(item, key, owner) { | ||
_super.prototype.next.call(this, item, key, owner); | ||
this.success = !this.success; | ||
}; | ||
return $Not; | ||
})($ElemMatch); | ||
var $Or = /** @class */ (function(_super) { | ||
__extends($Or, _super); | ||
function $Or() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
$Or.prototype.init = function() { | ||
var _this = this; | ||
this._ops = this.params.map(function(op) { | ||
return core_1.createQueryOperation(op, null, _this.options); | ||
}); | ||
}; | ||
$Or.prototype.reset = function() { | ||
this.done = false; | ||
this.success = false; | ||
for (var i = 0, length_1 = this._ops.length; i < length_1; i++) { | ||
this._ops[i].reset(); | ||
$Ne.prototype.init = function () { | ||
this._test = core_1.createTester(this.params, this.options.compare); | ||
}; | ||
$Ne.prototype.reset = function () { | ||
_super.prototype.reset.call(this); | ||
this.success = true; | ||
}; | ||
$Ne.prototype.next = function (item) { | ||
if (this._test(item)) { | ||
this.done = true; | ||
this.success = false; | ||
} | ||
}; | ||
return $Ne; | ||
}(core_1.BaseOperation)); | ||
var $ElemMatch = /** @class */ (function (_super) { | ||
__extends($ElemMatch, _super); | ||
function $ElemMatch() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
}; | ||
$Or.prototype.next = function(item, key, owner) { | ||
var done = false; | ||
var success = false; | ||
for (var i = 0, length_2 = this._ops.length; i < length_2; i++) { | ||
var op = this._ops[i]; | ||
op.next(item, key, owner); | ||
if (op.success) { | ||
done = true; | ||
success = op.success; | ||
break; | ||
} | ||
$ElemMatch.prototype.init = function () { | ||
this._queryOperation = core_1.createQueryOperation(this.params, this.owneryQuery, this.options); | ||
}; | ||
$ElemMatch.prototype.reset = function () { | ||
this._queryOperation.reset(); | ||
}; | ||
$ElemMatch.prototype.next = function (item, key, owner) { | ||
this._queryOperation.next(item, key, owner); | ||
this.done = this._queryOperation.done; | ||
this.success = this._queryOperation.success; | ||
}; | ||
return $ElemMatch; | ||
}(core_1.BaseOperation)); | ||
var $Not = /** @class */ (function (_super) { | ||
__extends($Not, _super); | ||
function $Not() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
this.success = success; | ||
this.done = done; | ||
}; | ||
return $Or; | ||
})(core_1.BaseOperation); | ||
var $Nor = /** @class */ (function(_super) { | ||
__extends($Nor, _super); | ||
function $Nor() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
$Nor.prototype.next = function(item, key, owner) { | ||
_super.prototype.next.call(this, item, key, owner); | ||
this.success = !this.success; | ||
}; | ||
return $Nor; | ||
})($Or); | ||
var $Exists = /** @class */ (function(_super) { | ||
__extends($Exists, _super); | ||
function $Exists() { | ||
return (_super !== null && _super.apply(this, arguments)) || this; | ||
} | ||
$Exists.prototype.next = function(item, key, owner) { | ||
if (owner.hasOwnProperty(key) === this.params) { | ||
this.done = true; | ||
this.success = true; | ||
$Not.prototype.next = function (item, key, owner) { | ||
_super.prototype.next.call(this, item, key, owner); | ||
this.success = !this.success; | ||
}; | ||
return $Not; | ||
}($ElemMatch)); | ||
var $Or = /** @class */ (function (_super) { | ||
__extends($Or, _super); | ||
function $Or() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
}; | ||
return $Exists; | ||
})(core_1.BaseOperation); | ||
var $And = /** @class */ (function(_super) { | ||
__extends($And, _super); | ||
function $And(params, owneryQuery, options) { | ||
return ( | ||
_super.call( | ||
this, | ||
params, | ||
owneryQuery, | ||
options, | ||
params.map(function(query) { | ||
return core_1.createQueryOperation(query, owneryQuery, options); | ||
}) | ||
) || this | ||
); | ||
} | ||
$And.prototype.next = function(item, key, owner) { | ||
this.childrenNext(item, key, owner); | ||
}; | ||
return $And; | ||
})(core_1.GroupOperation); | ||
exports.$eq = function(params, owneryQuery, options) { | ||
return new core_1.EqualsOperation(params, owneryQuery, options); | ||
$Or.prototype.init = function () { | ||
var _this = this; | ||
this._ops = this.params.map(function (op) { | ||
return core_1.createQueryOperation(op, null, _this.options); | ||
}); | ||
}; | ||
$Or.prototype.reset = function () { | ||
this.done = false; | ||
this.success = false; | ||
for (var i = 0, length_1 = this._ops.length; i < length_1; i++) { | ||
this._ops[i].reset(); | ||
} | ||
}; | ||
$Or.prototype.next = function (item, key, owner) { | ||
var done = false; | ||
var success = false; | ||
for (var i = 0, length_2 = this._ops.length; i < length_2; i++) { | ||
var op = this._ops[i]; | ||
op.next(item, key, owner); | ||
if (op.success) { | ||
done = true; | ||
success = op.success; | ||
break; | ||
} | ||
} | ||
this.success = success; | ||
this.done = done; | ||
}; | ||
return $Or; | ||
}(core_1.BaseOperation)); | ||
var $Nor = /** @class */ (function (_super) { | ||
__extends($Nor, _super); | ||
function $Nor() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
$Nor.prototype.next = function (item, key, owner) { | ||
_super.prototype.next.call(this, item, key, owner); | ||
this.success = !this.success; | ||
}; | ||
return $Nor; | ||
}($Or)); | ||
var $Exists = /** @class */ (function (_super) { | ||
__extends($Exists, _super); | ||
function $Exists() { | ||
return _super !== null && _super.apply(this, arguments) || this; | ||
} | ||
$Exists.prototype.next = function (item, key, owner) { | ||
if (owner.hasOwnProperty(key) === this.params) { | ||
this.done = true; | ||
this.success = true; | ||
} | ||
}; | ||
return $Exists; | ||
}(core_1.BaseOperation)); | ||
var $And = /** @class */ (function (_super) { | ||
__extends($And, _super); | ||
function $And(params, owneryQuery, options) { | ||
return _super.call(this, params, owneryQuery, options, params.map(function (query) { return core_1.createQueryOperation(query, owneryQuery, options); })) || this; | ||
} | ||
$And.prototype.next = function (item, key, owner) { | ||
this.childrenNext(item, key, owner); | ||
}; | ||
return $And; | ||
}(core_1.GroupOperation)); | ||
exports.$eq = function (params, owneryQuery, options) { | ||
return new core_1.EqualsOperation(params, owneryQuery, options); | ||
}; | ||
exports.$ne = function(params, owneryQuery, options) { | ||
return new $Ne(params, owneryQuery, options); | ||
exports.$ne = function (params, owneryQuery, options) { | ||
return new $Ne(params, owneryQuery, options); | ||
}; | ||
exports.$or = function(params, owneryQuery, options) { | ||
return new $Or(params, owneryQuery, options); | ||
exports.$or = function (params, owneryQuery, options) { | ||
return new $Or(params, owneryQuery, options); | ||
}; | ||
exports.$nor = function(params, owneryQuery, options) { | ||
return new $Nor(params, owneryQuery, options); | ||
exports.$nor = function (params, owneryQuery, options) { | ||
return new $Nor(params, owneryQuery, options); | ||
}; | ||
exports.$elemMatch = function(params, owneryQuery, options) { | ||
return new $ElemMatch(params, owneryQuery, options); | ||
exports.$elemMatch = function (params, owneryQuery, options) { | ||
return new $ElemMatch(params, owneryQuery, options); | ||
}; | ||
exports.$nin = function(params, owneryQuery, options) { | ||
return new $Nor(params, owneryQuery, options); | ||
exports.$nin = function (params, owneryQuery, options) { | ||
return new $Nor(params, owneryQuery, options); | ||
}; | ||
exports.$in = function(params, owneryQuery, options) { | ||
return new $Or(params, owneryQuery, options); | ||
exports.$in = function (params, owneryQuery, options) { | ||
return new $Or(params, owneryQuery, options); | ||
}; | ||
exports.$lt = core_1.numericalOperationCreator(function( | ||
params, | ||
owneryQuery, | ||
options | ||
) { | ||
return new core_1.EqualsOperation( | ||
function(b) { | ||
return b < params; | ||
}, | ||
owneryQuery, | ||
options | ||
); | ||
exports.$lt = core_1.numericalOperationCreator(function (params, owneryQuery, options) { | ||
return new core_1.EqualsOperation(function (b) { return b < params; }, owneryQuery, options); | ||
}); | ||
exports.$lte = core_1.numericalOperationCreator(function( | ||
params, | ||
owneryQuery, | ||
options | ||
) { | ||
return new core_1.EqualsOperation( | ||
function(b) { | ||
return b <= params; | ||
}, | ||
owneryQuery, | ||
options | ||
); | ||
exports.$lte = core_1.numericalOperationCreator(function (params, owneryQuery, options) { | ||
return new core_1.EqualsOperation(function (b) { return b <= params; }, owneryQuery, options); | ||
}); | ||
exports.$gt = core_1.numericalOperationCreator(function( | ||
params, | ||
owneryQuery, | ||
options | ||
) { | ||
return new core_1.EqualsOperation( | ||
function(b) { | ||
return b > params; | ||
}, | ||
owneryQuery, | ||
options | ||
); | ||
exports.$gt = core_1.numericalOperationCreator(function (params, owneryQuery, options) { | ||
return new core_1.EqualsOperation(function (b) { return b > params; }, owneryQuery, options); | ||
}); | ||
exports.$gte = core_1.numericalOperationCreator(function( | ||
params, | ||
owneryQuery, | ||
options | ||
) { | ||
return new core_1.EqualsOperation( | ||
function(b) { | ||
return b >= params; | ||
}, | ||
owneryQuery, | ||
options | ||
); | ||
exports.$gte = core_1.numericalOperationCreator(function (params, owneryQuery, options) { | ||
return new core_1.EqualsOperation(function (b) { return b >= params; }, owneryQuery, options); | ||
}); | ||
exports.$mod = function(_a, owneryQuery, options) { | ||
var mod = _a[0], | ||
equalsValue = _a[1]; | ||
return new core_1.EqualsOperation( | ||
function(b) { | ||
return utils_1.comparable(b) % mod === equalsValue; | ||
}, | ||
owneryQuery, | ||
options | ||
); | ||
exports.$mod = function (_a, owneryQuery, options) { | ||
var mod = _a[0], equalsValue = _a[1]; | ||
return new core_1.EqualsOperation(function (b) { return utils_1.comparable(b) % mod === equalsValue; }, owneryQuery, options); | ||
}; | ||
exports.$exists = function(params, owneryQuery, options) { | ||
return new $Exists(params, owneryQuery, options); | ||
exports.$exists = function (params, owneryQuery, options) { return new $Exists(params, owneryQuery, options); }; | ||
exports.$regex = function (pattern, owneryQuery, options) { | ||
return new core_1.EqualsOperation(new RegExp(pattern, owneryQuery.$options), owneryQuery, options); | ||
}; | ||
exports.$regex = function(pattern, owneryQuery, options) { | ||
return new core_1.EqualsOperation( | ||
new RegExp(pattern, owneryQuery.$options), | ||
owneryQuery, | ||
options | ||
); | ||
exports.$not = function (params, owneryQuery, options) { | ||
return new $Not(params, owneryQuery, options); | ||
}; | ||
exports.$not = function(params, owneryQuery, options) { | ||
return new $Not(params, owneryQuery, options); | ||
exports.$type = function (clazz, owneryQuery, options) { | ||
return new core_1.EqualsOperation(function (b) { return (b != null ? b instanceof clazz || b.constructor === clazz : false); }, owneryQuery, options); | ||
}; | ||
exports.$type = function(clazz, owneryQuery, options) { | ||
return new core_1.EqualsOperation( | ||
function(b) { | ||
return b != null ? b instanceof clazz || b.constructor === clazz : false; | ||
}, | ||
owneryQuery, | ||
options | ||
); | ||
exports.$and = function (params, ownerQuery, options) { | ||
return new $And(params, ownerQuery, options); | ||
}; | ||
exports.$and = function(params, ownerQuery, options) { | ||
return new $And(params, ownerQuery, options); | ||
}; | ||
exports.$all = exports.$and; | ||
exports.$size = function(params, ownerQuery, options) { | ||
return new core_1.EqualsOperation( | ||
function(b) { | ||
return b && b.length === params; | ||
}, | ||
ownerQuery, | ||
options | ||
); | ||
exports.$size = function (params, ownerQuery, options) { | ||
return new core_1.EqualsOperation(function (b) { return b && b.length === params; }, ownerQuery, options); | ||
}; | ||
exports.$options = function() { | ||
return null; | ||
exports.$options = function () { return null; }; | ||
exports.$where = function (params, ownerQuery, options) { | ||
var test; | ||
if (utils_1.isFunction(params)) { | ||
test = params; | ||
} | ||
else if (!process.env.CSP_ENABLED) { | ||
test = new Function("obj", "return " + params); | ||
} | ||
else { | ||
throw new Error("In CSP mode, sift does not support strings in \"$where\" condition"); | ||
} | ||
return new core_1.EqualsOperation(function (b) { return test.bind(b)(b); }, ownerQuery, options); | ||
}; | ||
exports.$where = function(params, ownerQuery, options) { | ||
var test; | ||
if (utils_1.isFunction(params)) { | ||
test = params; | ||
} else if (!process.env.CSP_ENABLED) { | ||
test = new Function("obj", "return " + params); | ||
} else { | ||
throw new Error( | ||
'In CSP mode, sift does not support strings in "$where" condition' | ||
); | ||
} | ||
return new core_1.EqualsOperation( | ||
function(b) { | ||
return test.bind(b)(b); | ||
}, | ||
ownerQuery, | ||
options | ||
); | ||
}; |
101
lib/utils.js
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.typeChecker = function(type) { | ||
var typeString = "[object " + type + "]"; | ||
return function(value) { | ||
return getClassName(value) === typeString; | ||
}; | ||
exports.typeChecker = function (type) { | ||
var typeString = "[object " + type + "]"; | ||
return function (value) { | ||
return getClassName(value) === typeString; | ||
}; | ||
}; | ||
var getClassName = function(value) { | ||
return Object.prototype.toString.call(value); | ||
var getClassName = function (value) { return Object.prototype.toString.call(value); }; | ||
exports.comparable = function (value) { | ||
if (value instanceof Date) { | ||
return value.getTime(); | ||
} | ||
else if (exports.isArray(value)) { | ||
return value.map(exports.comparable); | ||
} | ||
else if (value && typeof value.toJSON === "function") { | ||
return value.toJSON(); | ||
} | ||
return value; | ||
}; | ||
exports.comparable = function(value) { | ||
if (value instanceof Date) { | ||
return value.getTime(); | ||
} else if (exports.isArray(value)) { | ||
return value.map(exports.comparable); | ||
} else if (value && typeof value.toJSON === "function") { | ||
return value.toJSON(); | ||
} | ||
return value; | ||
}; | ||
exports.isArray = exports.typeChecker("Array"); | ||
exports.isObject = exports.typeChecker("Object"); | ||
exports.isFunction = exports.typeChecker("Function"); | ||
exports.isVanillaObject = function(value) { | ||
return ( | ||
value && | ||
(value.constructor === Object || | ||
value.constructor === Array || | ||
value.constructor.toString() === "function Object() { [native code] }" || | ||
value.constructor.toString() === "function Array() { [native code] }") && | ||
!value.toJSON | ||
); | ||
exports.isVanillaObject = function (value) { | ||
return (value && | ||
(value.constructor === Object || | ||
value.constructor === Array || | ||
value.constructor.toString() === "function Object() { [native code] }" || | ||
value.constructor.toString() === "function Array() { [native code] }") && | ||
!value.toJSON); | ||
}; | ||
exports.equals = function(a, b) { | ||
if (a == null && a == b) { | ||
return true; | ||
} | ||
if (a === b) { | ||
return true; | ||
} | ||
if (Object.prototype.toString.call(a) !== Object.prototype.toString.call(b)) { | ||
return false; | ||
} | ||
if (exports.isArray(a)) { | ||
if (a.length !== b.length) { | ||
return false; | ||
exports.equals = function (a, b) { | ||
if (a == null && a == b) { | ||
return true; | ||
} | ||
for (var i = 0, length_1 = a.length; i < length_1; i++) { | ||
if (!exports.equals(a[i], b[i])) return false; | ||
if (a === b) { | ||
return true; | ||
} | ||
return true; | ||
} else if (exports.isObject(a)) { | ||
if (Object.keys(a).length !== Object.keys(b).length) { | ||
return false; | ||
if (Object.prototype.toString.call(a) !== Object.prototype.toString.call(b)) { | ||
return false; | ||
} | ||
for (var key in a) { | ||
if (!exports.equals(a[key], b[key])) return false; | ||
if (exports.isArray(a)) { | ||
if (a.length !== b.length) { | ||
return false; | ||
} | ||
for (var i = 0, length_1 = a.length; i < length_1; i++) { | ||
if (!exports.equals(a[i], b[i])) | ||
return false; | ||
} | ||
return true; | ||
} | ||
return true; | ||
} | ||
return false; | ||
else if (exports.isObject(a)) { | ||
if (Object.keys(a).length !== Object.keys(b).length) { | ||
return false; | ||
} | ||
for (var key in a) { | ||
if (!exports.equals(a[key], b[key])) | ||
return false; | ||
} | ||
return true; | ||
} | ||
return false; | ||
}; |
{ | ||
"name": "sift", | ||
"description": "mongodb query style array filtering", | ||
"version": "11.0.2", | ||
"version": "11.0.4", | ||
"repository": "crcn/sift.js", | ||
@@ -9,4 +9,3 @@ "sideEffects": false, | ||
"name": "Craig Condon", | ||
"email": "craig.j.condon@gmail.com", | ||
"url": "http://crcn.io" | ||
"email": "craig.j.condon@gmail.com" | ||
}, | ||
@@ -39,13 +38,15 @@ "license": "MIT", | ||
}, | ||
"main": "./lib/index.js", | ||
"module": "./lib/index.js", | ||
"es2015": "./lib/index.js", | ||
"main": "./index.js", | ||
"module": "./es5m/index.js", | ||
"es2015": "./es5m/index.js", | ||
"scripts": { | ||
"build": "npm run build:lib && npm run build:min && npm run build:csp", | ||
"build": "npm run build:lib && npm run build:es5m && npm run build:min && npm run build:csp", | ||
"build:lib": "tsc", | ||
"build:es5m": "tsc --build tsconfig.es5m.json", | ||
"build:min": "webpack", | ||
"build:csp": "CSP_ENABLED=1 webpack", | ||
"build:watch": "tsc --watch", | ||
"test": "mocha ./test -R spec --compilers js:@babel/register" | ||
"test": "mocha ./test -R spec --compilers js:@babel/register", | ||
"prepublishOnly": "npm run build && npm run test" | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.sift=n():t.sift=n()}(this,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=2)}([function(t,n,e){"use strict";var r,o=this&&this.__extends||(r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)},function(t,n){function e(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}),i=this&&this.__spreadArrays||function(){for(var t=0,n=0,e=arguments.length;n<e;n++)t+=arguments[n].length;var r=Array(t),o=0;for(n=0;n<e;n++)for(var i=arguments[n],u=0,s=i.length;u<s;u++,o++)r[o]=i[u];return r};Object.defineProperty(n,"__esModule",{value:!0});var u=e(1),s=function(t,n,e,r,o,i){var c=n[r];if(u.isArray(t)&&isNaN(Number(c)))for(var a=0,p=t.length;a<p;a++)if(!s(t[a],n,e,r,a,t))return!1;return r===n.length||null==t?e(t,o,i):s(t[c],n,e,r+1,c,t)},c=function(){function t(t,n,e){this.params=t,this.owneryQuery=n,this.options=e,this.init()}return t.prototype.init=function(){},t.prototype.reset=function(){this.done=!1,this.success=!1},t}();n.BaseOperation=c;var a=function(t){function n(n,e,r,o){var i=t.call(this,n,e,r)||this;return i._children=o,i}return o(n,t),n.prototype.reset=function(){this.success=!1,this.done=!1;for(var t=0,n=this._children.length;t<n;t++)this._children[t].reset()},n.prototype.childrenNext=function(t,n,e){for(var r=!0,o=!0,i=0,u=this._children.length;i<u;i++){var s=this._children[i];if(s.next(t,n,e),s.success||(o=!1),s.done){if(!s.success)break}else r=!1}this.done=r,this.success=o},n}(c);n.GroupOperation=a;var p=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(t,n,e){this.childrenNext(t,n,e)},n}(a);n.QueryOperation=p;var f=function(t){function n(n,e,r,o,i){var u=t.call(this,e,r,o,i)||this;return u.keyPath=n,u._nextNestedValue=function(t,n,e){return u.childrenNext(t,n,e),!u.done},u}return o(n,t),n.prototype.next=function(t,n,e){s(t,this.keyPath,this._nextNestedValue,0,n,e)},n}(a);n.NestedOperation=f,n.createTester=function(t,n){if(t instanceof Function)return t;if(t instanceof RegExp)return function(n){return"string"==typeof n&&t.test(n)};var e=u.comparable(t);return function(t){return n(e,u.comparable(t))}};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.init=function(){this._test=n.createTester(this.params,this.options.compare)},e.prototype.next=function(t,n,e){this._test(t,n,e)&&(this.done=!0,this.success=!0)},e}(c);n.EqualsOperation=l;var h=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(){this.done=!0,this.success=!1},n}(c);n.NopeOperation=h,n.numericalOperationCreator=function(t){return function(n,e,r){return null==n?new h(n,e,r):t(n,e,r)}};var y=function(t,n,e,r){var o=r.operations[t];if(!o)throw new Error("Unsupported operation: "+t);return o(n,e,r)},O=function(t,n,e,r){if(function(t){for(var n in t)if("$"===n.charAt(0))return!0;return!1}(n)){var o=d(n,r),i=o[0];if(o[1].length)throw new Error("Property queries must contain only operations, or exact objects.");return new f(t,n,e,r,i)}return new f(t,n,e,r,[new l(n,e,r)])};n.createQueryOperation=function(t,n,e){var r=d(t,e),o=r[0],u=r[1],s=i([new f([],t,n,e,o)],u);return 1===s.length?s[0]:new p(t,n,e,s)};var d=function(t,n){var e=[],r=[];for(var o in u.isVanillaObject(t)||(t={$eq:t}),t)if("$"===o.charAt(0)){var i=y(o,t[o],t,n);null!=i&&e.push(i)}else r.push(O(o.split("."),t[o],t,n));return[e,r]};n.createQueryTester=function(t,e){var r=void 0===e?{}:e,o=r.compare,i=r.operations,s=n.createQueryOperation(t,null,{compare:o||u.equals,operations:Object.assign({},i||{})});return function(t,n,e){return s.reset(),s.next(t,n,e),s.success}}},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecker=function(t){var n="[object "+t+"]";return function(t){return r(t)===n}};var r=function(t){return Object.prototype.toString.call(t)};n.comparable=function(t){return t instanceof Date?t.getTime():n.isArray(t)?t.map(n.comparable):t&&"function"==typeof t.toJSON?t.toJSON():t},n.isArray=n.typeChecker("Array"),n.isObject=n.typeChecker("Object"),n.isFunction=n.typeChecker("Function"),n.isVanillaObject=function(t){return t&&(t.constructor===Object||t.constructor===Array||"function Object() { [native code] }"===t.constructor.toString()||"function Array() { [native code] }"===t.constructor.toString())&&!t.toJSON},n.equals=function(t,e){if(null==t&&t==e)return!0;if(t===e)return!0;if(Object.prototype.toString.call(t)!==Object.prototype.toString.call(e))return!1;if(n.isArray(t)){if(t.length!==e.length)return!1;for(var r=0,o=t.length;r<o;r++)if(!n.equals(t[r],e[r]))return!1;return!0}if(n.isObject(t)){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var i in t)if(!n.equals(t[i],e[i]))return!1;return!0}return!1}},function(t,n,e){t.exports=e(3)},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e(4),o=e(0);n.EqualsOperation=o.EqualsOperation;var i=function(t,n){var e=void 0===n?{}:n,i=e.compare,u=e.operations;return o.createQueryTester(t,{compare:i,operations:Object.assign({},r,u||{})})};t.exports=i,n.default=i},function(t,n,e){"use strict";var r,o=this&&this.__extends||(r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)},function(t,n){function e(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)});Object.defineProperty(n,"__esModule",{value:!0});var i=e(0),u=e(1),s=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){this._test=i.createTester(this.params,this.options.compare)},n.prototype.reset=function(){t.prototype.reset.call(this),this.success=!0},n.prototype.next=function(t){this._test(t)&&(this.done=!0,this.success=!1)},n}(i.BaseOperation),c=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){this._queryOperation=i.createQueryOperation(this.params,this.owneryQuery,this.options)},n.prototype.reset=function(){this._queryOperation.reset()},n.prototype.next=function(t,n,e){this._queryOperation.next(t,n,e),this.done=this._queryOperation.done,this.success=this._queryOperation.success},n}(i.BaseOperation),a=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(n,e,r){t.prototype.next.call(this,n,e,r),this.success=!this.success},n}(c),p=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){var t=this;this._ops=this.params.map((function(n){return i.createQueryOperation(n,null,t.options)}))},n.prototype.reset=function(){this.done=!1,this.success=!1;for(var t=0,n=this._ops.length;t<n;t++)this._ops[t].reset()},n.prototype.next=function(t,n,e){for(var r=!1,o=!1,i=0,u=this._ops.length;i<u;i++){var s=this._ops[i];if(s.next(t,n,e),s.success){r=!0,o=s.success;break}}this.success=o,this.done=r},n}(i.BaseOperation),f=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(n,e,r){t.prototype.next.call(this,n,e,r),this.success=!this.success},n}(p),l=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(t,n,e){e.hasOwnProperty(n)===this.params&&(this.done=!0,this.success=!0)},n}(i.BaseOperation),h=function(t){function n(n,e,r){return t.call(this,n,e,r,n.map((function(t){return i.createQueryOperation(t,e,r)})))||this}return o(n,t),n.prototype.next=function(t,n,e){this.childrenNext(t,n,e)},n}(i.GroupOperation);n.$eq=function(t,n,e){return new i.EqualsOperation(t,n,e)},n.$ne=function(t,n,e){return new s(t,n,e)},n.$or=function(t,n,e){return new p(t,n,e)},n.$nor=function(t,n,e){return new f(t,n,e)},n.$elemMatch=function(t,n,e){return new c(t,n,e)},n.$nin=function(t,n,e){return new f(t,n,e)},n.$in=function(t,n,e){return new p(t,n,e)},n.$lt=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n<t}),n,e)})),n.$lte=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n<=t}),n,e)})),n.$gt=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n>t}),n,e)})),n.$gte=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n>=t}),n,e)})),n.$mod=function(t,n,e){var r=t[0],o=t[1];return new i.EqualsOperation((function(t){return u.comparable(t)%r===o}),n,e)},n.$exists=function(t,n,e){return new l(t,n,e)},n.$regex=function(t,n,e){return new i.EqualsOperation(new RegExp(t,n.$options),n,e)},n.$not=function(t,n,e){return new a(t,n,e)},n.$type=function(t,n,e){return new i.EqualsOperation((function(n){return null!=n&&(n instanceof t||n.constructor===t)}),n,e)},n.$and=function(t,n,e){return new h(t,n,e)},n.$all=n.$and,n.$size=function(t,n,e){return new i.EqualsOperation((function(n){return n&&n.length===t}),n,e)},n.$options=function(){return null},n.$where=function(t,n,e){var r;if(!u.isFunction(t))throw new Error('In CSP mode, sift does not support strings in "$where" condition');return r=t,new i.EqualsOperation((function(t){return r.bind(t)(t)}),n,e)}}])})); | ||
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.sift=n():t.sift=n()}(this,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=2)}([function(t,n,e){"use strict";var r,o=this&&this.__extends||(r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)},function(t,n){function e(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}),i=this&&this.__spreadArrays||function(){for(var t=0,n=0,e=arguments.length;n<e;n++)t+=arguments[n].length;var r=Array(t),o=0;for(n=0;n<e;n++)for(var i=arguments[n],u=0,s=i.length;u<s;u++,o++)r[o]=i[u];return r};Object.defineProperty(n,"__esModule",{value:!0});var u=e(1),s=function(t,n,e,r,o,i){var c=n[r];if(u.isArray(t)&&isNaN(Number(c)))for(var a=0,p=t.length;a<p;a++)if(!s(t[a],n,e,r,a,t))return!1;return r===n.length||null==t?e(t,o,i):s(t[c],n,e,r+1,c,t)},c=function(){function t(t,n,e){this.params=t,this.owneryQuery=n,this.options=e,this.init()}return t.prototype.init=function(){},t.prototype.reset=function(){this.done=!1,this.success=!1},t}();n.BaseOperation=c;var a=function(t){function n(n,e,r,o){var i=t.call(this,n,e,r)||this;return i._children=o,i}return o(n,t),n.prototype.reset=function(){this.success=!1,this.done=!1;for(var t=0,n=this._children.length;t<n;t++)this._children[t].reset()},n.prototype.childrenNext=function(t,n,e){for(var r=!0,o=!0,i=0,u=this._children.length;i<u;i++){var s=this._children[i];if(s.next(t,n,e),s.success||(o=!1),s.done){if(!s.success)break}else r=!1}this.done=r,this.success=o},n}(c);n.GroupOperation=a;var p=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(t,n,e){this.childrenNext(t,n,e)},n}(a);n.QueryOperation=p;var f=function(t){function n(n,e,r,o,i){var u=t.call(this,e,r,o,i)||this;return u.keyPath=n,u._nextNestedValue=function(t,n,e){return u.childrenNext(t,n,e),!u.done},u}return o(n,t),n.prototype.next=function(t,n,e){s(t,this.keyPath,this._nextNestedValue,0,n,e)},n}(a);n.NestedOperation=f,n.createTester=function(t,n){if(t instanceof Function)return t;if(t instanceof RegExp)return function(n){return"string"==typeof n&&t.test(n)};var e=u.comparable(t);return function(t){return n(e,u.comparable(t))}};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.init=function(){this._test=n.createTester(this.params,this.options.compare)},e.prototype.next=function(t,n,e){this._test(t,n,e)&&(this.done=!0,this.success=!0)},e}(c);n.EqualsOperation=l;var h=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(){this.done=!0,this.success=!1},n}(c);n.NopeOperation=h,n.numericalOperationCreator=function(t){return function(n,e,r){return null==n?new h(n,e,r):t(n,e,r)}};var y=function(t,n,e,r){var o=r.operations[t];if(!o)throw new Error("Unsupported operation: "+t);return o(n,e,r)},O=function(t,n,e,r){if(function(t){for(var n in t)if("$"===n.charAt(0))return!0;return!1}(n)){var o=d(n,r),i=o[0];if(o[1].length)throw new Error("Property queries must contain only operations, or exact objects.");return new f(t,n,e,r,i)}return new f(t,n,e,r,[new l(n,e,r)])};n.createQueryOperation=function(t,n,e){var r=d(t,e),o=r[0],u=r[1],s=i([new f([],t,n,e,o)],u);return 1===s.length?s[0]:new p(t,n,e,s)};var d=function(t,n){var e=[],r=[];for(var o in u.isVanillaObject(t)||(t={$eq:t}),t)if("$"===o.charAt(0)){var i=y(o,t[o],t,n);null!=i&&e.push(i)}else r.push(O(o.split("."),t[o],t,n));return[e,r]};n.createQueryTester=function(t,e){var r=void 0===e?{}:e,o=r.compare,i=r.operations,s=n.createQueryOperation(t,null,{compare:o||u.equals,operations:Object.assign({},i||{})});return function(t,n,e){return s.reset(),s.next(t,n,e),s.success}}},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecker=function(t){var n="[object "+t+"]";return function(t){return r(t)===n}};var r=function(t){return Object.prototype.toString.call(t)};n.comparable=function(t){return t instanceof Date?t.getTime():n.isArray(t)?t.map(n.comparable):t&&"function"==typeof t.toJSON?t.toJSON():t},n.isArray=n.typeChecker("Array"),n.isObject=n.typeChecker("Object"),n.isFunction=n.typeChecker("Function"),n.isVanillaObject=function(t){return t&&(t.constructor===Object||t.constructor===Array||"function Object() { [native code] }"===t.constructor.toString()||"function Array() { [native code] }"===t.constructor.toString())&&!t.toJSON},n.equals=function(t,e){if(null==t&&t==e)return!0;if(t===e)return!0;if(Object.prototype.toString.call(t)!==Object.prototype.toString.call(e))return!1;if(n.isArray(t)){if(t.length!==e.length)return!1;for(var r=0,o=t.length;r<o;r++)if(!n.equals(t[r],e[r]))return!1;return!0}if(n.isObject(t)){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var i in t)if(!n.equals(t[i],e[i]))return!1;return!0}return!1}},function(t,n,e){t.exports=e(3)},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e(4),o=e(0);n.createQueryTester=o.createQueryTester,n.EqualsOperation=o.EqualsOperation;n.default=function(t,n){var e=void 0===n?{}:n,i=e.compare,u=e.operations;return o.createQueryTester(t,{compare:i,operations:Object.assign({},r,u||{})})}},function(t,n,e){"use strict";var r,o=this&&this.__extends||(r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)},function(t,n){function e(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)});Object.defineProperty(n,"__esModule",{value:!0});var i=e(0),u=e(1),s=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){this._test=i.createTester(this.params,this.options.compare)},n.prototype.reset=function(){t.prototype.reset.call(this),this.success=!0},n.prototype.next=function(t){this._test(t)&&(this.done=!0,this.success=!1)},n}(i.BaseOperation),c=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){this._queryOperation=i.createQueryOperation(this.params,this.owneryQuery,this.options)},n.prototype.reset=function(){this._queryOperation.reset()},n.prototype.next=function(t,n,e){this._queryOperation.next(t,n,e),this.done=this._queryOperation.done,this.success=this._queryOperation.success},n}(i.BaseOperation),a=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(n,e,r){t.prototype.next.call(this,n,e,r),this.success=!this.success},n}(c),p=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){var t=this;this._ops=this.params.map((function(n){return i.createQueryOperation(n,null,t.options)}))},n.prototype.reset=function(){this.done=!1,this.success=!1;for(var t=0,n=this._ops.length;t<n;t++)this._ops[t].reset()},n.prototype.next=function(t,n,e){for(var r=!1,o=!1,i=0,u=this._ops.length;i<u;i++){var s=this._ops[i];if(s.next(t,n,e),s.success){r=!0,o=s.success;break}}this.success=o,this.done=r},n}(i.BaseOperation),f=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(n,e,r){t.prototype.next.call(this,n,e,r),this.success=!this.success},n}(p),l=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(t,n,e){e.hasOwnProperty(n)===this.params&&(this.done=!0,this.success=!0)},n}(i.BaseOperation),h=function(t){function n(n,e,r){return t.call(this,n,e,r,n.map((function(t){return i.createQueryOperation(t,e,r)})))||this}return o(n,t),n.prototype.next=function(t,n,e){this.childrenNext(t,n,e)},n}(i.GroupOperation);n.$eq=function(t,n,e){return new i.EqualsOperation(t,n,e)},n.$ne=function(t,n,e){return new s(t,n,e)},n.$or=function(t,n,e){return new p(t,n,e)},n.$nor=function(t,n,e){return new f(t,n,e)},n.$elemMatch=function(t,n,e){return new c(t,n,e)},n.$nin=function(t,n,e){return new f(t,n,e)},n.$in=function(t,n,e){return new p(t,n,e)},n.$lt=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n<t}),n,e)})),n.$lte=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n<=t}),n,e)})),n.$gt=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n>t}),n,e)})),n.$gte=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n>=t}),n,e)})),n.$mod=function(t,n,e){var r=t[0],o=t[1];return new i.EqualsOperation((function(t){return u.comparable(t)%r===o}),n,e)},n.$exists=function(t,n,e){return new l(t,n,e)},n.$regex=function(t,n,e){return new i.EqualsOperation(new RegExp(t,n.$options),n,e)},n.$not=function(t,n,e){return new a(t,n,e)},n.$type=function(t,n,e){return new i.EqualsOperation((function(n){return null!=n&&(n instanceof t||n.constructor===t)}),n,e)},n.$and=function(t,n,e){return new h(t,n,e)},n.$all=n.$and,n.$size=function(t,n,e){return new i.EqualsOperation((function(n){return n&&n.length===t}),n,e)},n.$options=function(){return null},n.$where=function(t,n,e){var r;if(!u.isFunction(t))throw new Error('In CSP mode, sift does not support strings in "$where" condition');return r=t,new i.EqualsOperation((function(t){return r.bind(t)(t)}),n,e)}}])})); | ||
//# sourceMappingURL=sift.csp.min.js.map |
@@ -1,2 +0,2 @@ | ||
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.sift=n():t.sift=n()}(this,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=2)}([function(t,n,e){"use strict";var r,o=this&&this.__extends||(r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)},function(t,n){function e(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}),i=this&&this.__spreadArrays||function(){for(var t=0,n=0,e=arguments.length;n<e;n++)t+=arguments[n].length;var r=Array(t),o=0;for(n=0;n<e;n++)for(var i=arguments[n],u=0,s=i.length;u<s;u++,o++)r[o]=i[u];return r};Object.defineProperty(n,"__esModule",{value:!0});var u=e(1),s=function(t,n,e,r,o,i){var c=n[r];if(u.isArray(t)&&isNaN(Number(c)))for(var a=0,p=t.length;a<p;a++)if(!s(t[a],n,e,r,a,t))return!1;return r===n.length||null==t?e(t,o,i):s(t[c],n,e,r+1,c,t)},c=function(){function t(t,n,e){this.params=t,this.owneryQuery=n,this.options=e,this.init()}return t.prototype.init=function(){},t.prototype.reset=function(){this.done=!1,this.success=!1},t}();n.BaseOperation=c;var a=function(t){function n(n,e,r,o){var i=t.call(this,n,e,r)||this;return i._children=o,i}return o(n,t),n.prototype.reset=function(){this.success=!1,this.done=!1;for(var t=0,n=this._children.length;t<n;t++)this._children[t].reset()},n.prototype.childrenNext=function(t,n,e){for(var r=!0,o=!0,i=0,u=this._children.length;i<u;i++){var s=this._children[i];if(s.next(t,n,e),s.success||(o=!1),s.done){if(!s.success)break}else r=!1}this.done=r,this.success=o},n}(c);n.GroupOperation=a;var p=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(t,n,e){this.childrenNext(t,n,e)},n}(a);n.QueryOperation=p;var f=function(t){function n(n,e,r,o,i){var u=t.call(this,e,r,o,i)||this;return u.keyPath=n,u._nextNestedValue=function(t,n,e){return u.childrenNext(t,n,e),!u.done},u}return o(n,t),n.prototype.next=function(t,n,e){s(t,this.keyPath,this._nextNestedValue,0,n,e)},n}(a);n.NestedOperation=f,n.createTester=function(t,n){if(t instanceof Function)return t;if(t instanceof RegExp)return function(n){return"string"==typeof n&&t.test(n)};var e=u.comparable(t);return function(t){return n(e,u.comparable(t))}};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.init=function(){this._test=n.createTester(this.params,this.options.compare)},e.prototype.next=function(t,n,e){this._test(t,n,e)&&(this.done=!0,this.success=!0)},e}(c);n.EqualsOperation=l;var h=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(){this.done=!0,this.success=!1},n}(c);n.NopeOperation=h,n.numericalOperationCreator=function(t){return function(n,e,r){return null==n?new h(n,e,r):t(n,e,r)}};var y=function(t,n,e,r){var o=r.operations[t];if(!o)throw new Error("Unsupported operation: "+t);return o(n,e,r)},O=function(t,n,e,r){if(function(t){for(var n in t)if("$"===n.charAt(0))return!0;return!1}(n)){var o=d(n,r),i=o[0];if(o[1].length)throw new Error("Property queries must contain only operations, or exact objects.");return new f(t,n,e,r,i)}return new f(t,n,e,r,[new l(n,e,r)])};n.createQueryOperation=function(t,n,e){var r=d(t,e),o=r[0],u=r[1],s=i([new f([],t,n,e,o)],u);return 1===s.length?s[0]:new p(t,n,e,s)};var d=function(t,n){var e=[],r=[];for(var o in u.isVanillaObject(t)||(t={$eq:t}),t)if("$"===o.charAt(0)){var i=y(o,t[o],t,n);null!=i&&e.push(i)}else r.push(O(o.split("."),t[o],t,n));return[e,r]};n.createQueryTester=function(t,e){var r=void 0===e?{}:e,o=r.compare,i=r.operations,s=n.createQueryOperation(t,null,{compare:o||u.equals,operations:Object.assign({},i||{})});return function(t,n,e){return s.reset(),s.next(t,n,e),s.success}}},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecker=function(t){var n="[object "+t+"]";return function(t){return r(t)===n}};var r=function(t){return Object.prototype.toString.call(t)};n.comparable=function(t){return t instanceof Date?t.getTime():n.isArray(t)?t.map(n.comparable):t&&"function"==typeof t.toJSON?t.toJSON():t},n.isArray=n.typeChecker("Array"),n.isObject=n.typeChecker("Object"),n.isFunction=n.typeChecker("Function"),n.isVanillaObject=function(t){return t&&(t.constructor===Object||t.constructor===Array||"function Object() { [native code] }"===t.constructor.toString()||"function Array() { [native code] }"===t.constructor.toString())&&!t.toJSON},n.equals=function(t,e){if(null==t&&t==e)return!0;if(t===e)return!0;if(Object.prototype.toString.call(t)!==Object.prototype.toString.call(e))return!1;if(n.isArray(t)){if(t.length!==e.length)return!1;for(var r=0,o=t.length;r<o;r++)if(!n.equals(t[r],e[r]))return!1;return!0}if(n.isObject(t)){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var i in t)if(!n.equals(t[i],e[i]))return!1;return!0}return!1}},function(t,n,e){t.exports=e(3)},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e(4),o=e(0);n.EqualsOperation=o.EqualsOperation;var i=function(t,n){var e=void 0===n?{}:n,i=e.compare,u=e.operations;return o.createQueryTester(t,{compare:i,operations:Object.assign({},r,u||{})})};t.exports=i,n.default=i},function(t,n,e){"use strict";var r,o=this&&this.__extends||(r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)},function(t,n){function e(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)});Object.defineProperty(n,"__esModule",{value:!0});var i=e(0),u=e(1),s=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){this._test=i.createTester(this.params,this.options.compare)},n.prototype.reset=function(){t.prototype.reset.call(this),this.success=!0},n.prototype.next=function(t){this._test(t)&&(this.done=!0,this.success=!1)},n}(i.BaseOperation),c=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){this._queryOperation=i.createQueryOperation(this.params,this.owneryQuery,this.options)},n.prototype.reset=function(){this._queryOperation.reset()},n.prototype.next=function(t,n,e){this._queryOperation.next(t,n,e),this.done=this._queryOperation.done,this.success=this._queryOperation.success},n}(i.BaseOperation),a=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(n,e,r){t.prototype.next.call(this,n,e,r),this.success=!this.success},n}(c),p=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){var t=this;this._ops=this.params.map((function(n){return i.createQueryOperation(n,null,t.options)}))},n.prototype.reset=function(){this.done=!1,this.success=!1;for(var t=0,n=this._ops.length;t<n;t++)this._ops[t].reset()},n.prototype.next=function(t,n,e){for(var r=!1,o=!1,i=0,u=this._ops.length;i<u;i++){var s=this._ops[i];if(s.next(t,n,e),s.success){r=!0,o=s.success;break}}this.success=o,this.done=r},n}(i.BaseOperation),f=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(n,e,r){t.prototype.next.call(this,n,e,r),this.success=!this.success},n}(p),l=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(t,n,e){e.hasOwnProperty(n)===this.params&&(this.done=!0,this.success=!0)},n}(i.BaseOperation),h=function(t){function n(n,e,r){return t.call(this,n,e,r,n.map((function(t){return i.createQueryOperation(t,e,r)})))||this}return o(n,t),n.prototype.next=function(t,n,e){this.childrenNext(t,n,e)},n}(i.GroupOperation);n.$eq=function(t,n,e){return new i.EqualsOperation(t,n,e)},n.$ne=function(t,n,e){return new s(t,n,e)},n.$or=function(t,n,e){return new p(t,n,e)},n.$nor=function(t,n,e){return new f(t,n,e)},n.$elemMatch=function(t,n,e){return new c(t,n,e)},n.$nin=function(t,n,e){return new f(t,n,e)},n.$in=function(t,n,e){return new p(t,n,e)},n.$lt=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n<t}),n,e)})),n.$lte=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n<=t}),n,e)})),n.$gt=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n>t}),n,e)})),n.$gte=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n>=t}),n,e)})),n.$mod=function(t,n,e){var r=t[0],o=t[1];return new i.EqualsOperation((function(t){return u.comparable(t)%r===o}),n,e)},n.$exists=function(t,n,e){return new l(t,n,e)},n.$regex=function(t,n,e){return new i.EqualsOperation(new RegExp(t,n.$options),n,e)},n.$not=function(t,n,e){return new a(t,n,e)},n.$type=function(t,n,e){return new i.EqualsOperation((function(n){return null!=n&&(n instanceof t||n.constructor===t)}),n,e)},n.$and=function(t,n,e){return new h(t,n,e)},n.$all=n.$and,n.$size=function(t,n,e){return new i.EqualsOperation((function(n){return n&&n.length===t}),n,e)},n.$options=function(){return null},n.$where=function(t,n,e){var r;return r=u.isFunction(t)?t:new Function("obj","return "+t),new i.EqualsOperation((function(t){return r.bind(t)(t)}),n,e)}}])})); | ||
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.sift=n():t.sift=n()}(this,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=2)}([function(t,n,e){"use strict";var r,o=this&&this.__extends||(r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)},function(t,n){function e(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}),i=this&&this.__spreadArrays||function(){for(var t=0,n=0,e=arguments.length;n<e;n++)t+=arguments[n].length;var r=Array(t),o=0;for(n=0;n<e;n++)for(var i=arguments[n],u=0,s=i.length;u<s;u++,o++)r[o]=i[u];return r};Object.defineProperty(n,"__esModule",{value:!0});var u=e(1),s=function(t,n,e,r,o,i){var c=n[r];if(u.isArray(t)&&isNaN(Number(c)))for(var a=0,p=t.length;a<p;a++)if(!s(t[a],n,e,r,a,t))return!1;return r===n.length||null==t?e(t,o,i):s(t[c],n,e,r+1,c,t)},c=function(){function t(t,n,e){this.params=t,this.owneryQuery=n,this.options=e,this.init()}return t.prototype.init=function(){},t.prototype.reset=function(){this.done=!1,this.success=!1},t}();n.BaseOperation=c;var a=function(t){function n(n,e,r,o){var i=t.call(this,n,e,r)||this;return i._children=o,i}return o(n,t),n.prototype.reset=function(){this.success=!1,this.done=!1;for(var t=0,n=this._children.length;t<n;t++)this._children[t].reset()},n.prototype.childrenNext=function(t,n,e){for(var r=!0,o=!0,i=0,u=this._children.length;i<u;i++){var s=this._children[i];if(s.next(t,n,e),s.success||(o=!1),s.done){if(!s.success)break}else r=!1}this.done=r,this.success=o},n}(c);n.GroupOperation=a;var p=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(t,n,e){this.childrenNext(t,n,e)},n}(a);n.QueryOperation=p;var f=function(t){function n(n,e,r,o,i){var u=t.call(this,e,r,o,i)||this;return u.keyPath=n,u._nextNestedValue=function(t,n,e){return u.childrenNext(t,n,e),!u.done},u}return o(n,t),n.prototype.next=function(t,n,e){s(t,this.keyPath,this._nextNestedValue,0,n,e)},n}(a);n.NestedOperation=f,n.createTester=function(t,n){if(t instanceof Function)return t;if(t instanceof RegExp)return function(n){return"string"==typeof n&&t.test(n)};var e=u.comparable(t);return function(t){return n(e,u.comparable(t))}};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.init=function(){this._test=n.createTester(this.params,this.options.compare)},e.prototype.next=function(t,n,e){this._test(t,n,e)&&(this.done=!0,this.success=!0)},e}(c);n.EqualsOperation=l;var h=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(){this.done=!0,this.success=!1},n}(c);n.NopeOperation=h,n.numericalOperationCreator=function(t){return function(n,e,r){return null==n?new h(n,e,r):t(n,e,r)}};var y=function(t,n,e,r){var o=r.operations[t];if(!o)throw new Error("Unsupported operation: "+t);return o(n,e,r)},O=function(t,n,e,r){if(function(t){for(var n in t)if("$"===n.charAt(0))return!0;return!1}(n)){var o=d(n,r),i=o[0];if(o[1].length)throw new Error("Property queries must contain only operations, or exact objects.");return new f(t,n,e,r,i)}return new f(t,n,e,r,[new l(n,e,r)])};n.createQueryOperation=function(t,n,e){var r=d(t,e),o=r[0],u=r[1],s=i([new f([],t,n,e,o)],u);return 1===s.length?s[0]:new p(t,n,e,s)};var d=function(t,n){var e=[],r=[];for(var o in u.isVanillaObject(t)||(t={$eq:t}),t)if("$"===o.charAt(0)){var i=y(o,t[o],t,n);null!=i&&e.push(i)}else r.push(O(o.split("."),t[o],t,n));return[e,r]};n.createQueryTester=function(t,e){var r=void 0===e?{}:e,o=r.compare,i=r.operations,s=n.createQueryOperation(t,null,{compare:o||u.equals,operations:Object.assign({},i||{})});return function(t,n,e){return s.reset(),s.next(t,n,e),s.success}}},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.typeChecker=function(t){var n="[object "+t+"]";return function(t){return r(t)===n}};var r=function(t){return Object.prototype.toString.call(t)};n.comparable=function(t){return t instanceof Date?t.getTime():n.isArray(t)?t.map(n.comparable):t&&"function"==typeof t.toJSON?t.toJSON():t},n.isArray=n.typeChecker("Array"),n.isObject=n.typeChecker("Object"),n.isFunction=n.typeChecker("Function"),n.isVanillaObject=function(t){return t&&(t.constructor===Object||t.constructor===Array||"function Object() { [native code] }"===t.constructor.toString()||"function Array() { [native code] }"===t.constructor.toString())&&!t.toJSON},n.equals=function(t,e){if(null==t&&t==e)return!0;if(t===e)return!0;if(Object.prototype.toString.call(t)!==Object.prototype.toString.call(e))return!1;if(n.isArray(t)){if(t.length!==e.length)return!1;for(var r=0,o=t.length;r<o;r++)if(!n.equals(t[r],e[r]))return!1;return!0}if(n.isObject(t)){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var i in t)if(!n.equals(t[i],e[i]))return!1;return!0}return!1}},function(t,n,e){t.exports=e(3)},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e(4),o=e(0);n.createQueryTester=o.createQueryTester,n.EqualsOperation=o.EqualsOperation;n.default=function(t,n){var e=void 0===n?{}:n,i=e.compare,u=e.operations;return o.createQueryTester(t,{compare:i,operations:Object.assign({},r,u||{})})}},function(t,n,e){"use strict";var r,o=this&&this.__extends||(r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)},function(t,n){function e(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)});Object.defineProperty(n,"__esModule",{value:!0});var i=e(0),u=e(1),s=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){this._test=i.createTester(this.params,this.options.compare)},n.prototype.reset=function(){t.prototype.reset.call(this),this.success=!0},n.prototype.next=function(t){this._test(t)&&(this.done=!0,this.success=!1)},n}(i.BaseOperation),c=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){this._queryOperation=i.createQueryOperation(this.params,this.owneryQuery,this.options)},n.prototype.reset=function(){this._queryOperation.reset()},n.prototype.next=function(t,n,e){this._queryOperation.next(t,n,e),this.done=this._queryOperation.done,this.success=this._queryOperation.success},n}(i.BaseOperation),a=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(n,e,r){t.prototype.next.call(this,n,e,r),this.success=!this.success},n}(c),p=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.init=function(){var t=this;this._ops=this.params.map((function(n){return i.createQueryOperation(n,null,t.options)}))},n.prototype.reset=function(){this.done=!1,this.success=!1;for(var t=0,n=this._ops.length;t<n;t++)this._ops[t].reset()},n.prototype.next=function(t,n,e){for(var r=!1,o=!1,i=0,u=this._ops.length;i<u;i++){var s=this._ops[i];if(s.next(t,n,e),s.success){r=!0,o=s.success;break}}this.success=o,this.done=r},n}(i.BaseOperation),f=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(n,e,r){t.prototype.next.call(this,n,e,r),this.success=!this.success},n}(p),l=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o(n,t),n.prototype.next=function(t,n,e){e.hasOwnProperty(n)===this.params&&(this.done=!0,this.success=!0)},n}(i.BaseOperation),h=function(t){function n(n,e,r){return t.call(this,n,e,r,n.map((function(t){return i.createQueryOperation(t,e,r)})))||this}return o(n,t),n.prototype.next=function(t,n,e){this.childrenNext(t,n,e)},n}(i.GroupOperation);n.$eq=function(t,n,e){return new i.EqualsOperation(t,n,e)},n.$ne=function(t,n,e){return new s(t,n,e)},n.$or=function(t,n,e){return new p(t,n,e)},n.$nor=function(t,n,e){return new f(t,n,e)},n.$elemMatch=function(t,n,e){return new c(t,n,e)},n.$nin=function(t,n,e){return new f(t,n,e)},n.$in=function(t,n,e){return new p(t,n,e)},n.$lt=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n<t}),n,e)})),n.$lte=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n<=t}),n,e)})),n.$gt=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n>t}),n,e)})),n.$gte=i.numericalOperationCreator((function(t,n,e){return new i.EqualsOperation((function(n){return n>=t}),n,e)})),n.$mod=function(t,n,e){var r=t[0],o=t[1];return new i.EqualsOperation((function(t){return u.comparable(t)%r===o}),n,e)},n.$exists=function(t,n,e){return new l(t,n,e)},n.$regex=function(t,n,e){return new i.EqualsOperation(new RegExp(t,n.$options),n,e)},n.$not=function(t,n,e){return new a(t,n,e)},n.$type=function(t,n,e){return new i.EqualsOperation((function(n){return null!=n&&(n instanceof t||n.constructor===t)}),n,e)},n.$and=function(t,n,e){return new h(t,n,e)},n.$all=n.$and,n.$size=function(t,n,e){return new i.EqualsOperation((function(n){return n&&n.length===t}),n,e)},n.$options=function(){return null},n.$where=function(t,n,e){var r;return r=u.isFunction(t)?t:new Function("obj","return "+t),new i.EqualsOperation((function(t){return r.bind(t)(t)}),n,e)}}])})); | ||
//# sourceMappingURL=sift.min.js.map |
@@ -14,6 +14,4 @@ import * as defaultOperations from "./operations"; | ||
module.exports = createDefaultQueryTester; | ||
export { Query, EqualsOperation, createQueryTester }; | ||
export { Query, EqualsOperation }; | ||
export default createDefaultQueryTester; |
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
383204
39
3156
5
3