c2-mongoose 2.1.284 → 2.1.286
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/flow/SearcherFlow.js +19 -17
- package/package.json +1 -1
- package/src/flow/SearcherFlow.ts +15 -15
|
@@ -359,30 +359,32 @@ var SearcherFlow = /** @class */ (function () {
|
|
|
359
359
|
// delete filters['$and']
|
|
360
360
|
var orPayload = [];
|
|
361
361
|
if (objectSearch === null || objectSearch === void 0 ? void 0 : objectSearch.or) {
|
|
362
|
-
var _loop_1 = function (
|
|
363
|
-
if (
|
|
364
|
-
var
|
|
365
|
-
|
|
366
|
-
var
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
362
|
+
var _loop_1 = function (clauseOr) {
|
|
363
|
+
if (clauseOr.and && Array.isArray(clauseOr.and)) {
|
|
364
|
+
var and_1 = [];
|
|
365
|
+
for (var _d = 0, _e = clauseOr.and; _d < _e.length; _d++) {
|
|
366
|
+
var clauseAnd = _e[_d];
|
|
367
|
+
Object.entries(clauseAnd).forEach(function (_a) {
|
|
368
|
+
var key = _a[0], value = _a[1];
|
|
369
|
+
if ((0, Utils_1.isEmpty)(value))
|
|
370
|
+
return;
|
|
371
|
+
value = _this.normalizeValue(key, value);
|
|
372
|
+
var condition = _this.buildCondition(key, value);
|
|
373
|
+
and_1.push(condition);
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
orPayload.push(and_1);
|
|
374
377
|
}
|
|
375
378
|
};
|
|
376
379
|
for (var _b = 0, _c = objectSearch === null || objectSearch === void 0 ? void 0 : objectSearch.or; _b < _c.length; _b++) {
|
|
377
|
-
var
|
|
378
|
-
_loop_1(
|
|
380
|
+
var clauseOr = _c[_b];
|
|
381
|
+
_loop_1(clauseOr);
|
|
379
382
|
}
|
|
380
383
|
}
|
|
381
384
|
var filtersFinal = {};
|
|
382
385
|
if (andQueriesParam.length > 0) {
|
|
383
|
-
if (!filtersFinal.$or)
|
|
384
|
-
|
|
385
|
-
filtersFinal.$or = __spreadArray(__spreadArray([], filtersFinal.$or, true), [{ $and: __spreadArray([], andQueriesParam, true) }], false);
|
|
386
|
+
// if (!filtersFinal.$or) filtersFinal.$or = []
|
|
387
|
+
filtersFinal = __assign(__assign({}, filtersFinal), andQueriesParam);
|
|
386
388
|
}
|
|
387
389
|
if (orPayload.length > 0) {
|
|
388
390
|
if (!filtersFinal.$or)
|
package/package.json
CHANGED
package/src/flow/SearcherFlow.ts
CHANGED
|
@@ -345,26 +345,26 @@ class SearcherFlow<D> {
|
|
|
345
345
|
|
|
346
346
|
const orPayload: any[] = []
|
|
347
347
|
if (objectSearch?.or) {
|
|
348
|
-
for (const
|
|
349
|
-
if (
|
|
350
|
-
const
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
348
|
+
for (const clauseOr of objectSearch?.or) {
|
|
349
|
+
if (clauseOr.and && Array.isArray(clauseOr.and)) {
|
|
350
|
+
const and: any[] = []
|
|
351
|
+
for (const clauseAnd of clauseOr.and) {
|
|
352
|
+
Object.entries(clauseAnd).forEach(([key, value]) => {
|
|
353
|
+
if (isEmpty(value)) return
|
|
354
|
+
value = this.normalizeValue(key, value)
|
|
355
|
+
const condition = this.buildCondition(key, value)
|
|
356
|
+
and.push(condition)
|
|
357
|
+
})
|
|
358
|
+
}
|
|
359
|
+
orPayload.push(and)
|
|
359
360
|
}
|
|
360
361
|
}
|
|
361
362
|
}
|
|
362
363
|
|
|
363
|
-
|
|
364
|
-
|
|
364
|
+
let filtersFinal = {} as any
|
|
365
365
|
if (andQueriesParam.length > 0) {
|
|
366
|
-
if (!filtersFinal.$or) filtersFinal.$or = []
|
|
367
|
-
filtersFinal
|
|
366
|
+
// if (!filtersFinal.$or) filtersFinal.$or = []
|
|
367
|
+
filtersFinal = { ...filtersFinal, ...andQueriesParam }
|
|
368
368
|
}
|
|
369
369
|
|
|
370
370
|
if (orPayload.length > 0) {
|