New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@wix/filter-builder

Package Overview
Dependencies
Maintainers
19
Versions
112
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@wix/filter-builder - npm Package Compare versions

Comparing version 1.0.16 to 1.0.17

38

dist/cjs/__tests__/filter.spec.js
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _chai = _interopRequireDefault(require("chai"));
var _ = require("..");
const expect = _chai.default.expect;
function inAnd(...args) {

@@ -16,3 +12,2 @@ return {

}
describe('filter', function () {

@@ -34,3 +29,2 @@ const filter = (0, _.filterBuilder)();

const encoder = () => 3;
const filterWithEncoder = (0, _.filterBuilder)({

@@ -141,20 +135,20 @@ encoder

expect(() => filter.endsWith('x')._build()).to.throw('Invalid .endsWith usage. .endsWith requires two parameters.');
expect(() => filter.contains('x')._build()).to.throw('Invalid .contains usage. .contains requires two parameters.'); // @ts-expect-error
expect(() => filter.isNotEmpty()._build()).to.throw('Invalid .isNotEmpty usage. .isNotEmpty requires one parameter.'); // @ts-expect-error
expect(() => filter.contains('x')._build()).to.throw('Invalid .contains usage. .contains requires two parameters.');
// @ts-expect-error
expect(() => filter.isNotEmpty()._build()).to.throw('Invalid .isNotEmpty usage. .isNotEmpty requires one parameter.');
// @ts-expect-error
expect(() => filter.isEmpty()._build()).to.throw('Invalid .isEmpty usage. .isEmpty requires one parameter.');
expect(() => filter.isNotEmpty(1)._build()).to.throw('Invalid .isNotEmpty field value [Number]. .isNotEmpty field must be a String.');
expect(() => filter.isEmpty(1)._build()).to.throw('Invalid .isEmpty field value [Number]. .isEmpty field must be a String.'); // @ts-expect-error
expect(() => filter.or()._build()).to.throw('Invalid .or usage. .or requires one parameter.'); // @ts-expect-error
expect(() => filter.and()._build()).to.throw('Invalid .and usage. .and requires one parameter.'); // @ts-expect-error
expect(() => filter.not()._build()).to.throw('Invalid .not usage. .not requires one parameter.'); // @ts-expect-error
expect(() => filter.between()._build()).to.throw('Invalid .between usage. .between requires three parameters.'); // @ts-expect-error
expect(() => filter.between('x')._build()).to.throw('Invalid .between usage. .between requires three parameters.'); // @ts-expect-error
expect(() => filter.isEmpty(1)._build()).to.throw('Invalid .isEmpty field value [Number]. .isEmpty field must be a String.');
// @ts-expect-error
expect(() => filter.or()._build()).to.throw('Invalid .or usage. .or requires one parameter.');
// @ts-expect-error
expect(() => filter.and()._build()).to.throw('Invalid .and usage. .and requires one parameter.');
// @ts-expect-error
expect(() => filter.not()._build()).to.throw('Invalid .not usage. .not requires one parameter.');
// @ts-expect-error
expect(() => filter.between()._build()).to.throw('Invalid .between usage. .between requires three parameters.');
// @ts-expect-error
expect(() => filter.between('x')._build()).to.throw('Invalid .between usage. .between requires three parameters.');
// @ts-expect-error
expect(() => filter.between('x', 'x')._build()).to.throw('Invalid .between usage. .between requires three parameters.');

@@ -161,0 +155,0 @@ expect(() => filter.hasSome('x')._build()).to.throw('Invalid .hasSome usage. .hasSome requires at least two parameters.');

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _chai = _interopRequireDefault(require("chai"));
var _queryOptimiser = require("../query-optimiser");
const expect = _chai.default.expect;

@@ -145,3 +142,2 @@ describe('query optimisations', () => {

});
function testCase(description, input, expectedOutput) {

@@ -148,0 +144,0 @@ it(description, () => {

@@ -5,5 +5,3 @@ "use strict";

exports.default = clone;
var _typeUtils = require("./type-utils");
function clone(obj) {

@@ -13,5 +11,3 @@ if (obj == null || typeof obj !== 'object') {

}
let temp = null;
if ((0, _typeUtils.isDate)(obj)) {

@@ -21,3 +17,2 @@ temp = new Date(obj.getTime());

temp = obj.constructor();
for (const key in obj) {

@@ -27,5 +22,4 @@ temp[key] = clone(obj[key]);

}
return temp;
}
//# sourceMappingURL=clone.js.map
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = exports.FilterBuilder = void 0;
exports.filterBuilder = filterBuilder;
var _filterMixin = _interopRequireDefault(require("./filter-mixin"));
class FilterBuilder extends (0, _filterMixin.default)() {

@@ -15,17 +12,12 @@ get constructorName() {

}
_build() {
return this.getFilterModel();
}
}
exports.FilterBuilder = FilterBuilder;
function filterBuilder(params = {}) {
return new FilterBuilder(params);
}
var _default = filterBuilder;
exports.default = _default;
//# sourceMappingURL=filter-builder.js.map
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _typeUtils = require("./type-utils");
var _clone = _interopRequireDefault(require("./clone"));
var _filterValidator = require("./filter-validator");
var _queryOptimiser = require("./query-optimiser");
const filterMixin = (Base = class {}) => class extends Base {

@@ -30,76 +23,57 @@ constructor(obj = {}) {

}
eq(...args) {
return this._binaryAnd('$eq', '.eq', args);
}
ne(...args) {
return this._binaryAnd('$ne', '.ne', args);
}
ge(...args) {
return this._AndLogicalEquivalence('$gte', '.ge', args);
}
gt(...args) {
return this._AndLogicalEquivalence('$gt', '.gt', args);
}
le(...args) {
return this._AndLogicalEquivalence('$lte', '.le', args);
}
lt(...args) {
return this._AndLogicalEquivalence('$lt', '.lt', args);
}
isNotEmpty(field) {
const _this$_filterValidato = this._filterValidator('.isNotEmpty').arityIsOne(arguments).validFieldName(field).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato[0],
valid = _this$_filterValidato[1];
newInvalidArguments = _this$_filterValidato[0],
valid = _this$_filterValidato[1];
if (valid) {
return this.ne(field, null);
}
return this._copy(this.filterTree, newInvalidArguments);
}
isEmpty(field) {
const _this$_filterValidato2 = this._filterValidator('.isEmpty').arityIsOne(arguments).validFieldName(field).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato2[0],
valid = _this$_filterValidato2[1];
newInvalidArguments = _this$_filterValidato2[0],
valid = _this$_filterValidato2[1];
if (valid) {
return this.eq(field, null);
}
return this._copy(this.filterTree, newInvalidArguments);
}
startsWith(...args) {
return this._AndStringOperand('$startsWith', '.startsWith', args);
}
endsWith(...args) {
return this._AndStringOperand('$endsWith', '.endsWith', args);
}
contains(...args) {
return this._AndStringOperand('$contains', '.contains', args);
}
hasSome(...args) {
return this._AndSetOperand('$hasSome', '.hasSome', args);
}
hasAll(...args) {
return this._AndSetOperand('$hasAll', '.hasAll', args);
}
or(orQuery) {
const _this$_filterValidato3 = this._filterValidator('.or').arityIsOne(arguments).isInstanceOfSameClass(orQuery).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato3[0],
valid = _this$_filterValidato3[1];
newInvalidArguments = _this$_filterValidato3[0],
valid = _this$_filterValidato3[1];
if (valid) {

@@ -114,8 +88,6 @@ const prefix = isEmptyAnd(this.filterTree) ? [] : [this.filterTree];

}
and(andQuery) {
const _this$_filterValidato4 = this._filterValidator('.and').arityIsOne(arguments).isInstanceOfSameClass(andQuery).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato4[0],
valid = _this$_filterValidato4[1];
newInvalidArguments = _this$_filterValidato4[0],
valid = _this$_filterValidato4[1];
if (valid) {

@@ -128,8 +100,6 @@ const prefix = isEmptyAnd(this.filterTree) ? [] : [this.filterTree];

}
not(notQuery) {
const _this$_filterValidato5 = this._filterValidator('.not').arityIsOne(arguments).isInstanceOfSameClass(notQuery).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato5[0],
valid = _this$_filterValidato5[1];
newInvalidArguments = _this$_filterValidato5[0],
valid = _this$_filterValidato5[1];
if (valid) {

@@ -146,15 +116,11 @@ const newFilterTree = (0, _clone.default)(this.filterTree);

}
between(field, rangeStart, rangeEnd) {
const _this$_filterValidato6 = this._filterValidator('.between').arityIsThree(arguments).sameType(rangeStart, rangeEnd).typeIsStringNumberOrDate(rangeStart).typeIsStringNumberOrDate(rangeEnd).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato6[0],
valid = _this$_filterValidato6[1];
newInvalidArguments = _this$_filterValidato6[0],
valid = _this$_filterValidato6[1];
if (valid) {
return this.ge(field, rangeStart).lt(field, rangeEnd);
}
return this._copy(this.filterTree, newInvalidArguments);
}
getFilterModel() {

@@ -164,73 +130,52 @@ if (this.invalidArguments.length > 0) {

}
return (0, _queryOptimiser.optimisedQuery)(this.filterTree);
}
setFilterModel(filterModel) {
return this._copy(filterModel, []);
}
_binaryAnd(filterOperatorSymbol, operatorName, args) {
const _Array$prototype$slic = Array.prototype.slice.call(args),
field = _Array$prototype$slic[0],
operand = _Array$prototype$slic[1];
field = _Array$prototype$slic[0],
operand = _Array$prototype$slic[1];
const _this$_filterValidato7 = this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato7[0];
newInvalidArguments = _this$_filterValidato7[0];
const newFilterTree = this._makeNewFilter(field, filterOperatorSymbol, operand);
return this._copy(newFilterTree, newInvalidArguments);
}
_AndLogicalEquivalence(filterOperatorSymbol, operatorName, args) {
const _Array$prototype$slic2 = Array.prototype.slice.call(args),
field = _Array$prototype$slic2[0],
operand = _Array$prototype$slic2[1];
field = _Array$prototype$slic2[0],
operand = _Array$prototype$slic2[1];
const _this$_filterValidato8 = this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).typeIsStringNumberOrDate(operand).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato8[0];
newInvalidArguments = _this$_filterValidato8[0];
const newFilterTree = this._makeNewFilter(field, filterOperatorSymbol, operand);
return this._copy(newFilterTree, newInvalidArguments);
}
_AndStringOperand(filterOperatorName, operatorName, args) {
const _Array$prototype$slic3 = Array.prototype.slice.call(args),
field = _Array$prototype$slic3[0],
operand = _Array$prototype$slic3[1];
field = _Array$prototype$slic3[0],
operand = _Array$prototype$slic3[1];
const _this$_filterValidato9 = this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).typeIsString(operand).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato9[0];
newInvalidArguments = _this$_filterValidato9[0];
const newFilterTree = this._makeNewFilter(field, filterOperatorName, operand);
return this._copy(newFilterTree, newInvalidArguments);
}
_AndSetOperand(filterOperatorName, operatorName, args) {
const _Array$prototype$slic4 = Array.prototype.slice.call(args),
field = _Array$prototype$slic4[0],
rawOperands = _Array$prototype$slic4.slice(1);
field = _Array$prototype$slic4[0],
rawOperands = _Array$prototype$slic4.slice(1);
const operands = (0, _typeUtils.isArray)(rawOperands[0]) ? rawOperands[0] : rawOperands;
const _this$_filterValidato10 = this._filterValidator(operatorName).arityIsAtLeastTwo(args).validFieldName(field).typeIsStringNumberOrDateForAll(operands).validateAndAggregate(),
newInvalidArguments = _this$_filterValidato10[0];
newInvalidArguments = _this$_filterValidato10[0];
const newFilterTree = this._makeNewFilter(field, filterOperatorName, operands);
return this._copy(newFilterTree, newInvalidArguments);
}
_makeNewFilter(field, filterOperatorName, operand) {
const newFilterTree = (0, _clone.default)(this.filterTree);
_makeNewFilter(field, filterOperatorName, operand) {
const newFilterTree = (0, _clone.default)(this.filterTree); // filters with 'undefined' value are lost during serialization,
// filters with 'undefined' value are lost during serialization,
// e.g. { val: { $ne: undefined } | translates to { val: {} }
// Replacing 'undefined' with 'null' retains the filter.
const serializableOperand = operand === undefined ? null : operand;
const newFilter = this._buildFilter(field, filterOperatorName, serializableOperand);
if ((0, _typeUtils.isArray)(newFilterTree.$and)) {

@@ -244,3 +189,2 @@ newFilterTree.$and.push(newFilter);

}
_buildFilter(field, filterOperatorName, operand) {

@@ -258,3 +202,2 @@ if (filterOperatorName !== '$eq') {

}
_encode(operand) {

@@ -267,6 +210,6 @@ if ((0, _typeUtils.isFunction)(this.encoder)) {

}
_copy(filterTree, invalidArguments) {
// @ts-ignore-next-line
return new this.constructor({ ...this,
return new this.constructor({
...this,
filterTree,

@@ -276,17 +219,12 @@ invalidArguments

}
_filterValidator(filterOperatorName) {
return new _filterValidator.FilterValidator(filterOperatorName, this.invalidArguments, this.constructor);
}
};
function isConjunctiveFormFilter(filterTree) {
return (0, _typeUtils.isArray)(filterTree.$and);
}
function isEmptyObject(obj) {
return Object.keys(obj).length === 0;
}
function inAnd(...args) {

@@ -297,3 +235,2 @@ return {

}
function inAndOptimized(...args) {

@@ -304,9 +241,7 @@ return {

}
function isEmptyAnd(node) {
return node && node.$and && node.$and.length === 0;
}
var _default = filterMixin;
exports.default = _default;
//# sourceMappingURL=filter-mixin.js.map
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.FilterValidator = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _typeUtils = require("./type-utils");
var _clone = _interopRequireDefault(require("./clone"));
class FilterValidator {

@@ -25,43 +20,32 @@ constructor(operatorName, previousInvalidArguments, ctor) {

}
typeIsString(value) {
return this.addValidation(() => (0, _typeUtils.isString)(value), () => `Invalid ${this.operatorName} parameter value [${(0, _typeUtils.typeForDisplay)(value)}]. ${this.operatorName} parameter must be a String.`);
}
typeIsStringNumberOrDate(value) {
return this.addValidation(() => isDateStringOrNumber(value), () => `Invalid ${this.operatorName} parameter value [${(0, _typeUtils.typeForDisplay)(value)}]. Valid ${this.operatorName} parameter types are String, Number or Date.`);
}
sameType(first, second) {
return this.addValidation(() => (0, _typeUtils.typeForDisplay)(first) === (0, _typeUtils.typeForDisplay)(second), () => `Invalid ${this.operatorName} parameter values [${(0, _typeUtils.typeForDisplay)(first)}] and [${(0, _typeUtils.typeForDisplay)(second)}]. Both parameters must be of the same type.`);
}
typeIsStringNumberOrDateForAll(values) {
return this.addValidation(() => values.every(isDateStringOrNumber), () => `Invalid ${this.operatorName} usage. ${this.operatorName} supports only Number, String or Date items.`);
}
validFieldName(field) {
return this.addValidation(() => (0, _typeUtils.isString)(field), () => `Invalid ${this.operatorName} field value [${(0, _typeUtils.typeForDisplay)(field)}]. ${this.operatorName} field must be a String.`);
}
isInstanceOfSameClass(obj) {
return this.addValidation(() => obj instanceof this.ctor, () => `Invalid ${this.operatorName} parameter [${(0, _typeUtils.typeForDisplay)(obj)}]. ${this.operatorName} expects FilterBuilder only.`);
}
arityIsOne(args) {
return this.addValidation(() => args.length === 1, () => `Invalid ${this.operatorName} usage. ${this.operatorName} requires one parameter.`);
}
arityIsTwo(args) {
return this.addValidation(() => args.length === 2, () => `Invalid ${this.operatorName} usage. ${this.operatorName} requires two parameters.`);
}
arityIsThree(args) {
return this.addValidation(() => args.length === 3, () => `Invalid ${this.operatorName} usage. ${this.operatorName} requires three parameters.`);
}
arityIsAtLeastTwo(args) {
return this.addValidation(() => args.length >= 2, () => `Invalid ${this.operatorName} usage. ${this.operatorName} requires at least two parameters.`);
}
addValidation(predicateFn, messageFn) {

@@ -72,6 +56,4 @@ this._validations.push({

});
return this;
}
validateAndAggregate() {

@@ -82,20 +64,13 @@ const valid = this._validations.every(({

}) => this._appendIfInvalid(predicateFn(), messageFn()));
return [this._invalidArguments, valid];
}
_appendIfInvalid(valid, message) {
if (!valid) {
this._invalidArguments.push(message);
return false;
}
return true;
}
}
exports.FilterValidator = FilterValidator;
function isDateStringOrNumber(value) {

@@ -102,0 +77,0 @@ return (0, _typeUtils.isString)(value) || (0, _typeUtils.isNumber)(value) || (0, _typeUtils.isDate)(value);

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _filterBuilder = require("./filter-builder");
exports.filterBuilder = _filterBuilder.filterBuilder;
var _filterMixin = _interopRequireDefault(require("./filter-mixin"));
exports.filterMixin = _filterMixin.default;
var _queryOptimiser = require("./query-optimiser");
exports.optimiseQuery = _queryOptimiser.optimisedQuery;
var _validator = require("./validator");
exports.Validator = _validator.Validator;
var _wixDataEncoder = require("./wix-data-encoder");
exports.wixDataEncoder = _wixDataEncoder.wixDataEncoder;

@@ -27,0 +16,0 @@ var _default = _filterBuilder.filterBuilder;

@@ -6,10 +6,7 @@ "use strict";

const optimisations = [optimisedUnaryAnd, optimisedEmptyAnd, optimisedAndsAsObjects, optimisedNestedAnds, optimisedNestedOrs];
function optimisedQuery(query) {
const _fullyOptimised = fullyOptimised(query),
newQuery = _fullyOptimised[0];
newQuery = _fullyOptimised[0];
return newQuery;
}
function fullyOptimised(query) {

@@ -19,10 +16,7 @@ if (Array.isArray(query)) {

}
if (typeof query === 'object' && query !== null && !instanceOfIgnoredType(query)) {
return fullyOptimisedObject(query);
}
return [query, false];
}
function fullyOptimisedArray(query) {

@@ -34,31 +28,24 @@ const optimisedElements = query.map(fullyOptimised);

}
function fullyOptimisedObject(query) {
const _fullEntriesOptimisat = fullEntriesOptimisation(query),
queryAfterOptimisingEntries = _fullEntriesOptimisat[0],
changedStage1 = _fullEntriesOptimisat[1];
queryAfterOptimisingEntries = _fullEntriesOptimisat[0],
changedStage1 = _fullEntriesOptimisat[1];
const _fullObjectOptimisati = fullObjectOptimisation(queryAfterOptimisingEntries),
queryAfterFullOptimisation = _fullObjectOptimisati[0],
changedStage2 = _fullObjectOptimisati[1];
queryAfterFullOptimisation = _fullObjectOptimisati[0],
changedStage2 = _fullObjectOptimisati[1];
const changed = changedStage1 || changedStage2;
return [queryAfterFullOptimisation, changed];
function fullObjectOptimisation(query) {
const updatedQuery = applyFirstOptimisation(query);
if (!updatedQuery) {
return [query, false];
}
const _fullyOptimised2 = fullyOptimised(updatedQuery),
finalQuery = _fullyOptimised2[0];
finalQuery = _fullyOptimised2[0];
return [finalQuery, true];
}
function fullEntriesOptimisation(query) {
const changedEntries = Object.entries(query).map(entryOptimisation).filter(([,, changed]) => changed);
const newQuery = { ...query,
const newQuery = {
...query,
...entriesAsObject(changedEntries)

@@ -69,13 +56,11 @@ };

}
function entryOptimisation([key, value]) {
const _fullyOptimised3 = fullyOptimised(value),
newValue = _fullyOptimised3[0],
changed = _fullyOptimised3[1];
newValue = _fullyOptimised3[0],
changed = _fullyOptimised3[1];
return [key, newValue, changed];
}
function entriesAsObject(entries) {
return entries.reduce((acc, [key, value]) => ({ ...acc,
return entries.reduce((acc, [key, value]) => ({
...acc,
[key]: value

@@ -85,7 +70,5 @@ }), {});

}
function applyFirstOptimisation(node) {
for (const optimisation of optimisations) {
const newNode = optimisation(node);
if (newNode) {

@@ -96,6 +79,4 @@ return newNode;

}
function optimisedUnaryAnd(node) {
const args = node.$and;
if (Array.isArray(args) && args.length === 1) {

@@ -105,20 +86,14 @@ return args[0];

}
function optimisedEmptyAnd(node) {
const args = node.$and;
if (Array.isArray(args) && args.length === 0) {
return {};
}
return null;
}
function optimisedAndsAsObjects(node) {
const args = node.$and;
if (!args) {
return;
}
let basicObjects = [];

@@ -133,7 +108,5 @@ let operatorObjects = [];

});
if (basicObjects.length <= 1 || haveOverlappingFields(basicObjects)) {
return;
}
const combinedBasicObjects = Object.assign({}, ...basicObjects);

@@ -143,3 +116,2 @@ return {

};
function isOperator(node) {

@@ -149,3 +121,2 @@ const keys = Object.keys(node);

}
function haveOverlappingFields(objects) {

@@ -156,3 +127,2 @@ const nonUniqueKeys = objects.map(it => Object.keys(it)).reduce((a, b) => [...a, ...b], []);

}
function unique(values) {

@@ -164,23 +134,16 @@ const dict = {};

}
function optimisedNestedAnds(node) {
const args = node.$and;
if (!args) {
return;
}
const hasNestedAnds = !!args.find(it => it.$and);
if (!hasNestedAnds) {
return;
}
const newArgs = args.reduce((result, current) => {
const and = current.$and;
if (!and) {
return [...result, current];
}
return [...result, ...and];

@@ -192,23 +155,16 @@ }, []);

}
function optimisedNestedOrs(node) {
const args = node.$or;
if (!args) {
return;
}
const hasNestedOrs = !!args.find(it => it.$or);
if (!hasNestedOrs) {
return;
}
const newArgs = args.reduce((result, current) => {
const or = current.$or;
if (!or) {
return [...result, current];
}
return [...result, ...or];

@@ -220,3 +176,2 @@ }, []);

}
function instanceOfIgnoredType(obj) {

@@ -223,0 +178,0 @@ return obj instanceof Date;

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;

@@ -16,45 +15,33 @@ exports.isArray = isArray;

exports.typeForDisplay = typeForDisplay;
var _kindOf = _interopRequireDefault(require("kind-of"));
function isObject(obj) {
return (0, _kindOf.default)(obj) === 'object';
}
function isArray(arr) {
return (0, _kindOf.default)(arr) === 'array';
}
function isDate(obj) {
return (0, _kindOf.default)(obj) === 'date';
}
function isNumber(obj) {
return (0, _kindOf.default)(obj) === 'number';
}
function isBoolean(obj) {
return (0, _kindOf.default)(obj) === 'boolean';
}
function isString(obj) {
return (0, _kindOf.default)(obj) === 'string';
}
function isFunction(obj) {
return (0, _kindOf.default)(obj) === 'function';
}
function typeForDisplay(obj) {
return upperCaseFirst((0, _kindOf.default)(obj));
}
function isUndefined(obj) {
return (0, _kindOf.default)(obj) === 'undefined';
}
function isNull(obj) {
return (0, _kindOf.default)(obj) === 'null';
}
function upperCaseFirst(str) {

@@ -64,3 +51,2 @@ if (!isString(str)) {

}
const first = str.slice(0, 1).toUpperCase();

@@ -67,0 +53,0 @@ const rest = str.slice(1, str.length);

@@ -5,5 +5,3 @@ "use strict";

exports.wixDataEncoder = wixDataEncoder;
var _typeUtils = require("./type-utils");
function wixDataEncoder(operand) {

@@ -10,0 +8,0 @@ if ((0, _typeUtils.isDate)(operand)) {

@@ -14,8 +14,160 @@ (function webpackUniversalModuleDefinition(root, factory) {

/***/ 306:
/*!****************************************!*\
!*** ../node_modules/kind-of/index.js ***!
\****************************************/
/***/ 50:
/*!****************************************************************************************************************!*\
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
\****************************************************************************************************************/
/***/ (function(module) {
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
module.exports = _assertThisInitialized;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 523:
/*!******************************************************************************************************!*\
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/createClass.js ***!
\******************************************************************************************************/
/***/ (function(module) {
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
module.exports = _createClass;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 695:
/*!*********************************************************************************************************!*\
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/defineProperty.js ***!
\*********************************************************************************************************/
/***/ (function(module) {
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
module.exports = _defineProperty;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 710:
/*!**************************************************************************************************!*\
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/extends.js ***!
\**************************************************************************************************/
/***/ (function(module) {
function _extends() {
module.exports = _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
module.exports["default"] = module.exports, module.exports.__esModule = true;
return _extends.apply(this, arguments);
}
module.exports = _extends;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 333:
/*!********************************************************************************************************!*\
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/inheritsLoose.js ***!
\********************************************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ 814);
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
setPrototypeOf(subClass, superClass);
}
module.exports = _inheritsLoose;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 814:
/*!*********************************************************************************************************!*\
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
\*********************************************************************************************************/
/***/ (function(module) {
function _setPrototypeOf(o, p) {
module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
module.exports["default"] = module.exports, module.exports.__esModule = true;
return _setPrototypeOf(o, p);
}
module.exports = _setPrototypeOf;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 347:
/*!**********************!*\
!*** ./validator.ts ***!
\**********************/
/***/ (function() {
/***/ }),
/***/ 366:
/*!*******************************************!*\
!*** ../../node_modules/kind-of/index.js ***!
\*******************************************/
/***/ (function(module) {
var toString = Object.prototype.toString;

@@ -170,154 +322,2 @@

/***/ }),
/***/ 663:
/*!***************************************************************************************************************!*\
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
\***************************************************************************************************************/
/***/ (function(module) {
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
module.exports = _assertThisInitialized;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 587:
/*!*****************************************************************************************************!*\
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/createClass.js ***!
\*****************************************************************************************************/
/***/ (function(module) {
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
module.exports = _createClass;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 837:
/*!********************************************************************************************************!*\
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/defineProperty.js ***!
\********************************************************************************************************/
/***/ (function(module) {
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
module.exports = _defineProperty;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 921:
/*!*************************************************************************************************!*\
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/extends.js ***!
\*************************************************************************************************/
/***/ (function(module) {
function _extends() {
module.exports = _extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
module.exports["default"] = module.exports, module.exports.__esModule = true;
return _extends.apply(this, arguments);
}
module.exports = _extends;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 354:
/*!*******************************************************************************************************!*\
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/inheritsLoose.js ***!
\*******************************************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ 262);
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
setPrototypeOf(subClass, superClass);
}
module.exports = _inheritsLoose;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 262:
/*!********************************************************************************************************!*\
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
\********************************************************************************************************/
/***/ (function(module) {
function _setPrototypeOf(o, p) {
module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
module.exports["default"] = module.exports, module.exports.__esModule = true;
return _setPrototypeOf(o, p);
}
module.exports = _setPrototypeOf;
module.exports["default"] = module.exports, module.exports.__esModule = true;
/***/ }),
/***/ 476:
/*!**********************!*\
!*** ./validator.ts ***!
\**********************/
/***/ (function() {
/***/ })

@@ -413,19 +413,19 @@

// EXTERNAL MODULE: ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/createClass.js
var createClass = __webpack_require__(587);
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/createClass.js
var createClass = __webpack_require__(523);
var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
// EXTERNAL MODULE: ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/inheritsLoose.js
var inheritsLoose = __webpack_require__(354);
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/inheritsLoose.js
var inheritsLoose = __webpack_require__(333);
var inheritsLoose_default = /*#__PURE__*/__webpack_require__.n(inheritsLoose);
// EXTERNAL MODULE: ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/extends.js
var helpers_extends = __webpack_require__(921);
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/extends.js
var helpers_extends = __webpack_require__(710);
var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
// EXTERNAL MODULE: ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/assertThisInitialized.js
var assertThisInitialized = __webpack_require__(663);
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/assertThisInitialized.js
var assertThisInitialized = __webpack_require__(50);
var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
// EXTERNAL MODULE: ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(837);
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(695);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ../node_modules/kind-of/index.js
var kind_of = __webpack_require__(306);
// EXTERNAL MODULE: ../../node_modules/kind-of/index.js
var kind_of = __webpack_require__(366);
var kind_of_default = /*#__PURE__*/__webpack_require__.n(kind_of);

@@ -439,3 +439,3 @@ ;// CONCATENATED MODULE: ./type-utils.ts

;// CONCATENATED MODULE: ./query-optimiser.ts
function _createForOfIteratorHelperLoose(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(it)return(it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;return function(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}var optimisations=[optimisedUnaryAnd,optimisedEmptyAnd,optimisedAndsAsObjects,optimisedNestedAnds,optimisedNestedOrs];function optimisedQuery(query){var _fullyOptimised=fullyOptimised(query),newQuery=_fullyOptimised[0];return newQuery;}function fullyOptimised(query){if(Array.isArray(query)){return fullyOptimisedArray(query);}if(typeof query==='object'&&query!==null&&!instanceOfIgnoredType(query)){return fullyOptimisedObject(query);}return[query,false];}function fullyOptimisedArray(query){var optimisedElements=query.map(fullyOptimised);var somethingChanged=0<optimisedElements.filter(function(_ref){var elementChanged=_ref[1];return elementChanged;}).length;var newElements=optimisedElements.map(function(_ref2){var element=_ref2[0];return element;});return[newElements,somethingChanged];}function fullyOptimisedObject(query){var _fullEntriesOptimisat=fullEntriesOptimisation(query),queryAfterOptimisingEntries=_fullEntriesOptimisat[0],changedStage1=_fullEntriesOptimisat[1];var _fullObjectOptimisati=fullObjectOptimisation(queryAfterOptimisingEntries),queryAfterFullOptimisation=_fullObjectOptimisati[0],changedStage2=_fullObjectOptimisati[1];var changed=changedStage1||changedStage2;return[queryAfterFullOptimisation,changed];function fullObjectOptimisation(query){var updatedQuery=applyFirstOptimisation(query);if(!updatedQuery){return[query,false];}var _fullyOptimised2=fullyOptimised(updatedQuery),finalQuery=_fullyOptimised2[0];return[finalQuery,true];}function fullEntriesOptimisation(query){var changedEntries=Object.entries(query).map(entryOptimisation).filter(function(_ref3){var changed=_ref3[2];return changed;});var newQuery=extends_default()({},query,entriesAsObject(changedEntries));var changed=!!changedEntries.length;return[newQuery,changed];}function entryOptimisation(_ref4){var key=_ref4[0],value=_ref4[1];var _fullyOptimised3=fullyOptimised(value),newValue=_fullyOptimised3[0],changed=_fullyOptimised3[1];return[key,newValue,changed];}function entriesAsObject(entries){return entries.reduce(function(acc,_ref5){var _extends2;var key=_ref5[0],value=_ref5[1];return extends_default()({},acc,(_extends2={},_extends2[key]=value,_extends2));},{});}}function applyFirstOptimisation(node){for(var _iterator=_createForOfIteratorHelperLoose(optimisations),_step;!(_step=_iterator()).done;){var optimisation=_step.value;var newNode=optimisation(node);if(newNode){return newNode;}}}function optimisedUnaryAnd(node){var args=node.$and;if(Array.isArray(args)&&args.length===1){return args[0];}}function optimisedEmptyAnd(node){var args=node.$and;if(Array.isArray(args)&&args.length===0){return{};}return null;}function optimisedAndsAsObjects(node){var args=node.$and;if(!args){return;}var basicObjects=[];var operatorObjects=[];args.forEach(function(arg){if(isOperator(arg)){operatorObjects=[].concat(operatorObjects,[arg]);}else{basicObjects=[].concat(basicObjects,[arg]);}});if(basicObjects.length<=1||haveOverlappingFields(basicObjects)){return;}var combinedBasicObjects=Object.assign.apply(Object,[{}].concat(basicObjects));return{$and:[combinedBasicObjects].concat(operatorObjects)};function isOperator(node){var keys=Object.keys(node);return keys.every(function(name){return name.startsWith('$');})&&keys.length>0;}function haveOverlappingFields(objects){var nonUniqueKeys=objects.map(function(it){return Object.keys(it);}).reduce(function(a,b){return[].concat(a,b);},[]);var uniqueKeys=unique(nonUniqueKeys);return uniqueKeys.length!==nonUniqueKeys.length;}function unique(values){var dict={};values.forEach(function(v){return dict[v]=true;});return Object.keys(dict);}}function optimisedNestedAnds(node){var args=node.$and;if(!args){return;}var hasNestedAnds=!!args.find(function(it){return it.$and;});if(!hasNestedAnds){return;}var newArgs=args.reduce(function(result,current){var and=current.$and;if(!and){return[].concat(result,[current]);}return[].concat(result,and);},[]);return{$and:newArgs};}function optimisedNestedOrs(node){var args=node.$or;if(!args){return;}var hasNestedOrs=!!args.find(function(it){return it.$or;});if(!hasNestedOrs){return;}var newArgs=args.reduce(function(result,current){var or=current.$or;if(!or){return[].concat(result,[current]);}return[].concat(result,or);},[]);return{$or:newArgs};}function instanceOfIgnoredType(obj){return obj instanceof Date;}
function _createForOfIteratorHelperLoose(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(it)return(it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;return function(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2;}var optimisations=[optimisedUnaryAnd,optimisedEmptyAnd,optimisedAndsAsObjects,optimisedNestedAnds,optimisedNestedOrs];function optimisedQuery(query){var _fullyOptimised=fullyOptimised(query),newQuery=_fullyOptimised[0];return newQuery;}function fullyOptimised(query){if(Array.isArray(query)){return fullyOptimisedArray(query);}if(typeof query==='object'&&query!==null&&!instanceOfIgnoredType(query)){return fullyOptimisedObject(query);}return[query,false];}function fullyOptimisedArray(query){var optimisedElements=query.map(fullyOptimised);var somethingChanged=0<optimisedElements.filter(function(_ref){var elementChanged=_ref[1];return elementChanged;}).length;var newElements=optimisedElements.map(function(_ref2){var element=_ref2[0];return element;});return[newElements,somethingChanged];}function fullyOptimisedObject(query){var _fullEntriesOptimisat=fullEntriesOptimisation(query),queryAfterOptimisingEntries=_fullEntriesOptimisat[0],changedStage1=_fullEntriesOptimisat[1];var _fullObjectOptimisati=fullObjectOptimisation(queryAfterOptimisingEntries),queryAfterFullOptimisation=_fullObjectOptimisati[0],changedStage2=_fullObjectOptimisati[1];var changed=changedStage1||changedStage2;return[queryAfterFullOptimisation,changed];function fullObjectOptimisation(query){var updatedQuery=applyFirstOptimisation(query);if(!updatedQuery){return[query,false];}var _fullyOptimised2=fullyOptimised(updatedQuery),finalQuery=_fullyOptimised2[0];return[finalQuery,true];}function fullEntriesOptimisation(query){var changedEntries=Object.entries(query).map(entryOptimisation).filter(function(_ref3){var changed=_ref3[2];return changed;});var newQuery=extends_default()({},query,entriesAsObject(changedEntries));var changed=!!changedEntries.length;return[newQuery,changed];}function entryOptimisation(_ref4){var key=_ref4[0],value=_ref4[1];var _fullyOptimised3=fullyOptimised(value),newValue=_fullyOptimised3[0],changed=_fullyOptimised3[1];return[key,newValue,changed];}function entriesAsObject(entries){return entries.reduce(function(acc,_ref5){var _extends2;var key=_ref5[0],value=_ref5[1];return extends_default()({},acc,(_extends2={},_extends2[key]=value,_extends2));},{});}}function applyFirstOptimisation(node){for(var _iterator=_createForOfIteratorHelperLoose(optimisations),_step;!(_step=_iterator()).done;){var optimisation=_step.value;var newNode=optimisation(node);if(newNode){return newNode;}}}function optimisedUnaryAnd(node){var args=node.$and;if(Array.isArray(args)&&args.length===1){return args[0];}}function optimisedEmptyAnd(node){var args=node.$and;if(Array.isArray(args)&&args.length===0){return{};}return null;}function optimisedAndsAsObjects(node){var args=node.$and;if(!args){return;}var basicObjects=[];var operatorObjects=[];args.forEach(function(arg){if(isOperator(arg)){operatorObjects=[].concat(operatorObjects,[arg]);}else{basicObjects=[].concat(basicObjects,[arg]);}});if(basicObjects.length<=1||haveOverlappingFields(basicObjects)){return;}var combinedBasicObjects=Object.assign.apply(Object,[{}].concat(basicObjects));return{$and:[combinedBasicObjects].concat(operatorObjects)};function isOperator(node){var keys=Object.keys(node);return keys.every(function(name){return name.startsWith('$');})&&keys.length>0;}function haveOverlappingFields(objects){var nonUniqueKeys=objects.map(function(it){return Object.keys(it);}).reduce(function(a,b){return[].concat(a,b);},[]);var uniqueKeys=unique(nonUniqueKeys);return uniqueKeys.length!==nonUniqueKeys.length;}function unique(values){var dict={};values.forEach(function(v){return dict[v]=true;});return Object.keys(dict);}}function optimisedNestedAnds(node){var args=node.$and;if(!args){return;}var hasNestedAnds=!!args.find(function(it){return it.$and;});if(!hasNestedAnds){return;}var newArgs=args.reduce(function(result,current){var and=current.$and;if(!and){return[].concat(result,[current]);}return[].concat(result,and);},[]);return{$and:newArgs};}function optimisedNestedOrs(node){var args=node.$or;if(!args){return;}var hasNestedOrs=!!args.find(function(it){return it.$or;});if(!hasNestedOrs){return;}var newArgs=args.reduce(function(result,current){var or=current.$or;if(!or){return[].concat(result,[current]);}return[].concat(result,or);},[]);return{$or:newArgs};}function instanceOfIgnoredType(obj){return obj instanceof Date;}
;// CONCATENATED MODULE: ./filter-mixin.ts

@@ -450,3 +450,3 @@ var filterMixin=function filterMixin(Base){if(Base===void 0){Base=function Base(){};}return/*#__PURE__*/function(_Base){inheritsLoose_default()(_class2,_Base);function _class2(obj){var _this;if(obj===void 0){obj={};}_this=_Base.call(this,obj)||this;defineProperty_default()(assertThisInitialized_default()(_this),"filterTree",void 0);defineProperty_default()(assertThisInitialized_default()(_this),"invalidArguments",void 0);defineProperty_default()(assertThisInitialized_default()(_this),"encoder",void 0);_this.filterTree=obj.filterTree||{$and:[]};_this.invalidArguments=obj.invalidArguments||[];_this.encoder=obj.encoder||{};return _this;}var _proto=_class2.prototype;_proto.eq=function eq(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return this._binaryAnd('$eq','.eq',args);};_proto.ne=function ne(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}return this._binaryAnd('$ne','.ne',args);};_proto.ge=function ge(){for(var _len3=arguments.length,args=new Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3];}return this._AndLogicalEquivalence('$gte','.ge',args);};_proto.gt=function gt(){for(var _len4=arguments.length,args=new Array(_len4),_key4=0;_key4<_len4;_key4++){args[_key4]=arguments[_key4];}return this._AndLogicalEquivalence('$gt','.gt',args);};_proto.le=function le(){for(var _len5=arguments.length,args=new Array(_len5),_key5=0;_key5<_len5;_key5++){args[_key5]=arguments[_key5];}return this._AndLogicalEquivalence('$lte','.le',args);};_proto.lt=function lt(){for(var _len6=arguments.length,args=new Array(_len6),_key6=0;_key6<_len6;_key6++){args[_key6]=arguments[_key6];}return this._AndLogicalEquivalence('$lt','.lt',args);};_proto.isNotEmpty=function isNotEmpty(field){var _this$_filterValidato=this._filterValidator('.isNotEmpty').arityIsOne(arguments).validFieldName(field).validateAndAggregate(),newInvalidArguments=_this$_filterValidato[0],valid=_this$_filterValidato[1];if(valid){return this.ne(field,null);}return this._copy(this.filterTree,newInvalidArguments);};_proto.isEmpty=function isEmpty(field){var _this$_filterValidato2=this._filterValidator('.isEmpty').arityIsOne(arguments).validFieldName(field).validateAndAggregate(),newInvalidArguments=_this$_filterValidato2[0],valid=_this$_filterValidato2[1];if(valid){return this.eq(field,null);}return this._copy(this.filterTree,newInvalidArguments);};_proto.startsWith=function startsWith(){for(var _len7=arguments.length,args=new Array(_len7),_key7=0;_key7<_len7;_key7++){args[_key7]=arguments[_key7];}return this._AndStringOperand('$startsWith','.startsWith',args);};_proto.endsWith=function endsWith(){for(var _len8=arguments.length,args=new Array(_len8),_key8=0;_key8<_len8;_key8++){args[_key8]=arguments[_key8];}return this._AndStringOperand('$endsWith','.endsWith',args);};_proto.contains=function contains(){for(var _len9=arguments.length,args=new Array(_len9),_key9=0;_key9<_len9;_key9++){args[_key9]=arguments[_key9];}return this._AndStringOperand('$contains','.contains',args);};_proto.hasSome=function hasSome(){for(var _len10=arguments.length,args=new Array(_len10),_key10=0;_key10<_len10;_key10++){args[_key10]=arguments[_key10];}return this._AndSetOperand('$hasSome','.hasSome',args);};_proto.hasAll=function hasAll(){for(var _len11=arguments.length,args=new Array(_len11),_key11=0;_key11<_len11;_key11++){args[_key11]=arguments[_key11];}return this._AndSetOperand('$hasAll','.hasAll',args);};_proto.or=function or(orQuery){var _this$_filterValidato3=this._filterValidator('.or').arityIsOne(arguments).isInstanceOfSameClass(orQuery).validateAndAggregate(),newInvalidArguments=_this$_filterValidato3[0],valid=_this$_filterValidato3[1];if(valid){var prefix=isEmptyAnd(this.filterTree)?[]:[this.filterTree];return this._copy(inAnd({$or:[].concat(prefix,[orQuery.filterTree])}),newInvalidArguments.concat(orQuery.invalidArguments));}else{return this._copy(this.filterTree,newInvalidArguments);}};_proto.and=function and(andQuery){var _this$_filterValidato4=this._filterValidator('.and').arityIsOne(arguments).isInstanceOfSameClass(andQuery).validateAndAggregate(),newInvalidArguments=_this$_filterValidato4[0],valid=_this$_filterValidato4[1];if(valid){var prefix=isEmptyAnd(this.filterTree)?[]:[this.filterTree];return this._copy(inAnd.apply(void 0,prefix.concat([andQuery.filterTree])),newInvalidArguments.concat(andQuery.invalidArguments));}else{return this._copy(this.filterTree,newInvalidArguments);}};_proto.not=function not(notQuery){var _this$_filterValidato5=this._filterValidator('.not').arityIsOne(arguments).isInstanceOfSameClass(notQuery).validateAndAggregate(),newInvalidArguments=_this$_filterValidato5[0],valid=_this$_filterValidato5[1];if(valid){var newFilterTree=clone(this.filterTree);var notClause={$not:[notQuery.filterTree]};var resultingFilter=inAndOptimized(newFilterTree,notClause);return this._copy(resultingFilter,newInvalidArguments.concat(notQuery.invalidArguments));}else{return this._copy(this.filterTree,newInvalidArguments);}};_proto.between=function between(field,rangeStart,rangeEnd){var _this$_filterValidato6=this._filterValidator('.between').arityIsThree(arguments).sameType(rangeStart,rangeEnd).typeIsStringNumberOrDate(rangeStart).typeIsStringNumberOrDate(rangeEnd).validateAndAggregate(),newInvalidArguments=_this$_filterValidato6[0],valid=_this$_filterValidato6[1];if(valid){return this.ge(field,rangeStart).lt(field,rangeEnd);}return this._copy(this.filterTree,newInvalidArguments);};_proto.getFilterModel=function getFilterModel(){if(this.invalidArguments.length>0){throw new Error(this.invalidArguments.join(' '));}return optimisedQuery(this.filterTree);};_proto.setFilterModel=function setFilterModel(filterModel){return this._copy(filterModel,[]);};_proto._binaryAnd=function _binaryAnd(filterOperatorSymbol,operatorName,args){var _Array$prototype$slic=Array.prototype.slice.call(args),field=_Array$prototype$slic[0],operand=_Array$prototype$slic[1];var _this$_filterValidato7=this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).validateAndAggregate(),newInvalidArguments=_this$_filterValidato7[0];var newFilterTree=this._makeNewFilter(field,filterOperatorSymbol,operand);return this._copy(newFilterTree,newInvalidArguments);};_proto._AndLogicalEquivalence=function _AndLogicalEquivalence(filterOperatorSymbol,operatorName,args){var _Array$prototype$slic2=Array.prototype.slice.call(args),field=_Array$prototype$slic2[0],operand=_Array$prototype$slic2[1];var _this$_filterValidato8=this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).typeIsStringNumberOrDate(operand).validateAndAggregate(),newInvalidArguments=_this$_filterValidato8[0];var newFilterTree=this._makeNewFilter(field,filterOperatorSymbol,operand);return this._copy(newFilterTree,newInvalidArguments);};_proto._AndStringOperand=function _AndStringOperand(filterOperatorName,operatorName,args){var _Array$prototype$slic3=Array.prototype.slice.call(args),field=_Array$prototype$slic3[0],operand=_Array$prototype$slic3[1];var _this$_filterValidato9=this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).typeIsString(operand).validateAndAggregate(),newInvalidArguments=_this$_filterValidato9[0];var newFilterTree=this._makeNewFilter(field,filterOperatorName,operand);return this._copy(newFilterTree,newInvalidArguments);};_proto._AndSetOperand=function _AndSetOperand(filterOperatorName,operatorName,args){var _Array$prototype$slic4=Array.prototype.slice.call(args),field=_Array$prototype$slic4[0],rawOperands=_Array$prototype$slic4.slice(1);var operands=isArray(rawOperands[0])?rawOperands[0]:rawOperands;var _this$_filterValidato10=this._filterValidator(operatorName).arityIsAtLeastTwo(args).validFieldName(field).typeIsStringNumberOrDateForAll(operands).validateAndAggregate(),newInvalidArguments=_this$_filterValidato10[0];var newFilterTree=this._makeNewFilter(field,filterOperatorName,operands);return this._copy(newFilterTree,newInvalidArguments);};_proto._makeNewFilter=function _makeNewFilter(field,filterOperatorName,operand){var newFilterTree=clone(this.filterTree);// filters with 'undefined' value are lost during serialization,

// EXTERNAL MODULE: ./validator.ts
var validator = __webpack_require__(476);
var validator = __webpack_require__(347);
;// CONCATENATED MODULE: ./wix-data-encoder.ts

@@ -453,0 +453,0 @@ function wixDataEncoder(operand){if(isDate(operand)){return{$date:operand.toJSON()};}else{return operand;}}

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

!function(t,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("platformized-filter-builder",[],r):"object"==typeof exports?exports["platformized-filter-builder"]=r():t["platformized-filter-builder"]=r()}("undefined"!=typeof self?self:this,(function(){return function(){var t={306:function(t){var r=Object.prototype.toString;t.exports=function(t){var e=typeof t;return"undefined"===e?"undefined":null===t?"null":!0===t||!1===t||t instanceof Boolean?"boolean":"string"===e||t instanceof String?"string":"number"===e||t instanceof Number?"number":"function"===e||t instanceof Function?void 0!==t.constructor.name&&"Generator"===t.constructor.name.slice(0,9)?"generatorfunction":"function":void 0!==Array.isArray&&Array.isArray(t)?"array":t instanceof RegExp?"regexp":t instanceof Date?"date":"[object RegExp]"===(e=r.call(t))?"regexp":"[object Date]"===e?"date":"[object Arguments]"===e?"arguments":"[object Error]"===e?"error":"[object Promise]"===e?"promise":function(t){return t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}(t)?"buffer":"[object Set]"===e?"set":"[object WeakSet]"===e?"weakset":"[object Map]"===e?"map":"[object WeakMap]"===e?"weakmap":"[object Symbol]"===e?"symbol":"[object Map Iterator]"===e?"mapiterator":"[object Set Iterator]"===e?"setiterator":"[object String Iterator]"===e?"stringiterator":"[object Array Iterator]"===e?"arrayiterator":"[object Int8Array]"===e?"int8array":"[object Uint8Array]"===e?"uint8array":"[object Uint8ClampedArray]"===e?"uint8clampedarray":"[object Int16Array]"===e?"int16array":"[object Uint16Array]"===e?"uint16array":"[object Int32Array]"===e?"int32array":"[object Uint32Array]"===e?"uint32array":"[object Float32Array]"===e?"float32array":"[object Float64Array]"===e?"float64array":"object"}},663:function(t){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.default=t.exports,t.exports.__esModule=!0},587:function(t){function r(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}t.exports=function(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t},t.exports.default=t.exports,t.exports.__esModule=!0},837:function(t){t.exports=function(t,r,e){return r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t},t.exports.default=t.exports,t.exports.__esModule=!0},921:function(t){function r(){return t.exports=r=Object.assign||function(t){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t},t.exports.default=t.exports,t.exports.__esModule=!0,r.apply(this,arguments)}t.exports=r,t.exports.default=t.exports,t.exports.__esModule=!0},354:function(t,r,e){var n=e(262);t.exports=function(t,r){t.prototype=Object.create(r.prototype),t.prototype.constructor=t,n(t,r)},t.exports.default=t.exports,t.exports.__esModule=!0},262:function(t){function r(e,n){return t.exports=r=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},t.exports.default=t.exports,t.exports.__esModule=!0,r(e,n)}t.exports=r,t.exports.default=t.exports,t.exports.__esModule=!0},476:function(){}},r={};function e(n){var i=r[n];if(void 0!==i)return i.exports;var a=r[n]={exports:{}};return t[n](a,a.exports,e),a.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return function(){"use strict";e.r(n),e.d(n,{Validator:function(){return M.Validator},default:function(){return k},filterBuilder:function(){return V},filterMixin:function(){return T},optimiseQuery:function(){return x},wixDataEncoder:function(){return E}});var t=e(587),r=e.n(t),i=e(354),a=e.n(i),o=e(921),u=e.n(o),c=e(663),s=e.n(c),l=e(837),f=e.n(l),d=e(306),p=e.n(d);function v(t){return"array"===p()(t)}function h(t){return"date"===p()(t)}function y(t){return"string"===p()(t)}function g(t){return function(t){if(!y(t))return t;var r=t.slice(0,1).toUpperCase(),e=t.slice(1,t.length);return r+e}(p()(t))}function m(t){if(null==t||"object"!=typeof t)return t;var r=null;if(h(t))r=new Date(t.getTime());else for(var e in r=t.constructor(),t)r[e]=m(t[e]);return r}var A=function(){function t(t,r,e){f()(this,"ctor",void 0),f()(this,"_invalidArguments",void 0),f()(this,"_validations",void 0),f()(this,"operatorName",void 0),this._validations=[],this.operatorName=t,this.ctor=e,this._invalidArguments=m(r)}var r=t.prototype;return r.typeIsString=function(t){var r=this;return this.addValidation((function(){return y(t)}),(function(){return"Invalid "+r.operatorName+" parameter value ["+g(t)+"]. "+r.operatorName+" parameter must be a String."}))},r.typeIsStringNumberOrDate=function(t){var r=this;return this.addValidation((function(){return b(t)}),(function(){return"Invalid "+r.operatorName+" parameter value ["+g(t)+"]. Valid "+r.operatorName+" parameter types are String, Number or Date."}))},r.sameType=function(t,r){var e=this;return this.addValidation((function(){return g(t)===g(r)}),(function(){return"Invalid "+e.operatorName+" parameter values ["+g(t)+"] and ["+g(r)+"]. Both parameters must be of the same type."}))},r.typeIsStringNumberOrDateForAll=function(t){var r=this;return this.addValidation((function(){return t.every(b)}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" supports only Number, String or Date items."}))},r.validFieldName=function(t){var r=this;return this.addValidation((function(){return y(t)}),(function(){return"Invalid "+r.operatorName+" field value ["+g(t)+"]. "+r.operatorName+" field must be a String."}))},r.isInstanceOfSameClass=function(t){var r=this;return this.addValidation((function(){return t instanceof r.ctor}),(function(){return"Invalid "+r.operatorName+" parameter ["+g(t)+"]. "+r.operatorName+" expects FilterBuilder only."}))},r.arityIsOne=function(t){var r=this;return this.addValidation((function(){return 1===t.length}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" requires one parameter."}))},r.arityIsTwo=function(t){var r=this;return this.addValidation((function(){return 2===t.length}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" requires two parameters."}))},r.arityIsThree=function(t){var r=this;return this.addValidation((function(){return 3===t.length}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" requires three parameters."}))},r.arityIsAtLeastTwo=function(t){var r=this;return this.addValidation((function(){return t.length>=2}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" requires at least two parameters."}))},r.addValidation=function(t,r){return this._validations.push({predicateFn:t,messageFn:r}),this},r.validateAndAggregate=function(){var t=this,r=this._validations.every((function(r){var e=r.predicateFn,n=r.messageFn;return t._appendIfInvalid(e(),n())}));return[this._invalidArguments,r]},r._appendIfInvalid=function(t,r){return!!t||(this._invalidArguments.push(r),!1)},t}();function b(t){return y(t)||(r=t,"number"===p()(r))||h(t);var r}function _(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(e)return(e=e.call(t)).next.bind(e);if(Array.isArray(t)||(e=function(t,r){if(!t)return;if("string"==typeof t)return j(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return j(t,r)}(t))||r&&t&&"number"==typeof t.length){e&&(t=e);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function j(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var I=[function(t){var r=t.$and;if(Array.isArray(r)&&1===r.length)return r[0]},function(t){var r=t.$and;if(Array.isArray(r)&&0===r.length)return{};return null},function(t){var r=t.$and;if(!r)return;var e=[],n=[];if(r.forEach((function(t){!function(t){var r=Object.keys(t);return r.every((function(t){return t.startsWith("$")}))&&r.length>0}(t)?e=[].concat(e,[t]):n=[].concat(n,[t])})),e.length<=1||function(t){var r=t.map((function(t){return Object.keys(t)})).reduce((function(t,r){return[].concat(t,r)}),[]);return(e=r,n={},e.forEach((function(t){return n[t]=!0})),Object.keys(n)).length!==r.length;var e,n}(e))return;return{$and:[Object.assign.apply(Object,[{}].concat(e))].concat(n)}},function(t){var r=t.$and;if(!r)return;if(!r.find((function(t){return t.$and})))return;return{$and:r.reduce((function(t,r){var e=r.$and;return[].concat(t,e||[r])}),[])}},function(t){var r=t.$or;if(!r)return;if(!r.find((function(t){return t.$or})))return;return{$or:r.reduce((function(t,r){var e=r.$or;return[].concat(t,e||[r])}),[])}}];function x(t){return O(t)[0]}function O(t){return Array.isArray(t)?function(t){var r=t.map(O),e=0<r.filter((function(t){return t[1]})).length;return[r.map((function(t){return t[0]})),e]}(t):"object"!=typeof t||null===t||t instanceof Date?[t,!1]:function(t){var r=s(t),e=r[0],n=r[1],i=c(e),a=i[0],o=i[1];return[a,n||o];function c(t){var r=function(t){for(var r,e=_(I);!(r=e()).done;){var n=(0,r.value)(t);if(n)return n}}(t);return r?[O(r)[0],!0]:[t,!1]}function s(t){var r=Object.entries(t).map(l).filter((function(t){return t[2]}));return[u()({},t,f(r)),!!r.length]}function l(t){var r=t[0],e=O(t[1]);return[r,e[0],e[1]]}function f(t){return t.reduce((function(t,r){var e,n=r[0],i=r[1];return u()({},t,((e={})[n]=i,e))}),{})}}(t)}function w(t){return v(t.$and)}function N(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return{$and:r}}function S(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return{$and:r.reduce((function(t,r){return w(r)?t.concat(r.$and):t.concat([r])}),[])}}function $(t){return t&&t.$and&&0===t.$and.length}var T=function(t){return void 0===t&&(t=function(){}),function(t){function r(r){var e;return void 0===r&&(r={}),e=t.call(this,r)||this,f()(s()(e),"filterTree",void 0),f()(s()(e),"invalidArguments",void 0),f()(s()(e),"encoder",void 0),e.filterTree=r.filterTree||{$and:[]},e.invalidArguments=r.invalidArguments||[],e.encoder=r.encoder||{},e}a()(r,t);var e=r.prototype;return e.eq=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._binaryAnd("$eq",".eq",r)},e.ne=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._binaryAnd("$ne",".ne",r)},e.ge=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndLogicalEquivalence("$gte",".ge",r)},e.gt=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndLogicalEquivalence("$gt",".gt",r)},e.le=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndLogicalEquivalence("$lte",".le",r)},e.lt=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndLogicalEquivalence("$lt",".lt",r)},e.isNotEmpty=function(t){var r=this._filterValidator(".isNotEmpty").arityIsOne(arguments).validFieldName(t).validateAndAggregate(),e=r[0],n=r[1];return n?this.ne(t,null):this._copy(this.filterTree,e)},e.isEmpty=function(t){var r=this._filterValidator(".isEmpty").arityIsOne(arguments).validFieldName(t).validateAndAggregate(),e=r[0],n=r[1];return n?this.eq(t,null):this._copy(this.filterTree,e)},e.startsWith=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndStringOperand("$startsWith",".startsWith",r)},e.endsWith=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndStringOperand("$endsWith",".endsWith",r)},e.contains=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndStringOperand("$contains",".contains",r)},e.hasSome=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndSetOperand("$hasSome",".hasSome",r)},e.hasAll=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndSetOperand("$hasAll",".hasAll",r)},e.or=function(t){var r=this._filterValidator(".or").arityIsOne(arguments).isInstanceOfSameClass(t).validateAndAggregate(),e=r[0],n=r[1];if(n){var i=$(this.filterTree)?[]:[this.filterTree];return this._copy(N({$or:[].concat(i,[t.filterTree])}),e.concat(t.invalidArguments))}return this._copy(this.filterTree,e)},e.and=function(t){var r=this._filterValidator(".and").arityIsOne(arguments).isInstanceOfSameClass(t).validateAndAggregate(),e=r[0],n=r[1];if(n){var i=$(this.filterTree)?[]:[this.filterTree];return this._copy(N.apply(void 0,i.concat([t.filterTree])),e.concat(t.invalidArguments))}return this._copy(this.filterTree,e)},e.not=function(t){var r=this._filterValidator(".not").arityIsOne(arguments).isInstanceOfSameClass(t).validateAndAggregate(),e=r[0],n=r[1];if(n){var i=m(this.filterTree),a={$not:[t.filterTree]},o=S(i,a);return this._copy(o,e.concat(t.invalidArguments))}return this._copy(this.filterTree,e)},e.between=function(t,r,e){var n=this._filterValidator(".between").arityIsThree(arguments).sameType(r,e).typeIsStringNumberOrDate(r).typeIsStringNumberOrDate(e).validateAndAggregate(),i=n[0],a=n[1];return a?this.ge(t,r).lt(t,e):this._copy(this.filterTree,i)},e.getFilterModel=function(){if(this.invalidArguments.length>0)throw new Error(this.invalidArguments.join(" "));return x(this.filterTree)},e.setFilterModel=function(t){return this._copy(t,[])},e._binaryAnd=function(t,r,e){var n=Array.prototype.slice.call(e),i=n[0],a=n[1],o=this._filterValidator(r).arityIsTwo(e).validFieldName(i).validateAndAggregate()[0],u=this._makeNewFilter(i,t,a);return this._copy(u,o)},e._AndLogicalEquivalence=function(t,r,e){var n=Array.prototype.slice.call(e),i=n[0],a=n[1],o=this._filterValidator(r).arityIsTwo(e).validFieldName(i).typeIsStringNumberOrDate(a).validateAndAggregate()[0],u=this._makeNewFilter(i,t,a);return this._copy(u,o)},e._AndStringOperand=function(t,r,e){var n=Array.prototype.slice.call(e),i=n[0],a=n[1],o=this._filterValidator(r).arityIsTwo(e).validFieldName(i).typeIsString(a).validateAndAggregate()[0],u=this._makeNewFilter(i,t,a);return this._copy(u,o)},e._AndSetOperand=function(t,r,e){var n=Array.prototype.slice.call(e),i=n[0],a=n.slice(1),o=v(a[0])?a[0]:a,u=this._filterValidator(r).arityIsAtLeastTwo(e).validFieldName(i).typeIsStringNumberOrDateForAll(o).validateAndAggregate()[0],c=this._makeNewFilter(i,t,o);return this._copy(c,u)},e._makeNewFilter=function(t,r,e){var n,i=m(this.filterTree),a=void 0===e?null:e,o=this._buildFilter(t,r,a);return v(i.$and)?(i.$and.push(o),i):(n=i,0===Object.keys(n).length?N(o):N(i,o))},e._buildFilter=function(t,r,e){if("$eq"!==r){var n={};return n[t]={},n[t][r]=this._encode(e),n}var i={};return i[t]=this._encode(e),i},e._encode=function(t){return r=this.encoder,"function"===p()(r)?this.encoder(t):t;var r},e._copy=function(t,r){return new this.constructor(u()({},this,{filterTree:t,invalidArguments:r}))},e._filterValidator=function(t){return new A(t,this.invalidArguments,this.constructor)},r}(t)},F=function(t){function e(){return t.apply(this,arguments)||this}return a()(e,t),e.prototype._build=function(){return this.getFilterModel()},r()(e,[{key:"constructorName",get:function(){return"FilterBuilder"}}]),e}(T());function V(t){return void 0===t&&(t={}),new F(t)}var M=e(476);function E(t){return h(t)?{$date:t.toJSON()}:t}var k=V}(),n}()}));
!function(t,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("platformized-filter-builder",[],r):"object"==typeof exports?exports["platformized-filter-builder"]=r():t["platformized-filter-builder"]=r()}("undefined"!=typeof self?self:this,(function(){return function(){var t={50:function(t){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.default=t.exports,t.exports.__esModule=!0},523:function(t){function r(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}t.exports=function(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t},t.exports.default=t.exports,t.exports.__esModule=!0},695:function(t){t.exports=function(t,r,e){return r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t},t.exports.default=t.exports,t.exports.__esModule=!0},710:function(t){function r(){return t.exports=r=Object.assign||function(t){for(var r=1;r<arguments.length;r++){var e=arguments[r];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t},t.exports.default=t.exports,t.exports.__esModule=!0,r.apply(this,arguments)}t.exports=r,t.exports.default=t.exports,t.exports.__esModule=!0},333:function(t,r,e){var n=e(814);t.exports=function(t,r){t.prototype=Object.create(r.prototype),t.prototype.constructor=t,n(t,r)},t.exports.default=t.exports,t.exports.__esModule=!0},814:function(t){function r(e,n){return t.exports=r=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},t.exports.default=t.exports,t.exports.__esModule=!0,r(e,n)}t.exports=r,t.exports.default=t.exports,t.exports.__esModule=!0},347:function(){},366:function(t){var r=Object.prototype.toString;t.exports=function(t){var e=typeof t;return"undefined"===e?"undefined":null===t?"null":!0===t||!1===t||t instanceof Boolean?"boolean":"string"===e||t instanceof String?"string":"number"===e||t instanceof Number?"number":"function"===e||t instanceof Function?void 0!==t.constructor.name&&"Generator"===t.constructor.name.slice(0,9)?"generatorfunction":"function":void 0!==Array.isArray&&Array.isArray(t)?"array":t instanceof RegExp?"regexp":t instanceof Date?"date":"[object RegExp]"===(e=r.call(t))?"regexp":"[object Date]"===e?"date":"[object Arguments]"===e?"arguments":"[object Error]"===e?"error":"[object Promise]"===e?"promise":function(t){return t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}(t)?"buffer":"[object Set]"===e?"set":"[object WeakSet]"===e?"weakset":"[object Map]"===e?"map":"[object WeakMap]"===e?"weakmap":"[object Symbol]"===e?"symbol":"[object Map Iterator]"===e?"mapiterator":"[object Set Iterator]"===e?"setiterator":"[object String Iterator]"===e?"stringiterator":"[object Array Iterator]"===e?"arrayiterator":"[object Int8Array]"===e?"int8array":"[object Uint8Array]"===e?"uint8array":"[object Uint8ClampedArray]"===e?"uint8clampedarray":"[object Int16Array]"===e?"int16array":"[object Uint16Array]"===e?"uint16array":"[object Int32Array]"===e?"int32array":"[object Uint32Array]"===e?"uint32array":"[object Float32Array]"===e?"float32array":"[object Float64Array]"===e?"float64array":"object"}}},r={};function e(n){var i=r[n];if(void 0!==i)return i.exports;var a=r[n]={exports:{}};return t[n](a,a.exports,e),a.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return function(){"use strict";e.r(n),e.d(n,{Validator:function(){return F.Validator},default:function(){return M},filterBuilder:function(){return T},filterMixin:function(){return S},optimiseQuery:function(){return x},wixDataEncoder:function(){return V}});var t=e(523),r=e.n(t),i=e(333),a=e.n(i),o=e(710),u=e.n(o),s=e(50),c=e.n(s),l=e(695),f=e.n(l),d=e(366),p=e.n(d);function v(t){return"array"===p()(t)}function h(t){return"date"===p()(t)}function y(t){return"string"===p()(t)}function g(t){return function(t){if(!y(t))return t;var r=t.slice(0,1).toUpperCase(),e=t.slice(1,t.length);return r+e}(p()(t))}function m(t){if(null==t||"object"!=typeof t)return t;var r=null;if(h(t))r=new Date(t.getTime());else for(var e in r=t.constructor(),t)r[e]=m(t[e]);return r}var A=function(){function t(t,r,e){f()(this,"ctor",void 0),f()(this,"_invalidArguments",void 0),f()(this,"_validations",void 0),f()(this,"operatorName",void 0),this._validations=[],this.operatorName=t,this.ctor=e,this._invalidArguments=m(r)}var r=t.prototype;return r.typeIsString=function(t){var r=this;return this.addValidation((function(){return y(t)}),(function(){return"Invalid "+r.operatorName+" parameter value ["+g(t)+"]. "+r.operatorName+" parameter must be a String."}))},r.typeIsStringNumberOrDate=function(t){var r=this;return this.addValidation((function(){return b(t)}),(function(){return"Invalid "+r.operatorName+" parameter value ["+g(t)+"]. Valid "+r.operatorName+" parameter types are String, Number or Date."}))},r.sameType=function(t,r){var e=this;return this.addValidation((function(){return g(t)===g(r)}),(function(){return"Invalid "+e.operatorName+" parameter values ["+g(t)+"] and ["+g(r)+"]. Both parameters must be of the same type."}))},r.typeIsStringNumberOrDateForAll=function(t){var r=this;return this.addValidation((function(){return t.every(b)}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" supports only Number, String or Date items."}))},r.validFieldName=function(t){var r=this;return this.addValidation((function(){return y(t)}),(function(){return"Invalid "+r.operatorName+" field value ["+g(t)+"]. "+r.operatorName+" field must be a String."}))},r.isInstanceOfSameClass=function(t){var r=this;return this.addValidation((function(){return t instanceof r.ctor}),(function(){return"Invalid "+r.operatorName+" parameter ["+g(t)+"]. "+r.operatorName+" expects FilterBuilder only."}))},r.arityIsOne=function(t){var r=this;return this.addValidation((function(){return 1===t.length}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" requires one parameter."}))},r.arityIsTwo=function(t){var r=this;return this.addValidation((function(){return 2===t.length}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" requires two parameters."}))},r.arityIsThree=function(t){var r=this;return this.addValidation((function(){return 3===t.length}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" requires three parameters."}))},r.arityIsAtLeastTwo=function(t){var r=this;return this.addValidation((function(){return t.length>=2}),(function(){return"Invalid "+r.operatorName+" usage. "+r.operatorName+" requires at least two parameters."}))},r.addValidation=function(t,r){return this._validations.push({predicateFn:t,messageFn:r}),this},r.validateAndAggregate=function(){var t=this,r=this._validations.every((function(r){var e=r.predicateFn,n=r.messageFn;return t._appendIfInvalid(e(),n())}));return[this._invalidArguments,r]},r._appendIfInvalid=function(t,r){return!!t||(this._invalidArguments.push(r),!1)},t}();function b(t){return y(t)||(r=t,"number"===p()(r))||h(t);var r}function _(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(e)return(e=e.call(t)).next.bind(e);if(Array.isArray(t)||(e=function(t,r){if(!t)return;if("string"==typeof t)return j(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return j(t,r)}(t))||r&&t&&"number"==typeof t.length){e&&(t=e);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function j(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var I=[function(t){var r=t.$and;if(Array.isArray(r)&&1===r.length)return r[0]},function(t){var r=t.$and;if(Array.isArray(r)&&0===r.length)return{};return null},function(t){var r=t.$and;if(!r)return;var e=[],n=[];if(r.forEach((function(t){!function(t){var r=Object.keys(t);return r.every((function(t){return t.startsWith("$")}))&&r.length>0}(t)?e=[].concat(e,[t]):n=[].concat(n,[t])})),e.length<=1||function(t){var r=t.map((function(t){return Object.keys(t)})).reduce((function(t,r){return[].concat(t,r)}),[]);return(e=r,n={},e.forEach((function(t){return n[t]=!0})),Object.keys(n)).length!==r.length;var e,n}(e))return;return{$and:[Object.assign.apply(Object,[{}].concat(e))].concat(n)}},function(t){var r=t.$and;if(!r)return;if(!r.find((function(t){return t.$and})))return;return{$and:r.reduce((function(t,r){var e=r.$and;return[].concat(t,e||[r])}),[])}},function(t){var r=t.$or;if(!r)return;if(!r.find((function(t){return t.$or})))return;return{$or:r.reduce((function(t,r){var e=r.$or;return[].concat(t,e||[r])}),[])}}];function x(t){return O(t)[0]}function O(t){return Array.isArray(t)?function(t){var r=t.map(O),e=0<r.filter((function(t){return t[1]})).length;return[r.map((function(t){return t[0]})),e]}(t):"object"!=typeof t||null===t||t instanceof Date?[t,!1]:function(t){var r=c(t),e=r[0],n=r[1],i=s(e),a=i[0],o=i[1];return[a,n||o];function s(t){var r=function(t){for(var r,e=_(I);!(r=e()).done;){var n=(0,r.value)(t);if(n)return n}}(t);return r?[O(r)[0],!0]:[t,!1]}function c(t){var r=Object.entries(t).map(l).filter((function(t){return t[2]}));return[u()({},t,f(r)),!!r.length]}function l(t){var r=t[0],e=O(t[1]);return[r,e[0],e[1]]}function f(t){return t.reduce((function(t,r){var e,n=r[0],i=r[1];return u()({},t,((e={})[n]=i,e))}),{})}}(t)}function w(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return{$and:r}}function N(t){return t&&t.$and&&0===t.$and.length}var S=function(t){return void 0===t&&(t=function(){}),function(t){function r(r){var e;return void 0===r&&(r={}),e=t.call(this,r)||this,f()(c()(e),"filterTree",void 0),f()(c()(e),"invalidArguments",void 0),f()(c()(e),"encoder",void 0),e.filterTree=r.filterTree||{$and:[]},e.invalidArguments=r.invalidArguments||[],e.encoder=r.encoder||{},e}a()(r,t);var e=r.prototype;return e.eq=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._binaryAnd("$eq",".eq",r)},e.ne=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._binaryAnd("$ne",".ne",r)},e.ge=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndLogicalEquivalence("$gte",".ge",r)},e.gt=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndLogicalEquivalence("$gt",".gt",r)},e.le=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndLogicalEquivalence("$lte",".le",r)},e.lt=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndLogicalEquivalence("$lt",".lt",r)},e.isNotEmpty=function(t){var r=this._filterValidator(".isNotEmpty").arityIsOne(arguments).validFieldName(t).validateAndAggregate(),e=r[0];return r[1]?this.ne(t,null):this._copy(this.filterTree,e)},e.isEmpty=function(t){var r=this._filterValidator(".isEmpty").arityIsOne(arguments).validFieldName(t).validateAndAggregate(),e=r[0];return r[1]?this.eq(t,null):this._copy(this.filterTree,e)},e.startsWith=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndStringOperand("$startsWith",".startsWith",r)},e.endsWith=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndStringOperand("$endsWith",".endsWith",r)},e.contains=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndStringOperand("$contains",".contains",r)},e.hasSome=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndSetOperand("$hasSome",".hasSome",r)},e.hasAll=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return this._AndSetOperand("$hasAll",".hasAll",r)},e.or=function(t){var r=this._filterValidator(".or").arityIsOne(arguments).isInstanceOfSameClass(t).validateAndAggregate(),e=r[0];if(r[1]){var n=N(this.filterTree)?[]:[this.filterTree];return this._copy(w({$or:[].concat(n,[t.filterTree])}),e.concat(t.invalidArguments))}return this._copy(this.filterTree,e)},e.and=function(t){var r=this._filterValidator(".and").arityIsOne(arguments).isInstanceOfSameClass(t).validateAndAggregate(),e=r[0];if(r[1]){var n=N(this.filterTree)?[]:[this.filterTree];return this._copy(w.apply(void 0,n.concat([t.filterTree])),e.concat(t.invalidArguments))}return this._copy(this.filterTree,e)},e.not=function(t){var r=this._filterValidator(".not").arityIsOne(arguments).isInstanceOfSameClass(t).validateAndAggregate(),e=r[0];if(r[1]){var n=function(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];return{$and:r.reduce((function(t,r){return v(r.$and)?t.concat(r.$and):t.concat([r])}),[])}}(m(this.filterTree),{$not:[t.filterTree]});return this._copy(n,e.concat(t.invalidArguments))}return this._copy(this.filterTree,e)},e.between=function(t,r,e){var n=this._filterValidator(".between").arityIsThree(arguments).sameType(r,e).typeIsStringNumberOrDate(r).typeIsStringNumberOrDate(e).validateAndAggregate(),i=n[0];return n[1]?this.ge(t,r).lt(t,e):this._copy(this.filterTree,i)},e.getFilterModel=function(){if(this.invalidArguments.length>0)throw new Error(this.invalidArguments.join(" "));return x(this.filterTree)},e.setFilterModel=function(t){return this._copy(t,[])},e._binaryAnd=function(t,r,e){var n=Array.prototype.slice.call(e),i=n[0],a=n[1],o=this._filterValidator(r).arityIsTwo(e).validFieldName(i).validateAndAggregate()[0],u=this._makeNewFilter(i,t,a);return this._copy(u,o)},e._AndLogicalEquivalence=function(t,r,e){var n=Array.prototype.slice.call(e),i=n[0],a=n[1],o=this._filterValidator(r).arityIsTwo(e).validFieldName(i).typeIsStringNumberOrDate(a).validateAndAggregate()[0],u=this._makeNewFilter(i,t,a);return this._copy(u,o)},e._AndStringOperand=function(t,r,e){var n=Array.prototype.slice.call(e),i=n[0],a=n[1],o=this._filterValidator(r).arityIsTwo(e).validFieldName(i).typeIsString(a).validateAndAggregate()[0],u=this._makeNewFilter(i,t,a);return this._copy(u,o)},e._AndSetOperand=function(t,r,e){var n=Array.prototype.slice.call(e),i=n[0],a=n.slice(1),o=v(a[0])?a[0]:a,u=this._filterValidator(r).arityIsAtLeastTwo(e).validFieldName(i).typeIsStringNumberOrDateForAll(o).validateAndAggregate()[0],s=this._makeNewFilter(i,t,o);return this._copy(s,u)},e._makeNewFilter=function(t,r,e){var n,i=m(this.filterTree),a=void 0===e?null:e,o=this._buildFilter(t,r,a);return v(i.$and)?(i.$and.push(o),i):(n=i,0===Object.keys(n).length?w(o):w(i,o))},e._buildFilter=function(t,r,e){if("$eq"!==r){var n={};return n[t]={},n[t][r]=this._encode(e),n}var i={};return i[t]=this._encode(e),i},e._encode=function(t){return r=this.encoder,"function"===p()(r)?this.encoder(t):t;var r},e._copy=function(t,r){return new this.constructor(u()({},this,{filterTree:t,invalidArguments:r}))},e._filterValidator=function(t){return new A(t,this.invalidArguments,this.constructor)},r}(t)},$=function(t){function e(){return t.apply(this,arguments)||this}return a()(e,t),e.prototype._build=function(){return this.getFilterModel()},r()(e,[{key:"constructorName",get:function(){return"FilterBuilder"}}]),e}(S());function T(t){return void 0===t&&(t={}),new $(t)}var F=e(347);function V(t){return h(t)?{$date:t.toJSON()}:t}var M=T}(),n}()}));
//# sourceMappingURL=filter-builder.umd.min.js.map
{
"filter-builder.js": "https://static.parastorage.com/services/filter-builder/2c5a2a3ee58d6d3cbc6c6b25662d133a35af77306d251b8adf59c265/filter-builder.umd.js"
"filter-builder.js": "https://static.parastorage.com/services/filter-builder/df2464b1950b96c88f199467e6bc1dd279d18fd261d3d25c153804bf/filter-builder.umd.js"
}
{
"filter-builder.js": "https://static.parastorage.com/services/filter-builder/2c5a2a3ee58d6d3cbc6c6b25662d133a35af77306d251b8adf59c265/filter-builder.umd.min.js"
"filter-builder.js": "https://static.parastorage.com/services/filter-builder/df2464b1950b96c88f199467e6bc1dd279d18fd261d3d25c153804bf/filter-builder.umd.min.js"
}
{
"name": "@wix/filter-builder",
"version": "1.0.16",
"version": "1.0.17",
"license": "UNLICENSED",

@@ -36,7 +36,7 @@ "author": {

"@babel/runtime": "^7.20.6",
"tslib": "^2.4.1",
"kind-of": "~5.1.0"
"kind-of": "~5.1.0",
"tslib": "^2.4.1"
},
"devDependencies": {
"@types/jest": "^26.0.24",
"@types/jest": "^29.5.0",
"@types/node": "^14.18.34",

@@ -93,3 +93,3 @@ "@wix/eslint-config-yoshi": "^5.162.14",

},
"falconPackageHash": "b7393276b8aa934825a79ec93c91122422b5eb7a63c1bb2f94800f92"
"falconPackageHash": "ae479c7163431590e49c5c9953331d8635d86787d49e877031640936"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc