@react-querybuilder/core 8.22.5 → 8.23.1
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/derivations/package.json +4 -0
- package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +2078 -1665
- package/dist/cjs/react-querybuilder_core.cjs.development.js +1293 -422
- package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
- package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +2078 -1665
- package/dist/cjs/react-querybuilder_core.cjs.production.js +1 -1
- package/dist/cjs/react-querybuilder_core.cjs.production.js.map +1 -1
- package/dist/{convertQuery-Cw76XFIn.js → convertQuery-BLT0GIhM.js} +17 -8
- package/dist/{convertQuery-Cw76XFIn.js.map → convertQuery-BLT0GIhM.js.map} +1 -1
- package/dist/{convertQuery-D_4J7E-Z.mjs → convertQuery-DaXv3h7S.mjs} +6 -3
- package/dist/{convertQuery-D_4J7E-Z.mjs.map → convertQuery-DaXv3h7S.mjs.map} +1 -1
- package/dist/derivations.d.mts +2902 -0
- package/dist/derivations.d.ts +2902 -0
- package/dist/derivations.js +2845 -0
- package/dist/derivations.js.map +1 -0
- package/dist/derivations.mjs +2678 -0
- package/dist/derivations.mjs.map +1 -0
- package/dist/formatQuery.d.mts +2 -895
- package/dist/formatQuery.d.ts +2 -895
- package/dist/formatQuery.js +120 -140
- package/dist/formatQuery.js.map +1 -1
- package/dist/formatQuery.mjs +8 -28
- package/dist/formatQuery.mjs.map +1 -1
- package/dist/{import-DVWI7Fdh.d.mts → import-BdKPtLzo.d.mts} +2 -2
- package/dist/{import-6ExjhifL.d.ts → import-BfZTwhp2.d.ts} +2 -2
- package/dist/{index-CX9mehdL.d.mts → index-DOIE2pwx.d.mts} +274 -3
- package/dist/{index-CX9mehdL.d.ts → index-DOIE2pwx.d.ts} +274 -3
- package/dist/index-OF2Q1gTp.d.mts +895 -0
- package/dist/index-XueTy_XQ.d.ts +895 -0
- package/dist/isRuleOrGroupValid-CIMZNkt4.mjs +27 -0
- package/dist/isRuleOrGroupValid-CIMZNkt4.mjs.map +1 -0
- package/dist/isRuleOrGroupValid-CtUf4_4x.js +38 -0
- package/dist/isRuleOrGroupValid-CtUf4_4x.js.map +1 -0
- package/dist/{isRuleGroup-CqLThsbu.mjs → objectUtils-DDZ-KhV5.mjs} +25 -2
- package/dist/objectUtils-DDZ-KhV5.mjs.map +1 -0
- package/dist/{isRuleGroup-0JNiQgLg.js → objectUtils-DfnEmDSV.js} +48 -1
- package/dist/objectUtils-DfnEmDSV.js.map +1 -0
- package/dist/parseCEL.d.mts +2 -2
- package/dist/parseCEL.d.ts +2 -2
- package/dist/parseCEL.js +19 -16
- package/dist/parseCEL.js.map +1 -1
- package/dist/parseCEL.mjs +12 -9
- package/dist/parseCEL.mjs.map +1 -1
- package/dist/parseCypher.d.mts +1 -1
- package/dist/parseCypher.d.ts +1 -1
- package/dist/parseGremlin.d.mts +1 -1
- package/dist/parseGremlin.d.ts +1 -1
- package/dist/parseJSONata.d.mts +2 -2
- package/dist/parseJSONata.d.ts +2 -2
- package/dist/parseJSONata.js +17 -14
- package/dist/parseJSONata.js.map +1 -1
- package/dist/parseJSONata.mjs +11 -8
- package/dist/parseJSONata.mjs.map +1 -1
- package/dist/parseJsonLogic.d.mts +2 -2
- package/dist/parseJsonLogic.d.ts +2 -2
- package/dist/parseJsonLogic.js +38 -38
- package/dist/parseJsonLogic.js.map +1 -1
- package/dist/parseJsonLogic.mjs +5 -5
- package/dist/parseMongoDB.d.mts +2 -2
- package/dist/parseMongoDB.d.ts +2 -2
- package/dist/parseMongoDB.js +50 -47
- package/dist/parseMongoDB.js.map +1 -1
- package/dist/parseMongoDB.mjs +35 -32
- package/dist/parseMongoDB.mjs.map +1 -1
- package/dist/parseSPARQL.d.mts +1 -1
- package/dist/parseSPARQL.d.ts +1 -1
- package/dist/parseSQL.d.mts +2 -2
- package/dist/parseSQL.d.ts +2 -2
- package/dist/parseSQL.js +27 -23
- package/dist/parseSQL.js.map +1 -1
- package/dist/parseSQL.mjs +21 -17
- package/dist/parseSQL.mjs.map +1 -1
- package/dist/parseSpEL.d.mts +2 -2
- package/dist/parseSpEL.d.ts +2 -2
- package/dist/parseSpEL.js +17 -14
- package/dist/parseSpEL.js.map +1 -1
- package/dist/parseSpEL.mjs +13 -10
- package/dist/parseSpEL.mjs.map +1 -1
- package/dist/parserUtils-BKPstAaO.mjs +30 -0
- package/dist/parserUtils-BKPstAaO.mjs.map +1 -0
- package/dist/parserUtils-DbBXyAht.js +41 -0
- package/dist/parserUtils-DbBXyAht.js.map +1 -0
- package/dist/{prepareQueryObjects-BnGL91Tt.js → prepareQueryObjects-Dj9cTl9D.js} +90 -63
- package/dist/prepareQueryObjects-Dj9cTl9D.js.map +1 -0
- package/dist/{prepareQueryObjects-ChINDIap.mjs → prepareQueryObjects-Dmyf3Wi_.mjs} +56 -59
- package/dist/prepareQueryObjects-Dmyf3Wi_.mjs.map +1 -0
- package/dist/react-querybuilder_core.d.mts +2078 -1665
- package/dist/react-querybuilder_core.legacy-esm.d.ts +2078 -1665
- package/dist/react-querybuilder_core.legacy-esm.js +1445 -635
- package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
- package/dist/react-querybuilder_core.mjs +1288 -424
- package/dist/react-querybuilder_core.mjs.map +1 -1
- package/dist/react-querybuilder_core.production.d.mts +2078 -1665
- package/dist/react-querybuilder_core.production.mjs +1 -1
- package/dist/react-querybuilder_core.production.mjs.map +1 -1
- package/dist/transformQuery-B7d9AWUf.d.mts +116 -0
- package/dist/transformQuery-BXDiUBGB.d.ts +116 -0
- package/dist/transformQuery.d.mts +2 -116
- package/dist/transformQuery.d.ts +2 -116
- package/dist/transformQuery.js +3 -4
- package/dist/transformQuery.js.map +1 -1
- package/dist/transformQuery.mjs +1 -2
- package/dist/transformQuery.mjs.map +1 -1
- package/dist/utils-CP5Jqy1P.mjs +1294 -0
- package/dist/utils-CP5Jqy1P.mjs.map +1 -0
- package/dist/utils-e-7KHkjV.js +1779 -0
- package/dist/utils-e-7KHkjV.js.map +1 -0
- package/package.json +33 -22
- package/dist/isRuleGroup-0JNiQgLg.js.map +0 -1
- package/dist/isRuleGroup-CqLThsbu.mjs.map +0 -1
- package/dist/objectUtils-Cr02aGxb.js +0 -27
- package/dist/objectUtils-Cr02aGxb.js.map +0 -1
- package/dist/objectUtils-DBlmJgBf.mjs +0 -16
- package/dist/objectUtils-DBlmJgBf.mjs.map +0 -1
- package/dist/prepareQueryObjects-BnGL91Tt.js.map +0 -1
- package/dist/prepareQueryObjects-ChINDIap.mjs.map +0 -1
- package/dist/utils-4k-j5FBa.mjs +0 -537
- package/dist/utils-4k-j5FBa.mjs.map +0 -1
- package/dist/utils-C79dxwZb.js +0 -752
- package/dist/utils-C79dxwZb.js.map +0 -1
package/dist/formatQuery.js
CHANGED
|
@@ -1,31 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_utils = require("./utils-
|
|
3
|
-
const
|
|
2
|
+
const require_utils = require("./utils-e-7KHkjV.js");
|
|
3
|
+
const require_objectUtils = require("./objectUtils-DfnEmDSV.js");
|
|
4
|
+
const require_convertQuery = require("./convertQuery-BLT0GIhM.js");
|
|
5
|
+
const require_isRuleOrGroupValid = require("./isRuleOrGroupValid-CtUf4_4x.js");
|
|
4
6
|
const require_transformQuery = require("./transformQuery.js");
|
|
5
|
-
const require_convertQuery = require("./convertQuery-Cw76XFIn.js");
|
|
6
|
-
//#region src/utils/isRuleOrGroupValid.ts
|
|
7
|
-
/**
|
|
8
|
-
* Determines if an object is useful as a validation result.
|
|
9
|
-
*/
|
|
10
|
-
const isValidationResult = (vr) => require_isRuleGroup.isPojo(vr) && typeof vr.valid === "boolean";
|
|
11
|
-
/**
|
|
12
|
-
* Determines if a rule or group is valid based on a validation result (if defined)
|
|
13
|
-
* or a validator function. Returns `true` if neither are defined and the `muted`
|
|
14
|
-
* property is not `true`.
|
|
15
|
-
*/
|
|
16
|
-
const isRuleOrGroupValid = (rg, validationResult, validator) => {
|
|
17
|
-
if (rg.muted) return false;
|
|
18
|
-
if (typeof validationResult === "boolean") return validationResult;
|
|
19
|
-
if (isValidationResult(validationResult)) return validationResult.valid;
|
|
20
|
-
if (typeof validator === "function" && !require_isRuleGroup.isRuleGroup(rg)) {
|
|
21
|
-
const vr = validator(rg);
|
|
22
|
-
if (typeof vr === "boolean") return vr;
|
|
23
|
-
// v8 ignore else
|
|
24
|
-
if (isValidationResult(vr)) return vr.valid;
|
|
25
|
-
}
|
|
26
|
-
return true;
|
|
27
|
-
};
|
|
28
|
-
//#endregion
|
|
29
7
|
//#region src/utils/formatQuery/defaultRuleGroupProcessorCEL.ts
|
|
30
8
|
/**
|
|
31
9
|
* Rule group processor used by {@link formatQuery} for "cel" format.
|
|
@@ -35,7 +13,7 @@ const isRuleOrGroupValid = (rg, validationResult, validator) => {
|
|
|
35
13
|
const defaultRuleGroupProcessorCEL = (ruleGroup, options) => {
|
|
36
14
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
37
15
|
const processRuleGroup = (rg, outermost) => {
|
|
38
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
16
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
39
17
|
const processedRules = [];
|
|
40
18
|
let precedingCombinator = "";
|
|
41
19
|
let firstRule = true;
|
|
@@ -44,7 +22,7 @@ const defaultRuleGroupProcessorCEL = (ruleGroup, options) => {
|
|
|
44
22
|
precedingCombinator = require_utils.celCombinatorMap[rule];
|
|
45
23
|
continue;
|
|
46
24
|
}
|
|
47
|
-
if (
|
|
25
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
48
26
|
const processedGroup = processRuleGroup(rule);
|
|
49
27
|
if (processedGroup) {
|
|
50
28
|
if (!firstRule && precedingCombinator) {
|
|
@@ -57,7 +35,7 @@ const defaultRuleGroupProcessorCEL = (ruleGroup, options) => {
|
|
|
57
35
|
continue;
|
|
58
36
|
}
|
|
59
37
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
60
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
38
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
61
39
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
62
40
|
const processedRule = ruleProcessor(rule, {
|
|
63
41
|
...options,
|
|
@@ -74,7 +52,7 @@ const defaultRuleGroupProcessorCEL = (ruleGroup, options) => {
|
|
|
74
52
|
processedRules.push(processedRule);
|
|
75
53
|
}
|
|
76
54
|
}
|
|
77
|
-
const expression = processedRules.join(
|
|
55
|
+
const expression = processedRules.join(require_objectUtils.isRuleGroupType(rg) ? ` ${require_utils.celCombinatorMap[rg.combinator]} ` : " ");
|
|
78
56
|
const [prefix, suffix] = rg.not || !outermost ? [`${rg.not ? "!" : ""}(`, ")"] : ["", ""];
|
|
79
57
|
return expression ? `${prefix}${expression}${suffix}` : fallbackExpression;
|
|
80
58
|
};
|
|
@@ -93,7 +71,7 @@ const defaultRuleProcessorCEL = (rule, opts = {}) => {
|
|
|
93
71
|
const { escapeQuotes, parseNumbers, preserveValueOrder } = opts;
|
|
94
72
|
const { field, operator, value, valueSource } = rule;
|
|
95
73
|
const valueIsField = valueSource === "field" || valueSource === "parameter";
|
|
96
|
-
const operatorTL =
|
|
74
|
+
const operatorTL = require_objectUtils.lc(operator === "=" ? "==" : operator);
|
|
97
75
|
const useBareValue = typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || require_utils.shouldRenderAsNumber(value, parseNumbers);
|
|
98
76
|
const matchEval = require_utils.processMatchMode(rule);
|
|
99
77
|
if (matchEval === false) return "";
|
|
@@ -147,7 +125,7 @@ const defaultRuleProcessorCEL = (rule, opts = {}) => {
|
|
|
147
125
|
case "between":
|
|
148
126
|
case "notbetween": {
|
|
149
127
|
const valueAsArray = require_utils.toArray(value);
|
|
150
|
-
if (valueAsArray.length >= 2 && !
|
|
128
|
+
if (valueAsArray.length >= 2 && !require_objectUtils.nullOrUndefinedOrEmpty(valueAsArray[0]) && !require_objectUtils.nullOrUndefinedOrEmpty(valueAsArray[1])) {
|
|
151
129
|
const [first, second] = valueAsArray;
|
|
152
130
|
const shouldParseNumbers = !(parseNumbers === false);
|
|
153
131
|
const firstNum = require_utils.shouldRenderAsNumber(first, shouldParseNumbers) ? require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
|
|
@@ -182,11 +160,11 @@ const defaultRuleGroupProcessorMongoDBQuery = (ruleGroup, options, meta) => {
|
|
|
182
160
|
const { context, fields, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
183
161
|
const { inExpressionContext } = context ?? {};
|
|
184
162
|
const processRuleGroup = (rg, outermost) => {
|
|
185
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? mongoDbFallback : false;
|
|
186
|
-
const combinator = `$${
|
|
163
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? mongoDbFallback : false;
|
|
164
|
+
const combinator = `$${require_objectUtils.lc(rg.combinator)}`;
|
|
187
165
|
let hasChildRules = false;
|
|
188
166
|
const expressions = rg.rules.map((rule) => {
|
|
189
|
-
if (
|
|
167
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
190
168
|
const processedRuleGroup = processRuleGroup(rule);
|
|
191
169
|
if (processedRuleGroup) {
|
|
192
170
|
hasChildRules = true;
|
|
@@ -195,7 +173,7 @@ const defaultRuleGroupProcessorMongoDBQuery = (ruleGroup, options, meta) => {
|
|
|
195
173
|
return false;
|
|
196
174
|
}
|
|
197
175
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
198
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
|
|
176
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
|
|
199
177
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
200
178
|
return ruleProcessor(rule, {
|
|
201
179
|
...options,
|
|
@@ -268,7 +246,7 @@ const defaultRuleProcessorMongoDBQuery = (rule, options = {}) => {
|
|
|
268
246
|
}
|
|
269
247
|
}
|
|
270
248
|
if (operator === "=" && !valueIsField) return avoidFieldsAsKeys ? { $eq: [`$${field}`, processNumber$1(value, value, parseNumbers)] } : { [field]: processNumber$1(value, value, parseNumbers) };
|
|
271
|
-
const operatorLC =
|
|
249
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
272
250
|
switch (operatorLC) {
|
|
273
251
|
case "<":
|
|
274
252
|
case "<=":
|
|
@@ -360,7 +338,7 @@ const defaultRuleProcessorMongoDB = (rule, options) => {
|
|
|
360
338
|
const defaultRuleGroupProcessorSpEL = (ruleGroup, options) => {
|
|
361
339
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
362
340
|
const processRuleGroup = (rg, outermost) => {
|
|
363
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
341
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
364
342
|
const processedRules = [];
|
|
365
343
|
let precedingCombinator = "";
|
|
366
344
|
let firstRule = true;
|
|
@@ -369,7 +347,7 @@ const defaultRuleGroupProcessorSpEL = (ruleGroup, options) => {
|
|
|
369
347
|
precedingCombinator = rule;
|
|
370
348
|
continue;
|
|
371
349
|
}
|
|
372
|
-
if (
|
|
350
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
373
351
|
const processedGroup = processRuleGroup(rule);
|
|
374
352
|
if (processedGroup) {
|
|
375
353
|
if (!firstRule && precedingCombinator) {
|
|
@@ -382,7 +360,7 @@ const defaultRuleGroupProcessorSpEL = (ruleGroup, options) => {
|
|
|
382
360
|
continue;
|
|
383
361
|
}
|
|
384
362
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
385
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
363
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
386
364
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
387
365
|
const processedRule = ruleProcessor(rule, {
|
|
388
366
|
...options,
|
|
@@ -399,7 +377,7 @@ const defaultRuleGroupProcessorSpEL = (ruleGroup, options) => {
|
|
|
399
377
|
processedRules.push(processedRule);
|
|
400
378
|
}
|
|
401
379
|
}
|
|
402
|
-
const expression = processedRules.join(
|
|
380
|
+
const expression = processedRules.join(require_objectUtils.isRuleGroupType(rg) ? ` ${rg.combinator} ` : " ");
|
|
403
381
|
const [prefix, suffix] = rg.not || !outermost ? [`${rg.not ? "!" : ""}(`, ")"] : ["", ""];
|
|
404
382
|
return expression ? `${prefix}${expression}${suffix}` : fallbackExpression;
|
|
405
383
|
};
|
|
@@ -419,7 +397,7 @@ const defaultRuleProcessorSpEL = (rule, opts = {}) => {
|
|
|
419
397
|
const { field, operator, value, valueSource } = rule;
|
|
420
398
|
const { escapeQuotes, parseNumbers, preserveValueOrder } = opts;
|
|
421
399
|
const valueIsField = valueSource === "field" || valueSource === "parameter";
|
|
422
|
-
const operatorTL =
|
|
400
|
+
const operatorTL = require_objectUtils.lc(operator === "=" ? "==" : operator);
|
|
423
401
|
const useBareValue = typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || require_utils.shouldRenderAsNumber(value, parseNumbers);
|
|
424
402
|
const matchEval = require_utils.processMatchMode(rule);
|
|
425
403
|
if (matchEval === false) return "";
|
|
@@ -477,7 +455,7 @@ const defaultRuleProcessorSpEL = (rule, opts = {}) => {
|
|
|
477
455
|
case "between":
|
|
478
456
|
case "notbetween": {
|
|
479
457
|
const valueAsArray = require_utils.toArray(value);
|
|
480
|
-
if (valueAsArray.length >= 2 && !
|
|
458
|
+
if (valueAsArray.length >= 2 && !require_objectUtils.nullOrUndefinedOrEmpty(valueAsArray[0]) && !require_objectUtils.nullOrUndefinedOrEmpty(valueAsArray[1])) {
|
|
481
459
|
const [first, second] = valueAsArray;
|
|
482
460
|
const shouldParseNumbers = !(parseNumbers === false);
|
|
483
461
|
const firstNum = require_utils.shouldRenderAsNumber(first, shouldParseNumbers) ? require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
|
|
@@ -505,7 +483,7 @@ const escapeStringValueQuotes$1 = (v, quoteChar, escapeQuotes) => escapeQuotes &
|
|
|
505
483
|
*/
|
|
506
484
|
const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQuotes, parseNumbers, preserveValueOrder, quoteFieldNamesWith, quoteValuesWith, concatOperator = "||", fieldIdentifierSeparator, paramPrefix, wrapValueWith = ["", ""], translations } = {}) => {
|
|
507
485
|
if (valueSource === "parameter") {
|
|
508
|
-
const operatorLowerCase =
|
|
486
|
+
const operatorLowerCase = require_objectUtils.lc(operator);
|
|
509
487
|
if (operatorLowerCase === "between" || operatorLowerCase === "notbetween") {
|
|
510
488
|
const valueAsArray = require_utils.toArray(value, { retainEmptyStrings: true });
|
|
511
489
|
if (valueAsArray.length < 2 || !require_utils.isValidValue(valueAsArray[0]) || !require_utils.isValidValue(valueAsArray[1])) return "";
|
|
@@ -533,7 +511,7 @@ const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQ
|
|
|
533
511
|
return paramRef;
|
|
534
512
|
}
|
|
535
513
|
const valueIsField = valueSource === "field";
|
|
536
|
-
const operatorLowerCase =
|
|
514
|
+
const operatorLowerCase = require_objectUtils.lc(operator);
|
|
537
515
|
const quoteChar = quoteValuesWith || "'";
|
|
538
516
|
const quoteValue = (v) => `${wrapValueWith[0]}${quoteChar}${v}${quoteChar}${wrapValueWith[1]}`;
|
|
539
517
|
const escapeValue = (v) => escapeStringValueQuotes$1(v, quoteChar, escapeQuotes);
|
|
@@ -601,7 +579,7 @@ const cypherCombinatorMap = {
|
|
|
601
579
|
const defaultRuleGroupProcessorCypher = (ruleGroup, options) => {
|
|
602
580
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
603
581
|
const processRuleGroup = (rg, outermost) => {
|
|
604
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
582
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
605
583
|
const processedRules = [];
|
|
606
584
|
let precedingCombinator = "";
|
|
607
585
|
let firstRule = true;
|
|
@@ -610,7 +588,7 @@ const defaultRuleGroupProcessorCypher = (ruleGroup, options) => {
|
|
|
610
588
|
precedingCombinator = cypherCombinatorMap[rule];
|
|
611
589
|
continue;
|
|
612
590
|
}
|
|
613
|
-
if (
|
|
591
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
614
592
|
const processedGroup = processRuleGroup(rule);
|
|
615
593
|
if (processedGroup) {
|
|
616
594
|
if (!firstRule && precedingCombinator) {
|
|
@@ -623,7 +601,7 @@ const defaultRuleGroupProcessorCypher = (ruleGroup, options) => {
|
|
|
623
601
|
continue;
|
|
624
602
|
}
|
|
625
603
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
626
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
604
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
627
605
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
628
606
|
const processedRule = ruleProcessor(rule, {
|
|
629
607
|
...options,
|
|
@@ -640,7 +618,7 @@ const defaultRuleGroupProcessorCypher = (ruleGroup, options) => {
|
|
|
640
618
|
processedRules.push(processedRule);
|
|
641
619
|
}
|
|
642
620
|
}
|
|
643
|
-
const expression = processedRules.join(
|
|
621
|
+
const expression = processedRules.join(require_objectUtils.isRuleGroupType(rg) ? ` ${cypherCombinatorMap[rg.combinator]} ` : " ");
|
|
644
622
|
const [prefix, suffix] = rg.not || !outermost ? [`${rg.not ? "NOT " : ""}(`, ")"] : ["", ""];
|
|
645
623
|
return expression ? `${prefix}${expression}${suffix}` : fallbackExpression;
|
|
646
624
|
};
|
|
@@ -665,11 +643,11 @@ const defaultRuleGroupProcessorDrizzle = (ruleGroup, options, _meta) => ((column
|
|
|
665
643
|
if (!columns || !drizzleOperators) return void 0;
|
|
666
644
|
const { and, not, or } = drizzleOperators;
|
|
667
645
|
const processRuleGroup = (rg, _outermost) => {
|
|
668
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return;
|
|
646
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return;
|
|
669
647
|
const processedRules = rg.rules.map((rule) => {
|
|
670
|
-
if (
|
|
648
|
+
if (require_objectUtils.isRuleGroup(rule)) return processRuleGroup(rule);
|
|
671
649
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
672
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
650
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
673
651
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
674
652
|
return ruleProcessor(rule, {
|
|
675
653
|
...options,
|
|
@@ -698,11 +676,11 @@ const defaultRuleGroupProcessorDrizzle = (ruleGroup, options, _meta) => ((column
|
|
|
698
676
|
const defaultRuleGroupProcessorElasticSearch = (ruleGroup, options) => {
|
|
699
677
|
const { fields, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
700
678
|
const processRuleGroup = (rg) => {
|
|
701
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return false;
|
|
679
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return false;
|
|
702
680
|
const processedRules = rg.rules.map((rule) => {
|
|
703
|
-
if (
|
|
681
|
+
if (require_objectUtils.isRuleGroup(rule)) return processRuleGroup(rule);
|
|
704
682
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
705
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
|
|
683
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
|
|
706
684
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
707
685
|
return ruleProcessor(rule, {
|
|
708
686
|
...options,
|
|
@@ -731,9 +709,9 @@ const defaultRuleGroupProcessorGremlin = (ruleGroup, options) => {
|
|
|
731
709
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
732
710
|
const validateAndProcess = (rule) => {
|
|
733
711
|
// v8 ignore next -- @preserve
|
|
734
|
-
if (typeof rule === "string" ||
|
|
712
|
+
if (typeof rule === "string" || require_objectUtils.isRuleGroup(rule)) return void 0;
|
|
735
713
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
736
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) ||
|
|
714
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) ||
|
|
737
715
|
/* v8 ignore next 2 -- @preserve */
|
|
738
716
|
rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
739
717
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
@@ -746,11 +724,11 @@ const defaultRuleGroupProcessorGremlin = (ruleGroup, options) => {
|
|
|
746
724
|
};
|
|
747
725
|
/** Recursively processes a nested group into `.and()`/`.or()`/`.not()` form. */
|
|
748
726
|
const processNested = (rg) => {
|
|
749
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return "";
|
|
727
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return "";
|
|
750
728
|
const predicates = [];
|
|
751
729
|
for (const rule of rg.rules) {
|
|
752
730
|
if (typeof rule === "string") continue;
|
|
753
|
-
if (
|
|
731
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
754
732
|
const nested = processNested(rule);
|
|
755
733
|
if (nested) predicates.push(nested);
|
|
756
734
|
continue;
|
|
@@ -764,11 +742,11 @@ const defaultRuleGroupProcessorGremlin = (ruleGroup, options) => {
|
|
|
764
742
|
if (predicates.length === 1 && !rg.not) return predicates[0];
|
|
765
743
|
return `.${prefix}(${predicates.map((p) => p.startsWith(".") ? `__${p}` : p).join(", ")})`;
|
|
766
744
|
};
|
|
767
|
-
if (!isRuleOrGroupValid(ruleGroup, validationMap[ruleGroup.id ?? /* v8 ignore start -- @preserve */ ""])) return fallbackExpression;
|
|
745
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(ruleGroup, validationMap[ruleGroup.id ?? /* v8 ignore start -- @preserve */ ""])) return fallbackExpression;
|
|
768
746
|
const steps = [];
|
|
769
747
|
for (const rule of ruleGroup.rules) {
|
|
770
748
|
if (typeof rule === "string") continue;
|
|
771
|
-
if (
|
|
749
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
772
750
|
const compound = processNested(rule);
|
|
773
751
|
if (compound) steps.push(compound);
|
|
774
752
|
continue;
|
|
@@ -789,7 +767,7 @@ const defaultRuleGroupProcessorGremlin = (ruleGroup, options) => {
|
|
|
789
767
|
const defaultRuleGroupProcessorJSONata = (ruleGroup, options) => {
|
|
790
768
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
791
769
|
const processRuleGroup = (rg, outermost) => {
|
|
792
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
770
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
793
771
|
const processedRules = [];
|
|
794
772
|
let precedingCombinator = "";
|
|
795
773
|
let firstRule = true;
|
|
@@ -798,7 +776,7 @@ const defaultRuleGroupProcessorJSONata = (ruleGroup, options) => {
|
|
|
798
776
|
precedingCombinator = rule;
|
|
799
777
|
continue;
|
|
800
778
|
}
|
|
801
|
-
if (
|
|
779
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
802
780
|
const processedGroup = processRuleGroup(rule);
|
|
803
781
|
if (processedGroup) {
|
|
804
782
|
if (!firstRule && precedingCombinator) {
|
|
@@ -811,7 +789,7 @@ const defaultRuleGroupProcessorJSONata = (ruleGroup, options) => {
|
|
|
811
789
|
continue;
|
|
812
790
|
}
|
|
813
791
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
814
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
792
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
815
793
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
816
794
|
const processedRule = ruleProcessor(rule, {
|
|
817
795
|
...options,
|
|
@@ -828,7 +806,7 @@ const defaultRuleGroupProcessorJSONata = (ruleGroup, options) => {
|
|
|
828
806
|
processedRules.push(processedRule);
|
|
829
807
|
}
|
|
830
808
|
}
|
|
831
|
-
const expression = processedRules.join(
|
|
809
|
+
const expression = processedRules.join(require_objectUtils.isRuleGroupType(rg) ? ` ${rg.combinator} ` : " ");
|
|
832
810
|
const [prefix, suffix] = rg.not || !outermost ? [`${rg.not ? "$not" : ""}(`, ")"] : ["", ""];
|
|
833
811
|
return expression ? `${prefix}${expression}${suffix}` : fallbackExpression;
|
|
834
812
|
};
|
|
@@ -845,11 +823,11 @@ const defaultRuleGroupProcessorJsonLogic = (ruleGroup, options) => {
|
|
|
845
823
|
const { fields, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
846
824
|
const query = require_convertQuery.convertFromIC(ruleGroup);
|
|
847
825
|
const processRuleGroup = (rg, _outermost) => {
|
|
848
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return false;
|
|
826
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return false;
|
|
849
827
|
const processedRules = rg.rules.map((rule) => {
|
|
850
|
-
if (
|
|
828
|
+
if (require_objectUtils.isRuleGroup(rule)) return processRuleGroup(rule);
|
|
851
829
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
852
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
|
|
830
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
|
|
853
831
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
854
832
|
return ruleProcessor(rule, {
|
|
855
833
|
...options,
|
|
@@ -873,11 +851,11 @@ const defaultRuleGroupProcessorJsonLogic = (ruleGroup, options) => {
|
|
|
873
851
|
const defaultRuleGroupProcessorLDAP = (ruleGroup, options) => {
|
|
874
852
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
875
853
|
const processRuleGroup = (rg, outermost) => {
|
|
876
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
854
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
877
855
|
const rules = rg.rules.map((rule) => {
|
|
878
|
-
if (
|
|
856
|
+
if (require_objectUtils.isRuleGroup(rule)) return processRuleGroup(rule);
|
|
879
857
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
880
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
|
|
858
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
|
|
881
859
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
882
860
|
return ruleProcessor(rule, {
|
|
883
861
|
...options,
|
|
@@ -906,11 +884,11 @@ const isBracketed = (str) => str.startsWith("{") && str.endsWith("}");
|
|
|
906
884
|
const defaultRuleGroupProcessorMongoDB = (ruleGroup, options, meta) => {
|
|
907
885
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
908
886
|
const processRuleGroup = (rg, outermost) => {
|
|
909
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
910
|
-
const combinator = `"$${
|
|
887
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
888
|
+
const combinator = `"$${require_objectUtils.lc(rg.combinator)}"`;
|
|
911
889
|
let hasChildRules = false;
|
|
912
890
|
const expressions = rg.rules.map((rule) => {
|
|
913
|
-
if (
|
|
891
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
914
892
|
const processedRuleGroup = processRuleGroup(rule);
|
|
915
893
|
if (processedRuleGroup) {
|
|
916
894
|
hasChildRules = true;
|
|
@@ -919,7 +897,7 @@ const defaultRuleGroupProcessorMongoDB = (ruleGroup, options, meta) => {
|
|
|
919
897
|
return "";
|
|
920
898
|
}
|
|
921
899
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
922
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
|
|
900
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
|
|
923
901
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
924
902
|
return ruleProcessor(rule, {
|
|
925
903
|
...options,
|
|
@@ -943,8 +921,8 @@ const defaultRuleGroupProcessorMongoDB = (ruleGroup, options, meta) => {
|
|
|
943
921
|
const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
|
|
944
922
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, translations, validateRule, validationMap } = options;
|
|
945
923
|
const processRuleGroup = (rg, outermostOrLonelyInGroup) => {
|
|
946
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
947
|
-
const rg2 =
|
|
924
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
925
|
+
const rg2 = require_objectUtils.isRuleGroupTypeIC(rg) && rg.rules.some((r) => typeof r === "string" && require_objectUtils.lc(r) === "xor") ? require_convertQuery.convertFromIC(rg) : rg;
|
|
948
926
|
const processedRules = [];
|
|
949
927
|
let precedingCombinator = "";
|
|
950
928
|
let firstRule = true;
|
|
@@ -953,7 +931,7 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
|
|
|
953
931
|
precedingCombinator = `${translations.ruleSeparator ?? ", "}${translations[rule] ?? rule} `;
|
|
954
932
|
continue;
|
|
955
933
|
}
|
|
956
|
-
if (
|
|
934
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
957
935
|
const processedGroup = processRuleGroup(rule, rg2.rules.length === 1 && !(rg2.not || /^xor$/i.test(rg2.combinator ??
|
|
958
936
|
/* v8 ignore start -- @preserve */ "")));
|
|
959
937
|
// v8 ignore else
|
|
@@ -968,7 +946,7 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
|
|
|
968
946
|
continue;
|
|
969
947
|
}
|
|
970
948
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
971
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
949
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
972
950
|
const escapeQuotes = (rule.valueSource ?? "value") === "value";
|
|
973
951
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
974
952
|
const processedRule = ruleProcessor(rule, {
|
|
@@ -987,14 +965,14 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
|
|
|
987
965
|
}
|
|
988
966
|
}
|
|
989
967
|
if (processedRules.length === 0) return fallbackExpression;
|
|
990
|
-
const isXOR =
|
|
968
|
+
const isXOR = require_objectUtils.lc(rg2.combinator ?? "") === "xor";
|
|
991
969
|
const combinator = isXOR ? rg2.combinator.slice(1) : rg2.combinator;
|
|
992
970
|
const mustWrap = rg2.not || !outermostOrLonelyInGroup || isXOR && processedRules.length > 1;
|
|
993
971
|
const [prefixTL, suffixTL] = ["groupPrefix", "groupSuffix"].map((key) => rg2.not ? isXOR ? require_utils.getNLTranslataion(key, translations, ["not", "xor"]) : require_utils.getNLTranslataion(key, translations, ["not"]) : isXOR ? require_utils.getNLTranslataion(key, translations, ["xor"]) : require_utils.getNLTranslataion(key, translations));
|
|
994
972
|
const prefix = mustWrap ? `${prefixTL} (`.trim() : "";
|
|
995
973
|
const suffix = mustWrap ? `) ${suffixTL}`.trim() : "";
|
|
996
974
|
const sep = translations.ruleSeparator ?? ", ";
|
|
997
|
-
return `${prefix}${processedRules.join(
|
|
975
|
+
return `${prefix}${processedRules.join(require_objectUtils.isRuleGroupType(rg2) ? `${sep}${translations[combinator] ?? combinator} ` : "")}${suffix}`;
|
|
998
976
|
};
|
|
999
977
|
return processRuleGroup(ruleGroup, true);
|
|
1000
978
|
};
|
|
@@ -1020,7 +998,7 @@ const defaultRuleGroupProcessorParameterized = (ruleGroup, options) => {
|
|
|
1020
998
|
};
|
|
1021
999
|
const processRule = (rule) => {
|
|
1022
1000
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
1023
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
|
|
1001
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
|
|
1024
1002
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
1025
1003
|
const fieldParamNames = Object.fromEntries([...fieldParams.entries()].map(([f, s]) => [f, [...s]]));
|
|
1026
1004
|
const processedRule = ruleProcessor(rule, {
|
|
@@ -1030,19 +1008,19 @@ const defaultRuleGroupProcessorParameterized = (ruleGroup, options) => {
|
|
|
1030
1008
|
fieldParamNames,
|
|
1031
1009
|
fieldData
|
|
1032
1010
|
}, { processedParams: params });
|
|
1033
|
-
if (!
|
|
1011
|
+
if (!require_objectUtils.isPojo(processedRule)) return "";
|
|
1034
1012
|
const { sql, params: customParams } = processedRule;
|
|
1035
1013
|
if (typeof sql !== "string" || !sql) return "";
|
|
1036
1014
|
// v8 ignore else
|
|
1037
1015
|
if (format === "parameterized" && Array.isArray(customParams)) params.push(...customParams);
|
|
1038
|
-
else if (format === "parameterized_named" &&
|
|
1016
|
+
else if (format === "parameterized_named" && require_objectUtils.isPojo(customParams)) {
|
|
1039
1017
|
Object.assign(paramsNamed, customParams);
|
|
1040
1018
|
for (const p of Object.keys(customParams)) fieldParams.get(rule.field)?.add(p);
|
|
1041
1019
|
}
|
|
1042
1020
|
return sql;
|
|
1043
1021
|
};
|
|
1044
1022
|
const processRuleGroup = (rg, outermostOrLonelyInGroup) => {
|
|
1045
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
1023
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
1046
1024
|
const processedRules = [];
|
|
1047
1025
|
let precedingCombinator = "";
|
|
1048
1026
|
let firstRule = true;
|
|
@@ -1051,7 +1029,7 @@ const defaultRuleGroupProcessorParameterized = (ruleGroup, options) => {
|
|
|
1051
1029
|
precedingCombinator = rule;
|
|
1052
1030
|
continue;
|
|
1053
1031
|
}
|
|
1054
|
-
if (
|
|
1032
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
1055
1033
|
const processedGroup = processRuleGroup(rule, rg.rules.length === 1);
|
|
1056
1034
|
// v8 ignore else
|
|
1057
1035
|
if (processedGroup) {
|
|
@@ -1075,7 +1053,7 @@ const defaultRuleGroupProcessorParameterized = (ruleGroup, options) => {
|
|
|
1075
1053
|
}
|
|
1076
1054
|
}
|
|
1077
1055
|
if (processedRules.length === 0) return fallbackExpression;
|
|
1078
|
-
return `${rg.not ? "NOT " : ""}(${processedRules.join(
|
|
1056
|
+
return `${rg.not ? "NOT " : ""}(${processedRules.join(require_objectUtils.isRuleGroupType(rg) ? ` ${rg.combinator} ` : " ")})`;
|
|
1079
1057
|
};
|
|
1080
1058
|
if (parameterized) return {
|
|
1081
1059
|
sql: processRuleGroup(ruleGroup, true),
|
|
@@ -1102,11 +1080,11 @@ const prismaFallback = {};
|
|
|
1102
1080
|
const defaultRuleGroupProcessorPrisma = (ruleGroup, options) => {
|
|
1103
1081
|
const { fields, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
1104
1082
|
const processRuleGroup = (rg, outermost) => {
|
|
1105
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? prismaFallback : void 0;
|
|
1083
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? prismaFallback : void 0;
|
|
1106
1084
|
const combinator = rg.combinator.toUpperCase();
|
|
1107
1085
|
let hasChildRules = false;
|
|
1108
1086
|
const expressions = rg.rules.map((rule) => {
|
|
1109
|
-
if (
|
|
1087
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
1110
1088
|
const processedRuleGroup = processRuleGroup(rule);
|
|
1111
1089
|
if (processedRuleGroup) {
|
|
1112
1090
|
hasChildRules = true;
|
|
@@ -1115,7 +1093,7 @@ const defaultRuleGroupProcessorPrisma = (ruleGroup, options) => {
|
|
|
1115
1093
|
return;
|
|
1116
1094
|
}
|
|
1117
1095
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
1118
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
1096
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
1119
1097
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
1120
1098
|
return ruleProcessor(rule, {
|
|
1121
1099
|
...options,
|
|
@@ -1141,11 +1119,11 @@ const defaultRuleGroupProcessorSequelize = (ruleGroup, options) => {
|
|
|
1141
1119
|
const { sequelizeOperators: Op } = context;
|
|
1142
1120
|
if (!Op) return void 0;
|
|
1143
1121
|
const processRuleGroup = (rg, _outermost) => {
|
|
1144
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return;
|
|
1122
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return;
|
|
1145
1123
|
const combinator = rg.combinator.toUpperCase();
|
|
1146
1124
|
let hasChildRules = false;
|
|
1147
1125
|
const expressions = rg.rules.map((rule) => {
|
|
1148
|
-
if (
|
|
1126
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
1149
1127
|
const processedRuleGroup = processRuleGroup(rule);
|
|
1150
1128
|
if (processedRuleGroup) {
|
|
1151
1129
|
hasChildRules = true;
|
|
@@ -1154,7 +1132,7 @@ const defaultRuleGroupProcessorSequelize = (ruleGroup, options) => {
|
|
|
1154
1132
|
return;
|
|
1155
1133
|
}
|
|
1156
1134
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
1157
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
1135
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
1158
1136
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
1159
1137
|
return ruleProcessor(rule, {
|
|
1160
1138
|
...options,
|
|
@@ -1163,7 +1141,7 @@ const defaultRuleGroupProcessorSequelize = (ruleGroup, options) => {
|
|
|
1163
1141
|
});
|
|
1164
1142
|
}).filter(Boolean);
|
|
1165
1143
|
if (expressions.length === 0) return void 0;
|
|
1166
|
-
const result = expressions.length === 1 && !hasChildRules ? expressions[0] : { [
|
|
1144
|
+
const result = expressions.length === 1 && !hasChildRules ? expressions[0] : { [require_objectUtils.lc(combinator) === "or" ? Op.or : Op.and]: expressions };
|
|
1167
1145
|
return rg.not ? { [Op.not]: result } : result;
|
|
1168
1146
|
};
|
|
1169
1147
|
return processRuleGroup(require_convertQuery.convertFromIC(ruleGroup), true);
|
|
@@ -1180,7 +1158,7 @@ const defaultRuleGroupProcessorSequelize = (ruleGroup, options) => {
|
|
|
1180
1158
|
const defaultRuleGroupProcessorSPARQL = (ruleGroup, options) => {
|
|
1181
1159
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
1182
1160
|
const processRuleGroup = (rg, outermost) => {
|
|
1183
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
1161
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermost ? fallbackExpression : "";
|
|
1184
1162
|
const processedRules = [];
|
|
1185
1163
|
let precedingCombinator = "";
|
|
1186
1164
|
let firstRule = true;
|
|
@@ -1189,7 +1167,7 @@ const defaultRuleGroupProcessorSPARQL = (ruleGroup, options) => {
|
|
|
1189
1167
|
precedingCombinator = require_utils.celCombinatorMap[rule];
|
|
1190
1168
|
continue;
|
|
1191
1169
|
}
|
|
1192
|
-
if (
|
|
1170
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
1193
1171
|
const processedGroup = processRuleGroup(rule);
|
|
1194
1172
|
if (processedGroup) {
|
|
1195
1173
|
if (!firstRule && precedingCombinator) {
|
|
@@ -1202,7 +1180,7 @@ const defaultRuleGroupProcessorSPARQL = (ruleGroup, options) => {
|
|
|
1202
1180
|
continue;
|
|
1203
1181
|
}
|
|
1204
1182
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
1205
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
1183
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
1206
1184
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
1207
1185
|
const processedRule = ruleProcessor(rule, {
|
|
1208
1186
|
...options,
|
|
@@ -1219,7 +1197,7 @@ const defaultRuleGroupProcessorSPARQL = (ruleGroup, options) => {
|
|
|
1219
1197
|
processedRules.push(processedRule);
|
|
1220
1198
|
}
|
|
1221
1199
|
}
|
|
1222
|
-
const expression = processedRules.join(
|
|
1200
|
+
const expression = processedRules.join(require_objectUtils.isRuleGroupType(rg) ? ` ${require_utils.celCombinatorMap[rg.combinator]} ` : " ");
|
|
1223
1201
|
const [prefix, suffix] = rg.not || !outermost ? [`${rg.not ? "!" : ""}(`, ")"] : ["", ""];
|
|
1224
1202
|
return expression ? `${prefix}${expression}${suffix}` : fallbackExpression;
|
|
1225
1203
|
};
|
|
@@ -1235,7 +1213,7 @@ const defaultRuleGroupProcessorSPARQL = (ruleGroup, options) => {
|
|
|
1235
1213
|
const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
|
|
1236
1214
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
1237
1215
|
const processRuleGroup = (rg, outermostOrLonelyInGroup) => {
|
|
1238
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
1216
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
1239
1217
|
const processedRules = [];
|
|
1240
1218
|
let precedingCombinator = "";
|
|
1241
1219
|
let firstRule = true;
|
|
@@ -1244,7 +1222,7 @@ const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
|
|
|
1244
1222
|
precedingCombinator = rule;
|
|
1245
1223
|
continue;
|
|
1246
1224
|
}
|
|
1247
|
-
if (
|
|
1225
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
1248
1226
|
const processedGroup = processRuleGroup(rule, rg.rules.length === 1);
|
|
1249
1227
|
// v8 ignore else
|
|
1250
1228
|
if (processedGroup) {
|
|
@@ -1258,7 +1236,7 @@ const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
|
|
|
1258
1236
|
continue;
|
|
1259
1237
|
}
|
|
1260
1238
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
1261
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
1239
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
|
|
1262
1240
|
const escapeQuotes = (rule.valueSource ?? "value") === "value";
|
|
1263
1241
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
1264
1242
|
const processedRule = ruleProcessor(rule, {
|
|
@@ -1277,7 +1255,7 @@ const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
|
|
|
1277
1255
|
}
|
|
1278
1256
|
}
|
|
1279
1257
|
if (processedRules.length === 0) return fallbackExpression;
|
|
1280
|
-
return `${rg.not ? "NOT " : ""}(${processedRules.join(
|
|
1258
|
+
return `${rg.not ? "NOT " : ""}(${processedRules.join(require_objectUtils.isRuleGroupType(rg) ? ` ${rg.combinator} ` : " ")})`;
|
|
1281
1259
|
};
|
|
1282
1260
|
return processRuleGroup(ruleGroup, true);
|
|
1283
1261
|
};
|
|
@@ -1303,11 +1281,11 @@ const defaultRuleGroupProcessorTanStackDB = (ruleGroup, options) => (refs) => {
|
|
|
1303
1281
|
/* v8 ignore next -- @preserve */
|
|
1304
1282
|
if (refKeys.length === 0) return fallback;
|
|
1305
1283
|
const processRuleGroup = (rg) => {
|
|
1306
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return;
|
|
1284
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rg, validationMap[rg.id ?? /* v8 ignore start -- @preserve */ ""])) return;
|
|
1307
1285
|
const processedRules = rg.rules.map((rule) => {
|
|
1308
|
-
if (
|
|
1286
|
+
if (require_objectUtils.isRuleGroup(rule)) return processRuleGroup(rule);
|
|
1309
1287
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
1310
|
-
if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
1288
|
+
if (!require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
|
|
1311
1289
|
const fieldData = require_utils.getOption(fields, rule.field);
|
|
1312
1290
|
return ruleProcessor(rule, {
|
|
1313
1291
|
...options,
|
|
@@ -1359,7 +1337,7 @@ const checkValueTypeMismatch = (value, inputType) => {
|
|
|
1359
1337
|
if (numericInputTypes.has(inputType)) {
|
|
1360
1338
|
const v = typeof value === "string" ? value.trim() : value;
|
|
1361
1339
|
if (typeof v === "number" || typeof v === "bigint") return void 0;
|
|
1362
|
-
if (typeof v === "string" &&
|
|
1340
|
+
if (typeof v === "string" && require_objectUtils.numericRegex.test(v)) return void 0;
|
|
1363
1341
|
return "VALUE_TYPE_MISMATCH";
|
|
1364
1342
|
}
|
|
1365
1343
|
if (inputType === "date") {
|
|
@@ -1449,7 +1427,7 @@ const defaultRuleGroupProcessorDiagnostics = (ruleGroup, options) => {
|
|
|
1449
1427
|
stats.totalGroups++;
|
|
1450
1428
|
const level = path.length;
|
|
1451
1429
|
const groupValidationEntry = validationMap[rg.id ?? ""];
|
|
1452
|
-
const groupSelfValid = isRuleOrGroupValid(rg, groupValidationEntry);
|
|
1430
|
+
const groupSelfValid = require_isRuleOrGroupValid.isRuleOrGroupValid(rg, groupValidationEntry);
|
|
1453
1431
|
const groupReasons = getReasons(groupValidationEntry);
|
|
1454
1432
|
if (rg.muted) diagnostics.push({
|
|
1455
1433
|
id: rg.id ?? "",
|
|
@@ -1475,7 +1453,7 @@ const defaultRuleGroupProcessorDiagnostics = (ruleGroup, options) => {
|
|
|
1475
1453
|
continue;
|
|
1476
1454
|
}
|
|
1477
1455
|
const childPath = [...path, ruleIndex];
|
|
1478
|
-
if (
|
|
1456
|
+
if (require_objectUtils.isRuleGroup(rule)) {
|
|
1479
1457
|
const annotatedGroup = processRuleGroup(rule, childPath);
|
|
1480
1458
|
if (!annotatedGroup.valid) allChildrenValid = false;
|
|
1481
1459
|
annotatedRules.push(annotatedGroup);
|
|
@@ -1485,7 +1463,7 @@ const defaultRuleGroupProcessorDiagnostics = (ruleGroup, options) => {
|
|
|
1485
1463
|
stats.totalRules++;
|
|
1486
1464
|
const childLevel = childPath.length;
|
|
1487
1465
|
const [validationResult, fieldValidator] = validateRule(rule);
|
|
1488
|
-
const ruleValid = isRuleOrGroupValid(rule, validationResult, fieldValidator) && rule.field !== placeholderFieldName && rule.operator !== placeholderOperatorName && !(placeholderValueName !== void 0 && rule.value === placeholderValueName);
|
|
1466
|
+
const ruleValid = require_isRuleOrGroupValid.isRuleOrGroupValid(rule, validationResult, fieldValidator) && rule.field !== placeholderFieldName && rule.operator !== placeholderOperatorName && !(placeholderValueName !== void 0 && rule.value === placeholderValueName);
|
|
1489
1467
|
collectRuleDiagnostics(rule, childPath, validationResult, fieldValidator, ruleValid, diagnostics, placeholderFieldName, placeholderOperatorName, placeholderValueName, hasFieldsConfig, fieldsByName);
|
|
1490
1468
|
if (!ruleValid) {
|
|
1491
1469
|
allChildrenValid = false;
|
|
@@ -1512,7 +1490,7 @@ const defaultRuleGroupProcessorDiagnostics = (ruleGroup, options) => {
|
|
|
1512
1490
|
const groupValid = groupSelfValid && allChildrenValid;
|
|
1513
1491
|
if (groupValid) stats.validGroups++;
|
|
1514
1492
|
else stats.invalidGroups++;
|
|
1515
|
-
if (
|
|
1493
|
+
if (require_objectUtils.isRuleGroupType(rg)) return {
|
|
1516
1494
|
...rg,
|
|
1517
1495
|
valid: groupValid,
|
|
1518
1496
|
...groupReasons ? { reasons: groupReasons } : null,
|
|
@@ -1588,7 +1566,7 @@ const collectRuleDiagnostics = (rule, path, validationResult, fieldValidator, ru
|
|
|
1588
1566
|
message: "Rule failed validation",
|
|
1589
1567
|
source: "query-validator"
|
|
1590
1568
|
});
|
|
1591
|
-
else if (typeof validationResult !== "boolean" && isValidationResult(validationResult) && !validationResult.valid) {
|
|
1569
|
+
else if (typeof validationResult !== "boolean" && require_isRuleOrGroupValid.isValidationResult(validationResult) && !validationResult.valid) {
|
|
1592
1570
|
const reasons = validationResult.reasons;
|
|
1593
1571
|
diagnostics.push({
|
|
1594
1572
|
id,
|
|
@@ -1599,7 +1577,7 @@ const collectRuleDiagnostics = (rule, path, validationResult, fieldValidator, ru
|
|
|
1599
1577
|
});
|
|
1600
1578
|
} else if (!ruleValid && typeof fieldValidator === "function") {
|
|
1601
1579
|
const vr = fieldValidator(rule);
|
|
1602
|
-
const reasons = typeof vr !== "boolean" && isValidationResult(vr) && !vr.valid ? vr.reasons : void 0;
|
|
1580
|
+
const reasons = typeof vr !== "boolean" && require_isRuleOrGroupValid.isValidationResult(vr) && !vr.valid ? vr.reasons : void 0;
|
|
1603
1581
|
diagnostics.push({
|
|
1604
1582
|
id,
|
|
1605
1583
|
path,
|
|
@@ -1634,7 +1612,7 @@ const collectRuleDiagnostics = (rule, path, validationResult, fieldValidator, ru
|
|
|
1634
1612
|
* Extracts `reasons` from a validation result, if present.
|
|
1635
1613
|
*/
|
|
1636
1614
|
const getReasons = (validationResult) => {
|
|
1637
|
-
if (typeof validationResult !== "boolean" && isValidationResult(validationResult) && !validationResult.valid && validationResult.reasons) return validationResult.reasons;
|
|
1615
|
+
if (typeof validationResult !== "boolean" && require_isRuleOrGroupValid.isValidationResult(validationResult) && !validationResult.valid && validationResult.reasons) return validationResult.reasons;
|
|
1638
1616
|
};
|
|
1639
1617
|
/**
|
|
1640
1618
|
* Runs a field-level validator and extracts `reasons` if present.
|
|
@@ -1642,7 +1620,7 @@ const getReasons = (validationResult) => {
|
|
|
1642
1620
|
const getFieldValidatorReasons = (rule, fieldValidator) => {
|
|
1643
1621
|
if (typeof fieldValidator === "function") {
|
|
1644
1622
|
const vr = fieldValidator(rule);
|
|
1645
|
-
if (typeof vr !== "boolean" && isValidationResult(vr) && !vr.valid && vr.reasons) return vr.reasons;
|
|
1623
|
+
if (typeof vr !== "boolean" && require_isRuleOrGroupValid.isValidationResult(vr) && !vr.valid && vr.reasons) return vr.reasons;
|
|
1646
1624
|
}
|
|
1647
1625
|
};
|
|
1648
1626
|
//#endregion
|
|
@@ -1714,7 +1692,7 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
|
|
|
1714
1692
|
const { between, eq, gt, gte, inArray, isNotNull, isNull, like, lt, lte, ne, notBetween, notInArray, notLike, sql } = drizzleOperators;
|
|
1715
1693
|
const { field, operator, value, valueSource } = rule;
|
|
1716
1694
|
const column = useRawFields && /^[a-z_][a-z0-9_.]*$/i.test(field) ? sql.raw(field) : columns[field];
|
|
1717
|
-
const operatorLC =
|
|
1695
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
1718
1696
|
const valueIsField = valueSource === "field";
|
|
1719
1697
|
const asFieldOrValue = (v) => valueIsField ? columns[v] : v;
|
|
1720
1698
|
const maybeParseNumber = (v) => {
|
|
@@ -1831,7 +1809,7 @@ const valueRenderer = (v, parseNumbers) => typeof v === "boolean" ? v : require_
|
|
|
1831
1809
|
const defaultRuleProcessorElasticSearch = (rule, options = {}) => {
|
|
1832
1810
|
const { field, operator, value, valueSource } = rule;
|
|
1833
1811
|
const { parseNumbers, preserveValueOrder } = options;
|
|
1834
|
-
const operatorLC =
|
|
1812
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
1835
1813
|
const matchEval = require_utils.processMatchMode(rule);
|
|
1836
1814
|
if (matchEval === false) return false;
|
|
1837
1815
|
else if (matchEval) {
|
|
@@ -2056,7 +2034,7 @@ const defaultRuleProcessorJSONata = (rule, options = {}) => {
|
|
|
2056
2034
|
}
|
|
2057
2035
|
}
|
|
2058
2036
|
}
|
|
2059
|
-
const operatorLC =
|
|
2037
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
2060
2038
|
switch (operatorLC) {
|
|
2061
2039
|
case "<":
|
|
2062
2040
|
case "<=":
|
|
@@ -2080,7 +2058,7 @@ const defaultRuleProcessorJSONata = (rule, options = {}) => {
|
|
|
2080
2058
|
case "between":
|
|
2081
2059
|
case "notbetween": {
|
|
2082
2060
|
const valueAsArray = require_utils.toArray(value);
|
|
2083
|
-
if (valueAsArray.length < 2 ||
|
|
2061
|
+
if (valueAsArray.length < 2 || require_objectUtils.nullOrUndefinedOrEmpty(valueAsArray[0]) || require_objectUtils.nullOrUndefinedOrEmpty(valueAsArray[1])) return "";
|
|
2084
2062
|
const [first, second] = valueAsArray;
|
|
2085
2063
|
const shouldParseNumbers = !(parseNumbers === false);
|
|
2086
2064
|
const firstNum = require_utils.shouldRenderAsNumber(first, shouldParseNumbers) ? require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
|
|
@@ -2122,13 +2100,13 @@ const defaultRuleProcessorJsonLogic = (rule, options = {}) => {
|
|
|
2122
2100
|
switch (mode) {
|
|
2123
2101
|
case "all":
|
|
2124
2102
|
case "none":
|
|
2125
|
-
case "some": return { [mode]: [{ var: field }, value.rules.length === 1 && !
|
|
2103
|
+
case "some": return { [mode]: [{ var: field }, value.rules.length === 1 && !require_objectUtils.isRuleGroup(value.rules[0]) ? defaultRuleProcessorJsonLogic(value.rules[0], options) : defaultRuleGroupProcessorJsonLogic(value, options)] };
|
|
2126
2104
|
case "atleast":
|
|
2127
2105
|
case "atmost":
|
|
2128
2106
|
case "exactly": {
|
|
2129
2107
|
const op = mode === "atleast" ? ">=" : mode === "atmost" ? "<=" : "==";
|
|
2130
2108
|
const filteredCount = { reduce: [
|
|
2131
|
-
{ filter: [{ var: field }, value.rules.length === 1 && !
|
|
2109
|
+
{ filter: [{ var: field }, value.rules.length === 1 && !require_objectUtils.isRuleGroup(value.rules[0]) ? defaultRuleProcessorJsonLogic(value.rules[0], options) : defaultRuleGroupProcessorJsonLogic(value, options)] },
|
|
2132
2110
|
{ "+": [1, { var: "accumulator" }] },
|
|
2133
2111
|
0
|
|
2134
2112
|
] };
|
|
@@ -2144,7 +2122,7 @@ const defaultRuleProcessorJsonLogic = (rule, options = {}) => {
|
|
|
2144
2122
|
}
|
|
2145
2123
|
}
|
|
2146
2124
|
}
|
|
2147
|
-
const operatorLC =
|
|
2125
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
2148
2126
|
switch (operatorLC) {
|
|
2149
2127
|
case "<":
|
|
2150
2128
|
case "<=":
|
|
@@ -2218,8 +2196,8 @@ const ldapEscape = (s) => `${require_utils.trimIfString(s)}`.replaceAll(/[()&|=<
|
|
|
2218
2196
|
const defaultRuleProcessorLDAP = (rule, options = {}) => {
|
|
2219
2197
|
const { field, operator, value, valueSource } = rule;
|
|
2220
2198
|
const { preserveValueOrder } = options;
|
|
2221
|
-
const operatorLC =
|
|
2222
|
-
if (valueSource === "field" ||
|
|
2199
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
2200
|
+
if (valueSource === "field" || require_objectUtils.nullOrUndefinedOrEmpty(value) && operatorLC !== "null" && operatorLC !== "notnull" || require_utils.processMatchMode(rule)) return "";
|
|
2223
2201
|
switch (operatorLC) {
|
|
2224
2202
|
case "=":
|
|
2225
2203
|
case "!=": return negateIf(`(${field}=${ldapEscape(value)})`, operatorLC === "!=");
|
|
@@ -2243,7 +2221,7 @@ const defaultRuleProcessorLDAP = (rule, options = {}) => {
|
|
|
2243
2221
|
case "between":
|
|
2244
2222
|
case "notbetween": {
|
|
2245
2223
|
const valueAsArray = require_utils.toArray(value);
|
|
2246
|
-
if (valueAsArray.length < 2 ||
|
|
2224
|
+
if (valueAsArray.length < 2 || require_objectUtils.nullOrUndefinedOrEmpty(valueAsArray[0]) || require_objectUtils.nullOrUndefinedOrEmpty(valueAsArray[1])) return "";
|
|
2247
2225
|
const [first, second] = valueAsArray;
|
|
2248
2226
|
const firstNum = require_utils.shouldRenderAsNumber(first, true) ? require_utils.parseNumber(first, { parseNumbers: true }) : NaN;
|
|
2249
2227
|
const secondNum = require_utils.shouldRenderAsNumber(second, true) ? require_utils.parseNumber(second, { parseNumbers: true }) : NaN;
|
|
@@ -2271,7 +2249,7 @@ const escapeStringValueQuotes = (v, quoteChar, escapeQuotes) => escapeQuotes &&
|
|
|
2271
2249
|
const defaultValueProcessorNL = (rule, opts = {}) => {
|
|
2272
2250
|
const { escapeQuotes, fields, parseNumbers, quoteFieldNamesWith, quoteValuesWith, fieldIdentifierSeparator, translations } = opts;
|
|
2273
2251
|
const valueIsField = rule.valueSource === "field";
|
|
2274
|
-
const operatorLowerCase =
|
|
2252
|
+
const operatorLowerCase = require_objectUtils.lc(rule.operator);
|
|
2275
2253
|
const quoteChar = quoteValuesWith || /* v8 ignore start -- @preserve */ "'";
|
|
2276
2254
|
const quoteValue = (v) => `${quoteChar}${v}${quoteChar}`;
|
|
2277
2255
|
const escapeValue = (v) => escapeStringValueQuotes(v, quoteChar, escapeQuotes);
|
|
@@ -2354,9 +2332,9 @@ const defaultOperatorProcessorNL = (rule, opts = {}) => {
|
|
|
2354
2332
|
// v8 ignore next
|
|
2355
2333
|
const { getOperators = defaultGetOperators, operatorMap: operatorMapParam = defaultExportOperatorMap } = opts;
|
|
2356
2334
|
const mergedOperatorMap = new Map(Object.entries(defaultExportOperatorMap));
|
|
2357
|
-
for (const [key, value] of Object.entries(operatorMapParam)) mergedOperatorMap.set(
|
|
2335
|
+
for (const [key, value] of Object.entries(operatorMapParam)) mergedOperatorMap.set(require_objectUtils.lc(key), value);
|
|
2358
2336
|
const operatorMap = Object.fromEntries(mergedOperatorMap);
|
|
2359
|
-
const operatorLC =
|
|
2337
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
2360
2338
|
var normalizedOperator = operator;
|
|
2361
2339
|
const hasSingleValue = require_utils.toArray(rule.value).length === 1;
|
|
2362
2340
|
if (operatorLC === "in" && hasSingleValue) normalizedOperator = "=";
|
|
@@ -2370,7 +2348,7 @@ const defaultOperatorProcessorNL = (rule, opts = {}) => {
|
|
|
2370
2348
|
value: normalizedOperator,
|
|
2371
2349
|
label: normalizedOperator
|
|
2372
2350
|
};
|
|
2373
|
-
const operatorTL = operatorMap[operatorNL] ?? operatorMap[
|
|
2351
|
+
const operatorTL = operatorMap[operatorNL] ?? operatorMap[require_objectUtils.lc(operatorNL)] ?? [label, label];
|
|
2374
2352
|
return typeof operatorTL === "string" ? operatorTL : operatorTL[valueSource === "field" ? 1 : 0];
|
|
2375
2353
|
};
|
|
2376
2354
|
/**
|
|
@@ -2415,7 +2393,7 @@ const defaultRuleProcessorNL = (rule, opts) => {
|
|
|
2415
2393
|
quoteValuesWith,
|
|
2416
2394
|
concatOperator
|
|
2417
2395
|
});
|
|
2418
|
-
const operatorLC =
|
|
2396
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
2419
2397
|
if ((operatorLC === "in" || operatorLC === "notin" || operatorLC === "between" || operatorLC === "notbetween") && !value) return "";
|
|
2420
2398
|
const wordOrderMap = {
|
|
2421
2399
|
S: processedField,
|
|
@@ -2438,7 +2416,7 @@ const defaultRuleProcessorNL = (rule, opts) => {
|
|
|
2438
2416
|
*
|
|
2439
2417
|
* @group Export
|
|
2440
2418
|
*/
|
|
2441
|
-
const defaultOperatorProcessorSQL = (rule) =>
|
|
2419
|
+
const defaultOperatorProcessorSQL = (rule) => require_objectUtils.lc(require_utils.mapSQLOperator(rule.operator));
|
|
2442
2420
|
/**
|
|
2443
2421
|
* Default rule processor used by {@link formatQuery} for "sql" format.
|
|
2444
2422
|
*
|
|
@@ -2485,7 +2463,7 @@ const defaultRuleProcessorSQL = (rule, opts = {}) => {
|
|
|
2485
2463
|
concatOperator
|
|
2486
2464
|
});
|
|
2487
2465
|
const operator = operatorProcessor(rule, opts);
|
|
2488
|
-
const operatorLowerCase =
|
|
2466
|
+
const operatorLowerCase = require_objectUtils.lc(operator);
|
|
2489
2467
|
if ((operatorLowerCase === "in" || operatorLowerCase === "not in" || operatorLowerCase === "between" || operatorLowerCase === "not between") && !value) return "";
|
|
2490
2468
|
return `${ruleField} ${operator} ${value}`.trim();
|
|
2491
2469
|
};
|
|
@@ -2555,7 +2533,7 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
|
|
|
2555
2533
|
format
|
|
2556
2534
|
});
|
|
2557
2535
|
const sqlOperator = operatorProcessor(rule, opts);
|
|
2558
|
-
const sqlOperatorLowerCase =
|
|
2536
|
+
const sqlOperatorLowerCase = require_objectUtils.lc(sqlOperator);
|
|
2559
2537
|
const [qPre, qPost] = quoteFieldNamesWith;
|
|
2560
2538
|
if ((sqlOperatorLowerCase === "in" || sqlOperatorLowerCase === "not in" || sqlOperatorLowerCase === "between" || sqlOperatorLowerCase === "not between") && !value) return finalize("");
|
|
2561
2539
|
else if (sqlOperatorLowerCase === "is null" || sqlOperatorLowerCase === "is not null") return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator}`);
|
|
@@ -2573,7 +2551,7 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
|
|
|
2573
2551
|
const splitValue = require_utils.toArray(rule.value);
|
|
2574
2552
|
return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} (${splitValue.map((v) => registerParam(v)).join(", ")})`);
|
|
2575
2553
|
}
|
|
2576
|
-
return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} ${require_utils.wrapLikeFragment(registerParam(rule.value),
|
|
2554
|
+
return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} ${require_utils.wrapLikeFragment(registerParam(rule.value), require_objectUtils.lc(rule.operator), { concatOperator })}`.trim());
|
|
2577
2555
|
} else if (rule.valueSource === "field") return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} ${value}`.trim());
|
|
2578
2556
|
else if (sqlOperatorLowerCase === "in" || sqlOperatorLowerCase === "not in") {
|
|
2579
2557
|
const splitValue = require_utils.toArray(rule.value);
|
|
@@ -2601,8 +2579,10 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
|
|
|
2601
2579
|
return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} ${paramPrefix}${firstParamName} and ${paramPrefix}${secondParamName}`);
|
|
2602
2580
|
}
|
|
2603
2581
|
let paramValue = rule.value;
|
|
2604
|
-
if (typeof rule.value === "string")
|
|
2605
|
-
|
|
2582
|
+
if (typeof rule.value === "string") {
|
|
2583
|
+
if (require_utils.shouldRenderAsNumber(rule.value, parseNumbers)) paramValue = require_utils.parseNumber(rule.value, { parseNumbers });
|
|
2584
|
+
else paramValue = /^'.*'$/g.test(value) ? value.replaceAll(/(^'|'$)/g, "") : /* v8 ignore next -- @preserve */ value;
|
|
2585
|
+
}
|
|
2606
2586
|
let paramName = "";
|
|
2607
2587
|
if (parameterized) params.push(paramValue);
|
|
2608
2588
|
else {
|
|
@@ -2624,7 +2604,7 @@ const defaultRuleProcessorPrisma = (rule, options = {}) => {
|
|
|
2624
2604
|
// v8 ignore next
|
|
2625
2605
|
const { parseNumbers, preserveValueOrder } = options;
|
|
2626
2606
|
if (valueSource === "field" || require_utils.processMatchMode(rule)) return void 0;
|
|
2627
|
-
const operatorLC =
|
|
2607
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
2628
2608
|
switch (operatorLC) {
|
|
2629
2609
|
case "=": return { [field]: processNumber(value, value, parseNumbers) };
|
|
2630
2610
|
case "!=":
|
|
@@ -2684,7 +2664,7 @@ const defaultRuleProcessorSequelize = (rule, { parseNumbers, preserveValueOrder,
|
|
|
2684
2664
|
if (require_utils.processMatchMode(rule)) return void 0;
|
|
2685
2665
|
const { field, operator, value, valueSource } = rule;
|
|
2686
2666
|
const valueIsField = valueSource === "field";
|
|
2687
|
-
const operatorLC =
|
|
2667
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
2688
2668
|
if (!Op || valueIsField && (!col || !fn && [
|
|
2689
2669
|
"contains",
|
|
2690
2670
|
"doesnotcontain",
|
|
@@ -2836,7 +2816,7 @@ const defaultRuleProcessorTanStackDB = (rule, _options) => {
|
|
|
2836
2816
|
};
|
|
2837
2817
|
const { field, operator, value, valueSource } = rule;
|
|
2838
2818
|
const column = resolveField(field);
|
|
2839
|
-
const operatorLC =
|
|
2819
|
+
const operatorLC = require_objectUtils.lc(operator);
|
|
2840
2820
|
const valueIsField = valueSource === "field";
|
|
2841
2821
|
const asFieldOrValue = (v) => valueIsField ? resolveField(v) : v;
|
|
2842
2822
|
const maybeParseNumber = (v) => {
|
|
@@ -3035,14 +3015,14 @@ const sqlFormats = /* @__PURE__ */ new Set([
|
|
|
3035
3015
|
"sequelize"
|
|
3036
3016
|
]);
|
|
3037
3017
|
function formatQuery(ruleGroup, optionParam = {}) {
|
|
3038
|
-
const options = typeof optionParam === "string" ? { format:
|
|
3018
|
+
const options = typeof optionParam === "string" ? { format: require_objectUtils.lc(optionParam) } : optionParam;
|
|
3039
3019
|
const optObj = {
|
|
3040
3020
|
...defaultFormatQueryOptions,
|
|
3041
3021
|
...!options.format || sqlFormats.has(options.format) ? sqlDialectPresets[options.preset ?? "ansi"] ?? null : null,
|
|
3042
3022
|
...options,
|
|
3043
3023
|
...!options.format && (Object.keys(sqlDialectPresets).includes(options.preset ?? "") ? { format: "sql" } : null)
|
|
3044
3024
|
};
|
|
3045
|
-
const format =
|
|
3025
|
+
const format = require_objectUtils.lc(optObj.format);
|
|
3046
3026
|
const { fallbackExpression: fallbackExpression_option, getOperators: getOperators_option, operatorProcessor: operatorProcessor_option, parseNumbers, quoteFieldNamesWith: quoteFieldNamesWith_option, ruleGroupProcessor: ruleGroupProcessor_option, ruleProcessor: ruleProcessor_option, validator, valueProcessor: valueProcessor_option, context } = optObj;
|
|
3047
3027
|
const getParseNumberBoolean = (inputType) => {
|
|
3048
3028
|
return typeof require_utils.getParseNumberMethod({
|