@react-querybuilder/core 8.17.0 → 8.18.0
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/react-querybuilder_core.cjs.development.d.ts +36 -3
- package/dist/cjs/react-querybuilder_core.cjs.development.js +14 -9
- package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
- package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +36 -3
- 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/formatQuery.d.mts +3 -1
- package/dist/formatQuery.d.ts +3 -1
- package/dist/formatQuery.js +10 -8
- package/dist/formatQuery.js.map +1 -1
- package/dist/formatQuery.mjs +10 -8
- package/dist/formatQuery.mjs.map +1 -1
- package/dist/{import-CSHMjlid.d.ts → import-Qs1-kgv5.d.ts} +2 -2
- package/dist/{import-BQ5xaW6i.d.mts → import-ShTj5IdB.d.mts} +2 -2
- package/dist/{index-CREDWM32.d.ts → index-DlVg-QXo.d.mts} +32 -3
- package/dist/{index-CREDWM32.d.mts → index-DlVg-QXo.d.ts} +32 -3
- package/dist/parseCEL.d.mts +7 -7
- package/dist/parseCEL.d.ts +7 -7
- package/dist/parseCEL.js +3 -3
- package/dist/parseCEL.js.map +1 -1
- package/dist/parseCEL.mjs +3 -3
- 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/parseJsonLogic.d.mts +2 -2
- package/dist/parseJsonLogic.d.ts +2 -2
- package/dist/parseJsonLogic.js +7 -7
- package/dist/parseJsonLogic.js.map +1 -1
- package/dist/parseJsonLogic.mjs +7 -7
- package/dist/parseJsonLogic.mjs.map +1 -1
- package/dist/parseMongoDB.d.mts +2 -2
- package/dist/parseMongoDB.d.ts +2 -2
- 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/parseSpEL.d.mts +2 -2
- package/dist/parseSpEL.d.ts +2 -2
- package/dist/react-querybuilder_core.d.mts +36 -3
- package/dist/react-querybuilder_core.legacy-esm.d.ts +36 -3
- package/dist/react-querybuilder_core.legacy-esm.js +14 -9
- package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
- package/dist/react-querybuilder_core.mjs +14 -9
- package/dist/react-querybuilder_core.mjs.map +1 -1
- package/dist/react-querybuilder_core.production.d.mts +36 -3
- package/dist/react-querybuilder_core.production.mjs +1 -1
- package/dist/react-querybuilder_core.production.mjs.map +1 -1
- package/dist/transformQuery.d.mts +1 -1
- package/dist/transformQuery.d.ts +1 -1
- package/dist/utils-01WaTGBL.mjs.map +1 -1
- package/dist/utils-ZlKseh1X.js.map +1 -1
- package/package.json +6 -6
package/dist/formatQuery.mjs
CHANGED
|
@@ -113,7 +113,7 @@ const defaultRuleProcessorCEL = (rule, opts = {}) => {
|
|
|
113
113
|
const totalCount = `double(${field}.size())`;
|
|
114
114
|
const filteredCount = `${field}.filter(${arrayElementAlias}, ${nestedArrayFilter}).size()`;
|
|
115
115
|
const op = mode === "atleast" ? ">=" : mode === "atmost" ? "<=" : "==";
|
|
116
|
-
if (threshold > 0 && threshold < 1) return
|
|
116
|
+
if (threshold > 0 && threshold < 1) return `double(${filteredCount}) ${op} (${totalCount} * ${threshold})`;
|
|
117
117
|
return `${filteredCount} ${op} ${threshold}`;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
@@ -614,7 +614,7 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
|
|
|
614
614
|
if (!columns || !drizzleOperators) return void 0;
|
|
615
615
|
const { between, eq, gt, gte, inArray, isNotNull, isNull, like, lt, lte, ne, notBetween, notInArray, notLike, sql } = drizzleOperators;
|
|
616
616
|
const { field, operator, value, valueSource } = rule;
|
|
617
|
-
const column = useRawFields &&
|
|
617
|
+
const column = useRawFields && /^[a-z_][a-z0-9_.]*$/i.test(field) ? sql.raw(field) : columns[field];
|
|
618
618
|
const operatorLC = lc(operator);
|
|
619
619
|
const valueIsField = valueSource === "field";
|
|
620
620
|
const asFieldOrValue = (v) => valueIsField ? columns[v] : v;
|
|
@@ -647,7 +647,7 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
|
|
|
647
647
|
case "atmost":
|
|
648
648
|
case "exactly": {
|
|
649
649
|
const op = mode === "atleast" ? ">=" : mode === "atmost" ? "<=" : "=";
|
|
650
|
-
return threshold > 0 && threshold < 1 ? sql`(select count(*) / array_length(${column}, 1) from unnest(${column}) as ${sql.raw(arrayElementAlias)} where ${nestedArrayFilter({}, drizzleOperators)}) ${sql.raw(`${op} ${threshold}`)}` : sql`(select count(*) from unnest(${column}) as ${sql.raw(arrayElementAlias)} where ${nestedArrayFilter({}, drizzleOperators)}) ${sql.raw(`${op} ${threshold}`)}`;
|
|
650
|
+
return threshold > 0 && threshold < 1 ? sql`(select count(*)::float / array_length(${column}, 1) from unnest(${column}) as ${sql.raw(arrayElementAlias)} where ${nestedArrayFilter({}, drizzleOperators)}) ${sql.raw(`${op} ${threshold}`)}` : sql`(select count(*) from unnest(${column}) as ${sql.raw(arrayElementAlias)} where ${nestedArrayFilter({}, drizzleOperators)}) ${sql.raw(`${op} ${threshold}`)}`;
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
653
|
}
|
|
@@ -995,7 +995,7 @@ const defaultRuleGroupProcessorMongoDB = (ruleGroup, options, meta) => {
|
|
|
995
995
|
const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
|
|
996
996
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, translations, validateRule, validationMap } = options;
|
|
997
997
|
const processRuleGroup = (rg, outermostOrLonelyInGroup) => {
|
|
998
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? ""])) return outermostOrLonelyInGroup ? fallbackExpression :
|
|
998
|
+
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
999
999
|
const rg2 = isRuleGroupTypeIC(rg) && rg.rules.some((r) => typeof r === "string" && lc(r) === "xor") ? convertFromIC(rg) : rg;
|
|
1000
1000
|
const processedRules = [];
|
|
1001
1001
|
let precedingCombinator = "";
|
|
@@ -1093,7 +1093,7 @@ const defaultRuleGroupProcessorParameterized = (ruleGroup, options) => {
|
|
|
1093
1093
|
return sql;
|
|
1094
1094
|
};
|
|
1095
1095
|
const processRuleGroup = (rg, outermostOrLonelyInGroup) => {
|
|
1096
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? ""])) return outermostOrLonelyInGroup ? fallbackExpression :
|
|
1096
|
+
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
1097
1097
|
const processedRules = [];
|
|
1098
1098
|
let precedingCombinator = "";
|
|
1099
1099
|
let firstRule = true;
|
|
@@ -1286,7 +1286,7 @@ const defaultRuleGroupProcessorSPARQL = (ruleGroup, options) => {
|
|
|
1286
1286
|
const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
|
|
1287
1287
|
const { fields, fallbackExpression, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, ruleProcessor, validateRule, validationMap } = options;
|
|
1288
1288
|
const processRuleGroup = (rg, outermostOrLonelyInGroup) => {
|
|
1289
|
-
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? ""])) return outermostOrLonelyInGroup ? fallbackExpression :
|
|
1289
|
+
if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? ""])) return outermostOrLonelyInGroup ? fallbackExpression : "";
|
|
1290
1290
|
const processedRules = [];
|
|
1291
1291
|
let precedingCombinator = "";
|
|
1292
1292
|
let firstRule = true;
|
|
@@ -2490,7 +2490,7 @@ const defaultRuleProcessorSQL = (rule, opts = {}) => {
|
|
|
2490
2490
|
case "atmost":
|
|
2491
2491
|
case "exactly": {
|
|
2492
2492
|
const op = mode === "atleast" ? ">=" : mode === "atmost" ? "<=" : "=";
|
|
2493
|
-
return `(select count(*)${threshold > 0 && threshold < 1 ?
|
|
2493
|
+
return `(select count(*)${threshold > 0 && threshold < 1 ? `::float / array_length(${ruleField}, 1)` : ""} from unnest(${ruleField}) as ${wrapFieldName(arrayElementAlias)} where ${nestedArrayFilter}) ${op} ${threshold}`;
|
|
2494
2494
|
}
|
|
2495
2495
|
}
|
|
2496
2496
|
}
|
|
@@ -2557,7 +2557,7 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
|
|
|
2557
2557
|
case "atmost":
|
|
2558
2558
|
case "exactly": {
|
|
2559
2559
|
const op = mode === "atleast" ? ">=" : mode === "atmost" ? "<=" : "=";
|
|
2560
|
-
return finalize(`(select count(*)${threshold > 0 && threshold < 1 ?
|
|
2560
|
+
return finalize(`(select count(*)${threshold > 0 && threshold < 1 ? `::float / array_length(${ruleField}, 1)` : ""} from unnest(${ruleField}) as ${wrapFieldName(arrayElementAlias)} where ${nestedSQL}) ${op} ${threshold}`);
|
|
2561
2561
|
}
|
|
2562
2562
|
}
|
|
2563
2563
|
}
|
|
@@ -3059,6 +3059,8 @@ const generateValueProcessor = (vpbr) => (field, operator, value, valueSource) =
|
|
|
3059
3059
|
/**
|
|
3060
3060
|
* Default value processor used by {@link formatQuery} for "sql" format.
|
|
3061
3061
|
*
|
|
3062
|
+
* @deprecated Prefer {@link defaultValueProcessorByRule}.
|
|
3063
|
+
*
|
|
3062
3064
|
* @group Export
|
|
3063
3065
|
*/
|
|
3064
3066
|
const defaultValueProcessor = generateValueProcessor(defaultValueProcessorByRule);
|