@wix/filter-builder 1.0.39 → 1.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/filter-builder.js +1 -2
- package/dist/cjs/filter-builder.js.map +1 -1
- package/dist/cjs/filter-mixin.js +15 -40
- package/dist/cjs/filter-mixin.js.map +1 -1
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/query-optimiser.js +5 -13
- package/dist/cjs/query-optimiser.js.map +1 -1
- package/dist/esm/__tests__/filter.spec.js +67 -72
- package/dist/esm/__tests__/filter.spec.js.map +1 -1
- package/dist/esm/__tests__/query-optimizer.spec.js +12 -12
- package/dist/esm/__tests__/query-optimizer.spec.js.map +1 -1
- package/dist/esm/clone.js +2 -2
- package/dist/esm/clone.js.map +1 -1
- package/dist/esm/filter-builder.js +7 -19
- package/dist/esm/filter-builder.js.map +1 -1
- package/dist/esm/filter-mixin.js +205 -270
- package/dist/esm/filter-mixin.js.map +1 -1
- package/dist/esm/filter-validator.js +42 -78
- package/dist/esm/filter-validator.js.map +1 -1
- package/dist/esm/query-optimiser.js +49 -65
- package/dist/esm/query-optimiser.js.map +1 -1
- package/dist/esm/type-utils.js +2 -2
- package/dist/esm/type-utils.js.map +1 -1
- package/dist/statics/filter-builder.umd.js +123 -195
- package/dist/statics/filter-builder.umd.js.map +1 -1
- package/dist/statics/filter-builder.umd.min.js +1 -1
- package/dist/statics/filter-builder.umd.min.js.map +1 -1
- package/dist/statics/manifest.json +1 -1
- package/dist/statics/manifest.min.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -7,167 +7,25 @@
|
|
|
7
7
|
exports["platformized-filter-builder"] = factory();
|
|
8
8
|
else
|
|
9
9
|
root["platformized-filter-builder"] = factory();
|
|
10
|
-
})((typeof self !== 'undefined' ? self : this),
|
|
11
|
-
return /******/ (
|
|
10
|
+
})((typeof self !== 'undefined' ? self : this), () => {
|
|
11
|
+
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
14
|
-
/***/
|
|
15
|
-
/*!****************************************************************************************************************!*\
|
|
16
|
-
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
|
|
17
|
-
\****************************************************************************************************************/
|
|
18
|
-
/***/ (function(module) {
|
|
19
|
-
|
|
20
|
-
function _assertThisInitialized(self) {
|
|
21
|
-
if (self === void 0) {
|
|
22
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return self;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
module.exports = _assertThisInitialized;
|
|
29
|
-
module.exports["default"] = module.exports, module.exports.__esModule = true;
|
|
30
|
-
|
|
31
|
-
/***/ }),
|
|
32
|
-
|
|
33
|
-
/***/ 523:
|
|
34
|
-
/*!******************************************************************************************************!*\
|
|
35
|
-
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/createClass.js ***!
|
|
36
|
-
\******************************************************************************************************/
|
|
37
|
-
/***/ (function(module) {
|
|
38
|
-
|
|
39
|
-
function _defineProperties(target, props) {
|
|
40
|
-
for (var i = 0; i < props.length; i++) {
|
|
41
|
-
var descriptor = props[i];
|
|
42
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
43
|
-
descriptor.configurable = true;
|
|
44
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
45
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
50
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
51
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
52
|
-
return Constructor;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
module.exports = _createClass;
|
|
56
|
-
module.exports["default"] = module.exports, module.exports.__esModule = true;
|
|
57
|
-
|
|
58
|
-
/***/ }),
|
|
59
|
-
|
|
60
|
-
/***/ 695:
|
|
61
|
-
/*!*********************************************************************************************************!*\
|
|
62
|
-
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/defineProperty.js ***!
|
|
63
|
-
\*********************************************************************************************************/
|
|
64
|
-
/***/ (function(module) {
|
|
65
|
-
|
|
66
|
-
function _defineProperty(obj, key, value) {
|
|
67
|
-
if (key in obj) {
|
|
68
|
-
Object.defineProperty(obj, key, {
|
|
69
|
-
value: value,
|
|
70
|
-
enumerable: true,
|
|
71
|
-
configurable: true,
|
|
72
|
-
writable: true
|
|
73
|
-
});
|
|
74
|
-
} else {
|
|
75
|
-
obj[key] = value;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return obj;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
module.exports = _defineProperty;
|
|
82
|
-
module.exports["default"] = module.exports, module.exports.__esModule = true;
|
|
83
|
-
|
|
84
|
-
/***/ }),
|
|
85
|
-
|
|
86
|
-
/***/ 710:
|
|
87
|
-
/*!**************************************************************************************************!*\
|
|
88
|
-
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/extends.js ***!
|
|
89
|
-
\**************************************************************************************************/
|
|
90
|
-
/***/ (function(module) {
|
|
91
|
-
|
|
92
|
-
function _extends() {
|
|
93
|
-
module.exports = _extends = Object.assign || function (target) {
|
|
94
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
95
|
-
var source = arguments[i];
|
|
96
|
-
|
|
97
|
-
for (var key in source) {
|
|
98
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
99
|
-
target[key] = source[key];
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return target;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
module.exports["default"] = module.exports, module.exports.__esModule = true;
|
|
108
|
-
return _extends.apply(this, arguments);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
module.exports = _extends;
|
|
112
|
-
module.exports["default"] = module.exports, module.exports.__esModule = true;
|
|
113
|
-
|
|
114
|
-
/***/ }),
|
|
115
|
-
|
|
116
|
-
/***/ 333:
|
|
117
|
-
/*!********************************************************************************************************!*\
|
|
118
|
-
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/inheritsLoose.js ***!
|
|
119
|
-
\********************************************************************************************************/
|
|
120
|
-
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
121
|
-
|
|
122
|
-
var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ 814);
|
|
123
|
-
|
|
124
|
-
function _inheritsLoose(subClass, superClass) {
|
|
125
|
-
subClass.prototype = Object.create(superClass.prototype);
|
|
126
|
-
subClass.prototype.constructor = subClass;
|
|
127
|
-
setPrototypeOf(subClass, superClass);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
module.exports = _inheritsLoose;
|
|
131
|
-
module.exports["default"] = module.exports, module.exports.__esModule = true;
|
|
132
|
-
|
|
133
|
-
/***/ }),
|
|
134
|
-
|
|
135
|
-
/***/ 814:
|
|
136
|
-
/*!*********************************************************************************************************!*\
|
|
137
|
-
!*** ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
|
|
138
|
-
\*********************************************************************************************************/
|
|
139
|
-
/***/ (function(module) {
|
|
140
|
-
|
|
141
|
-
function _setPrototypeOf(o, p) {
|
|
142
|
-
module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
143
|
-
o.__proto__ = p;
|
|
144
|
-
return o;
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
module.exports["default"] = module.exports, module.exports.__esModule = true;
|
|
148
|
-
return _setPrototypeOf(o, p);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
module.exports = _setPrototypeOf;
|
|
152
|
-
module.exports["default"] = module.exports, module.exports.__esModule = true;
|
|
153
|
-
|
|
154
|
-
/***/ }),
|
|
155
|
-
|
|
156
|
-
/***/ 347:
|
|
14
|
+
/***/ 24:
|
|
157
15
|
/*!**********************!*\
|
|
158
16
|
!*** ./validator.ts ***!
|
|
159
17
|
\**********************/
|
|
160
|
-
/***/ (
|
|
18
|
+
/***/ (() => {
|
|
161
19
|
|
|
162
20
|
|
|
163
21
|
|
|
164
22
|
/***/ }),
|
|
165
23
|
|
|
166
|
-
/***/
|
|
24
|
+
/***/ 182:
|
|
167
25
|
/*!*******************************************!*\
|
|
168
26
|
!*** ../../node_modules/kind-of/index.js ***!
|
|
169
27
|
\*******************************************/
|
|
170
|
-
/***/ (
|
|
28
|
+
/***/ ((module) => {
|
|
171
29
|
|
|
172
30
|
var toString = Object.prototype.toString;
|
|
173
31
|
|
|
@@ -318,6 +176,87 @@ function isBuffer(val) {
|
|
|
318
176
|
}
|
|
319
177
|
|
|
320
178
|
|
|
179
|
+
/***/ }),
|
|
180
|
+
|
|
181
|
+
/***/ 668:
|
|
182
|
+
/*!********************************************************************************************************!*\
|
|
183
|
+
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/defineProperty.js ***!
|
|
184
|
+
\********************************************************************************************************/
|
|
185
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
186
|
+
|
|
187
|
+
var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 403);
|
|
188
|
+
function _defineProperty(obj, key, value) {
|
|
189
|
+
key = toPropertyKey(key);
|
|
190
|
+
if (key in obj) {
|
|
191
|
+
Object.defineProperty(obj, key, {
|
|
192
|
+
value: value,
|
|
193
|
+
enumerable: true,
|
|
194
|
+
configurable: true,
|
|
195
|
+
writable: true
|
|
196
|
+
});
|
|
197
|
+
} else {
|
|
198
|
+
obj[key] = value;
|
|
199
|
+
}
|
|
200
|
+
return obj;
|
|
201
|
+
}
|
|
202
|
+
module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
203
|
+
|
|
204
|
+
/***/ }),
|
|
205
|
+
|
|
206
|
+
/***/ 350:
|
|
207
|
+
/*!*****************************************************************************************************!*\
|
|
208
|
+
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/toPrimitive.js ***!
|
|
209
|
+
\*****************************************************************************************************/
|
|
210
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
211
|
+
|
|
212
|
+
var _typeof = (__webpack_require__(/*! ./typeof.js */ 311)["default"]);
|
|
213
|
+
function toPrimitive(t, r) {
|
|
214
|
+
if ("object" != _typeof(t) || !t) return t;
|
|
215
|
+
var e = t[Symbol.toPrimitive];
|
|
216
|
+
if (void 0 !== e) {
|
|
217
|
+
var i = e.call(t, r || "default");
|
|
218
|
+
if ("object" != _typeof(i)) return i;
|
|
219
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
220
|
+
}
|
|
221
|
+
return ("string" === r ? String : Number)(t);
|
|
222
|
+
}
|
|
223
|
+
module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
224
|
+
|
|
225
|
+
/***/ }),
|
|
226
|
+
|
|
227
|
+
/***/ 403:
|
|
228
|
+
/*!*******************************************************************************************************!*\
|
|
229
|
+
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
|
|
230
|
+
\*******************************************************************************************************/
|
|
231
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
232
|
+
|
|
233
|
+
var _typeof = (__webpack_require__(/*! ./typeof.js */ 311)["default"]);
|
|
234
|
+
var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ 350);
|
|
235
|
+
function toPropertyKey(t) {
|
|
236
|
+
var i = toPrimitive(t, "string");
|
|
237
|
+
return "symbol" == _typeof(i) ? i : String(i);
|
|
238
|
+
}
|
|
239
|
+
module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
240
|
+
|
|
241
|
+
/***/ }),
|
|
242
|
+
|
|
243
|
+
/***/ 311:
|
|
244
|
+
/*!************************************************************************************************!*\
|
|
245
|
+
!*** ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/typeof.js ***!
|
|
246
|
+
\************************************************************************************************/
|
|
247
|
+
/***/ ((module) => {
|
|
248
|
+
|
|
249
|
+
function _typeof(o) {
|
|
250
|
+
"@babel/helpers - typeof";
|
|
251
|
+
|
|
252
|
+
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
253
|
+
return typeof o;
|
|
254
|
+
} : function (o) {
|
|
255
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
256
|
+
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
|
|
257
|
+
}
|
|
258
|
+
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
259
|
+
|
|
321
260
|
/***/ })
|
|
322
261
|
|
|
323
262
|
/******/ });
|
|
@@ -348,49 +287,49 @@ function isBuffer(val) {
|
|
|
348
287
|
/******/
|
|
349
288
|
/************************************************************************/
|
|
350
289
|
/******/ /* webpack/runtime/compat get default export */
|
|
351
|
-
/******/
|
|
290
|
+
/******/ (() => {
|
|
352
291
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
353
|
-
/******/ __webpack_require__.n =
|
|
292
|
+
/******/ __webpack_require__.n = (module) => {
|
|
354
293
|
/******/ var getter = module && module.__esModule ?
|
|
355
|
-
/******/
|
|
356
|
-
/******/
|
|
294
|
+
/******/ () => (module['default']) :
|
|
295
|
+
/******/ () => (module);
|
|
357
296
|
/******/ __webpack_require__.d(getter, { a: getter });
|
|
358
297
|
/******/ return getter;
|
|
359
298
|
/******/ };
|
|
360
|
-
/******/ }();
|
|
299
|
+
/******/ })();
|
|
361
300
|
/******/
|
|
362
301
|
/******/ /* webpack/runtime/define property getters */
|
|
363
|
-
/******/
|
|
302
|
+
/******/ (() => {
|
|
364
303
|
/******/ // define getter functions for harmony exports
|
|
365
|
-
/******/ __webpack_require__.d =
|
|
304
|
+
/******/ __webpack_require__.d = (exports, definition) => {
|
|
366
305
|
/******/ for(var key in definition) {
|
|
367
306
|
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
368
307
|
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
369
308
|
/******/ }
|
|
370
309
|
/******/ }
|
|
371
310
|
/******/ };
|
|
372
|
-
/******/ }();
|
|
311
|
+
/******/ })();
|
|
373
312
|
/******/
|
|
374
313
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
375
|
-
/******/
|
|
376
|
-
/******/ __webpack_require__.o =
|
|
377
|
-
/******/ }();
|
|
314
|
+
/******/ (() => {
|
|
315
|
+
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
316
|
+
/******/ })();
|
|
378
317
|
/******/
|
|
379
318
|
/******/ /* webpack/runtime/make namespace object */
|
|
380
|
-
/******/
|
|
319
|
+
/******/ (() => {
|
|
381
320
|
/******/ // define __esModule on exports
|
|
382
|
-
/******/ __webpack_require__.r =
|
|
321
|
+
/******/ __webpack_require__.r = (exports) => {
|
|
383
322
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
384
323
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
385
324
|
/******/ }
|
|
386
325
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
387
326
|
/******/ };
|
|
388
|
-
/******/ }();
|
|
327
|
+
/******/ })();
|
|
389
328
|
/******/
|
|
390
329
|
/************************************************************************/
|
|
391
330
|
var __webpack_exports__ = {};
|
|
392
331
|
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
|
|
393
|
-
|
|
332
|
+
(() => {
|
|
394
333
|
"use strict";
|
|
395
334
|
/*!******************************!*\
|
|
396
335
|
!*** ./index.ts + 7 modules ***!
|
|
@@ -400,55 +339,44 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
400
339
|
|
|
401
340
|
// EXPORTS
|
|
402
341
|
__webpack_require__.d(__webpack_exports__, {
|
|
403
|
-
|
|
404
|
-
"default":
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
342
|
+
Validator: () => (/* reexport */ validator.Validator),
|
|
343
|
+
"default": () => (/* binding */ index),
|
|
344
|
+
filterBuilder: () => (/* reexport */ filterBuilder),
|
|
345
|
+
filterMixin: () => (/* reexport */ filter_mixin),
|
|
346
|
+
optimiseQuery: () => (/* reexport */ optimisedQuery),
|
|
347
|
+
wixDataEncoder: () => (/* reexport */ wixDataEncoder)
|
|
409
348
|
});
|
|
410
349
|
|
|
411
|
-
// EXTERNAL MODULE: ../../node_modules/@wix/
|
|
412
|
-
var
|
|
413
|
-
var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
|
|
414
|
-
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/inheritsLoose.js
|
|
415
|
-
var inheritsLoose = __webpack_require__(333);
|
|
416
|
-
var inheritsLoose_default = /*#__PURE__*/__webpack_require__.n(inheritsLoose);
|
|
417
|
-
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/extends.js
|
|
418
|
-
var helpers_extends = __webpack_require__(710);
|
|
419
|
-
var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
|
|
420
|
-
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/assertThisInitialized.js
|
|
421
|
-
var assertThisInitialized = __webpack_require__(50);
|
|
422
|
-
var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
|
|
423
|
-
// EXTERNAL MODULE: ../../node_modules/@wix/yoshi-webpack-utils/node_modules/@babel/runtime/helpers/defineProperty.js
|
|
424
|
-
var defineProperty = __webpack_require__(695);
|
|
350
|
+
// EXTERNAL MODULE: ../../node_modules/@wix/babel-preset-yoshi/node_modules/@babel/runtime/helpers/defineProperty.js
|
|
351
|
+
var defineProperty = __webpack_require__(668);
|
|
425
352
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
426
353
|
// EXTERNAL MODULE: ../../node_modules/kind-of/index.js
|
|
427
|
-
var kind_of = __webpack_require__(
|
|
354
|
+
var kind_of = __webpack_require__(182);
|
|
428
355
|
var kind_of_default = /*#__PURE__*/__webpack_require__.n(kind_of);
|
|
429
356
|
;// CONCATENATED MODULE: ./type-utils.ts
|
|
430
|
-
function isObject(obj){return getKind(obj)==='object';}function isArray(arr){return kind_of_default()(arr)==='array';}function isDate(obj){return kind_of_default()(obj)==='date';}function isNumber(obj){return kind_of_default()(obj)==='number';}function isBoolean(obj){return getKind(obj)==='boolean';}function isString(obj){return kind_of_default()(obj)==='string';}function isFunction(obj){return kind_of_default()(obj)==='function';}function typeForDisplay(obj){return upperCaseFirst(kind_of_default()(obj));}function isUndefined(obj){return getKind(obj)==='undefined';}function isNull(obj){return getKind(obj)==='null';}function upperCaseFirst(str){if(!isString(str)){return str;}
|
|
357
|
+
function isObject(obj){return getKind(obj)==='object';}function isArray(arr){return kind_of_default()(arr)==='array';}function isDate(obj){return kind_of_default()(obj)==='date';}function isNumber(obj){return kind_of_default()(obj)==='number';}function isBoolean(obj){return getKind(obj)==='boolean';}function isString(obj){return kind_of_default()(obj)==='string';}function isFunction(obj){return kind_of_default()(obj)==='function';}function typeForDisplay(obj){return upperCaseFirst(kind_of_default()(obj));}function isUndefined(obj){return getKind(obj)==='undefined';}function isNull(obj){return getKind(obj)==='null';}function upperCaseFirst(str){if(!isString(str)){return str;}const first=str.slice(0,1).toUpperCase();const rest=str.slice(1,str.length);return first+rest;}
|
|
431
358
|
;// CONCATENATED MODULE: ./clone.ts
|
|
432
|
-
function clone(obj){if(obj==null||typeof obj!=='object'){return obj;}
|
|
359
|
+
function clone(obj){if(obj==null||typeof obj!=='object'){return obj;}let temp=null;if(isDate(obj)){temp=new Date(obj.getTime());}else{temp=obj.constructor();for(const key in obj){temp[key]=clone(obj[key]);}}return temp;}
|
|
433
360
|
;// CONCATENATED MODULE: ./filter-validator.ts
|
|
434
|
-
|
|
361
|
+
class FilterValidator{constructor(operatorName,previousInvalidArguments,ctor){defineProperty_default()(this,"ctor",void 0);defineProperty_default()(this,"_invalidArguments",void 0);defineProperty_default()(this,"_validations",void 0);defineProperty_default()(this,"operatorName",void 0);this._validations=[];this.operatorName=operatorName;this.ctor=ctor;this._invalidArguments=clone(previousInvalidArguments);}typeIsString(value){return this.addValidation(()=>isString(value),()=>`Invalid ${this.operatorName} parameter value [${typeForDisplay(value)}]. ${this.operatorName} parameter must be a String.`);}typeIsStringNumberOrDate(value){return this.addValidation(()=>isDateStringOrNumber(value),()=>`Invalid ${this.operatorName} parameter value [${typeForDisplay(value)}]. Valid ${this.operatorName} parameter types are String, Number or Date.`);}sameType(first,second){return this.addValidation(()=>typeForDisplay(first)===typeForDisplay(second),()=>`Invalid ${this.operatorName} parameter values [${typeForDisplay(first)}] and [${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(()=>isString(field),()=>`Invalid ${this.operatorName} field value [${typeForDisplay(field)}]. ${this.operatorName} field must be a String.`);}isInstanceOfSameClass(obj){return this.addValidation(()=>obj instanceof this.ctor,()=>`Invalid ${this.operatorName} parameter [${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){this._validations.push({predicateFn,messageFn});return this;}validateAndAggregate(){const valid=this._validations.every(_ref=>{let{predicateFn,messageFn}=_ref;return this._appendIfInvalid(predicateFn(),messageFn());});return[this._invalidArguments,valid];}_appendIfInvalid(valid,message){if(!valid){this._invalidArguments.push(message);return false;}return true;}}function isDateStringOrNumber(value){return isString(value)||isNumber(value)||isDate(value);}
|
|
435
362
|
;// CONCATENATED MODULE: ./query-optimiser.ts
|
|
436
|
-
|
|
363
|
+
const optimisations=[optimisedUnaryAnd,optimisedEmptyAnd,optimisedAndsAsObjects,optimisedNestedAnds,optimisedNestedOrs];function optimisedQuery(query){const[newQuery]=fullyOptimised(query);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){const optimisedElements=query.map(fullyOptimised);const somethingChanged=0<optimisedElements.filter(_ref=>{let[,elementChanged]=_ref;return elementChanged;}).length;const newElements=optimisedElements.map(_ref2=>{let[element]=_ref2;return element;});return[newElements,somethingChanged];}function fullyOptimisedObject(query){const[queryAfterOptimisingEntries,changedStage1]=fullEntriesOptimisation(query);const[queryAfterFullOptimisation,changedStage2]=fullObjectOptimisation(queryAfterOptimisingEntries);const changed=changedStage1||changedStage2;return[queryAfterFullOptimisation,changed];function fullObjectOptimisation(query){const updatedQuery=applyFirstOptimisation(query);if(!updatedQuery){return[query,false];}const[finalQuery]=fullyOptimised(updatedQuery);return[finalQuery,true];}function fullEntriesOptimisation(query){const changedEntries=Object.entries(query).map(entryOptimisation).filter(_ref3=>{let[,,changed]=_ref3;return changed;});const newQuery={...query,...entriesAsObject(changedEntries)};const changed=!!changedEntries.length;return[newQuery,changed];}function entryOptimisation(_ref4){let[key,value]=_ref4;const[newValue,changed]=fullyOptimised(value);return[key,newValue,changed];}function entriesAsObject(entries){return entries.reduce((acc,_ref5)=>{let[key,value]=_ref5;return{...acc,[key]:value};},{});}}function applyFirstOptimisation(node){for(const optimisation of optimisations){const newNode=optimisation(node);if(newNode){return newNode;}}}function optimisedUnaryAnd(node){const args=node.$and;if(Array.isArray(args)&&args.length===1){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=[];let operatorObjects=[];args.forEach(arg=>{if(isOperator(arg)){operatorObjects=[...operatorObjects,arg];}else{basicObjects=[...basicObjects,arg];}});if(basicObjects.length<=1||haveOverlappingFields(basicObjects)){return;}const combinedBasicObjects=Object.assign({},...basicObjects);return{$and:[combinedBasicObjects,...operatorObjects]};function isOperator(node){const keys=Object.keys(node);return keys.every(name=>name.startsWith('$'))&&keys.length>0;}function haveOverlappingFields(objects){const nonUniqueKeys=objects.map(it=>Object.keys(it)).reduce((a,b)=>[...a,...b],[]);const uniqueKeys=unique(nonUniqueKeys);return uniqueKeys.length!==nonUniqueKeys.length;}function unique(values){const dict={};values.forEach(v=>dict[v]=true);return Object.keys(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];},[]);return{$and:newArgs};}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];},[]);return{$or:newArgs};}function instanceOfIgnoredType(obj){return obj instanceof Date;}
|
|
437
364
|
;// CONCATENATED MODULE: ./filter-mixin.ts
|
|
438
|
-
|
|
365
|
+
const filterMixin=function(Base){if(Base===void 0){Base=class{};}return class extends Base{constructor(obj){if(obj===void 0){obj={};}super(obj);defineProperty_default()(this,"filterTree",void 0);defineProperty_default()(this,"invalidArguments",void 0);defineProperty_default()(this,"encoder",void 0);this.filterTree=obj.filterTree||{$and:[]};this.invalidArguments=obj.invalidArguments||[];this.encoder=obj.encoder||{};}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);}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);}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);}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);}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);}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);}isNotEmpty(field){const[newInvalidArguments,valid]=this._filterValidator('.isNotEmpty').arityIsOne(arguments).validFieldName(field).validateAndAggregate();if(valid){return this.ne(field,null);}return this._copy(this.filterTree,newInvalidArguments);}isEmpty(field){const[newInvalidArguments,valid]=this._filterValidator('.isEmpty').arityIsOne(arguments).validFieldName(field).validateAndAggregate();if(valid){return this.eq(field,null);}return this._copy(this.filterTree,newInvalidArguments);}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);}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);}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);}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);}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);}or(orQuery){const[newInvalidArguments,valid]=this._filterValidator('.or').arityIsOne(arguments).isInstanceOfSameClass(orQuery).validateAndAggregate();if(valid){const prefix=isEmptyAnd(this.filterTree)?[]:[this.filterTree];return this._copy(inAnd({$or:[...prefix,orQuery.filterTree]}),newInvalidArguments.concat(orQuery.invalidArguments));}else{return this._copy(this.filterTree,newInvalidArguments);}}and(andQuery){const[newInvalidArguments,valid]=this._filterValidator('.and').arityIsOne(arguments).isInstanceOfSameClass(andQuery).validateAndAggregate();if(valid){const prefix=isEmptyAnd(this.filterTree)?[]:[this.filterTree];return this._copy(inAnd(...prefix,andQuery.filterTree),newInvalidArguments.concat(andQuery.invalidArguments));}else{return this._copy(this.filterTree,newInvalidArguments);}}not(notQuery){const[newInvalidArguments,valid]=this._filterValidator('.not').arityIsOne(arguments).isInstanceOfSameClass(notQuery).validateAndAggregate();if(valid){const newFilterTree=clone(this.filterTree);const notClause={$not:[notQuery.filterTree]};const resultingFilter=inAndOptimized(newFilterTree,notClause);return this._copy(resultingFilter,newInvalidArguments.concat(notQuery.invalidArguments));}else{return this._copy(this.filterTree,newInvalidArguments);}}between(field,rangeStart,rangeEnd){const[newInvalidArguments,valid]=this._filterValidator('.between').arityIsThree(arguments).sameType(rangeStart,rangeEnd).typeIsStringNumberOrDate(rangeStart).typeIsStringNumberOrDate(rangeEnd).validateAndAggregate();if(valid){return this.ge(field,rangeStart).lt(field,rangeEnd);}return this._copy(this.filterTree,newInvalidArguments);}getFilterModel(){if(this.invalidArguments.length>0){throw new Error(this.invalidArguments.join(' '));}return optimisedQuery(this.filterTree);}setFilterModel(filterModel){return this._copy(filterModel,[]);}_binaryAnd(filterOperatorSymbol,operatorName,args){const[field,operand]=Array.prototype.slice.call(args);const[newInvalidArguments]=this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).validateAndAggregate();const newFilterTree=this._makeNewFilter(field,filterOperatorSymbol,operand);return this._copy(newFilterTree,newInvalidArguments);}_AndLogicalEquivalence(filterOperatorSymbol,operatorName,args){const[field,operand]=Array.prototype.slice.call(args);const[newInvalidArguments]=this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).typeIsStringNumberOrDate(operand).validateAndAggregate();const newFilterTree=this._makeNewFilter(field,filterOperatorSymbol,operand);return this._copy(newFilterTree,newInvalidArguments);}_AndStringOperand(filterOperatorName,operatorName,args){const[field,operand]=Array.prototype.slice.call(args);const[newInvalidArguments]=this._filterValidator(operatorName).arityIsTwo(args).validFieldName(field).typeIsString(operand).validateAndAggregate();const newFilterTree=this._makeNewFilter(field,filterOperatorName,operand);return this._copy(newFilterTree,newInvalidArguments);}_AndSetOperand(filterOperatorName,operatorName,args){const[field,...rawOperands]=Array.prototype.slice.call(args);const operands=isArray(rawOperands[0])?rawOperands[0]:rawOperands;const[newInvalidArguments]=this._filterValidator(operatorName).arityIsAtLeastTwo(args).validFieldName(field).typeIsStringNumberOrDateForAll(operands).validateAndAggregate();const newFilterTree=this._makeNewFilter(field,filterOperatorName,operands);return this._copy(newFilterTree,newInvalidArguments);}_makeNewFilter(field,filterOperatorName,operand){const newFilterTree=clone(this.filterTree);// filters with 'undefined' value are lost during serialization,
|
|
439
366
|
// e.g. { val: { $ne: undefined } | translates to { val: {} }
|
|
440
367
|
// Replacing 'undefined' with 'null' retains the filter.
|
|
441
|
-
|
|
442
|
-
return new this.constructor(
|
|
368
|
+
const serializableOperand=operand===undefined?null:operand;const newFilter=this._buildFilter(field,filterOperatorName,serializableOperand);if(isArray(newFilterTree.$and)){newFilterTree.$and.push(newFilter);return newFilterTree;}else{const result=isEmptyObject(newFilterTree)?inAnd(newFilter):inAnd(newFilterTree,newFilter);return result;}}_buildFilter(field,filterOperatorName,operand){if(filterOperatorName!=='$eq'){const newFilter={};newFilter[field]={};newFilter[field][filterOperatorName]=this._encode(operand);return newFilter;}else{const newFilter={};newFilter[field]=this._encode(operand);return newFilter;}}_encode(operand){if(isFunction(this.encoder)){return this.encoder(operand);}else{return operand;}}_copy(filterTree,invalidArguments){// @ts-ignore-next-line
|
|
369
|
+
return new this.constructor({...this,filterTree,invalidArguments});}_filterValidator(filterOperatorName){return new FilterValidator(filterOperatorName,this.invalidArguments,this.constructor);}};};function isConjunctiveFormFilter(filterTree){return isArray(filterTree.$and);}function isEmptyObject(obj){return Object.keys(obj).length===0;}function inAnd(){for(var _len12=arguments.length,args=new Array(_len12),_key12=0;_key12<_len12;_key12++){args[_key12]=arguments[_key12];}return{$and:args};}function inAndOptimized(){for(var _len13=arguments.length,args=new Array(_len13),_key13=0;_key13<_len13;_key13++){args[_key13]=arguments[_key13];}return{$and:args.reduce((aggr,val)=>isConjunctiveFormFilter(val)?aggr.concat(val.$and):aggr.concat([val]),[])};}function isEmptyAnd(node){return node&&node.$and&&node.$and.length===0;}/* harmony default export */ const filter_mixin = (filterMixin);
|
|
443
370
|
;// CONCATENATED MODULE: ./filter-builder.ts
|
|
444
|
-
|
|
371
|
+
class FilterBuilder extends filter_mixin(){get constructorName(){return'FilterBuilder';}_build(){return this.getFilterModel();}}function filterBuilder(params){if(params===void 0){params={};}return new FilterBuilder(params);}/* harmony default export */ const filter_builder = ((/* unused pure expression or super */ null && (filterBuilder)));
|
|
445
372
|
// EXTERNAL MODULE: ./validator.ts
|
|
446
|
-
var validator = __webpack_require__(
|
|
373
|
+
var validator = __webpack_require__(24);
|
|
447
374
|
;// CONCATENATED MODULE: ./wix-data-encoder.ts
|
|
448
375
|
function wixDataEncoder(operand){if(isDate(operand)){return{$date:operand.toJSON()};}else{return operand;}}
|
|
449
376
|
;// CONCATENATED MODULE: ./index.ts
|
|
450
|
-
/* harmony default export */
|
|
451
|
-
}();
|
|
377
|
+
/* harmony default export */ const index = (filterBuilder);
|
|
378
|
+
})();
|
|
379
|
+
|
|
452
380
|
/******/ return __webpack_exports__;
|
|
453
381
|
/******/ })()
|
|
454
382
|
;
|