@react-querybuilder/core 8.11.1 → 8.12.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.
Files changed (103) hide show
  1. package/dist/{basic-BeKPP0_1.d.ts → basic-DbvrfPNz.d.mts} +39 -4
  2. package/dist/{basic-B4vXboTG.d.mts → basic-o1-sYjK6.d.ts} +39 -4
  3. package/dist/chunk-BxBTb9qk.js +39 -0
  4. package/dist/chunk-DrjzjjTJ.mjs +23 -0
  5. package/dist/chunk-Dv2ph0Ay.js +23 -0
  6. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +131 -53
  7. package/dist/cjs/react-querybuilder_core.cjs.development.js +36 -39
  8. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  9. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +131 -53
  10. package/dist/cjs/react-querybuilder_core.cjs.production.js +1 -1
  11. package/dist/cjs/react-querybuilder_core.cjs.production.js.map +1 -1
  12. package/dist/{convertQuery-CqX3rPvj.mjs → convertQuery-Cj4t-LT4.mjs} +2 -2
  13. package/dist/{convertQuery-CqX3rPvj.mjs.map → convertQuery-Cj4t-LT4.mjs.map} +1 -1
  14. package/dist/{convertQuery-DAqoID3O.js → convertQuery-DuY_BJHy.js} +3 -3
  15. package/dist/{convertQuery-DAqoID3O.js.map → convertQuery-DuY_BJHy.js.map} +1 -1
  16. package/dist/{export-BjRt-qrK.d.mts → export-CCULKoP4.d.mts} +2 -2
  17. package/dist/{export-CQB0nuvW.d.ts → export-WDHFbiPz.d.ts} +2 -2
  18. package/dist/formatQuery.d.mts +15 -3
  19. package/dist/formatQuery.d.ts +15 -3
  20. package/dist/formatQuery.js +172 -425
  21. package/dist/formatQuery.js.map +1 -1
  22. package/dist/formatQuery.mjs +4 -257
  23. package/dist/formatQuery.mjs.map +1 -1
  24. package/dist/{import-Dvayhrgj.d.ts → import-BSWb9Vgd.d.ts} +2 -2
  25. package/dist/{import-Bc_p8ls9.d.mts → import-CLyHpgk8.d.mts} +2 -2
  26. package/dist/{isRuleGroup-CYcfPgbg.mjs → isRuleGroup-BcfwGaIN.mjs} +1 -1
  27. package/dist/{isRuleGroup-CYcfPgbg.mjs.map → isRuleGroup-BcfwGaIN.mjs.map} +1 -1
  28. package/dist/{isRuleGroup-DqAs2x4E.js → isRuleGroup-Do9KKsmt.js} +2 -40
  29. package/dist/{isRuleGroup-DqAs2x4E.js.map → isRuleGroup-Do9KKsmt.js.map} +1 -1
  30. package/dist/parseCEL.d.mts +32 -7
  31. package/dist/parseCEL.d.ts +32 -7
  32. package/dist/parseCEL.js +181 -12
  33. package/dist/parseCEL.js.map +1 -1
  34. package/dist/parseCEL.mjs +174 -8
  35. package/dist/parseCEL.mjs.map +1 -1
  36. package/dist/parseJSONata.d.mts +2 -2
  37. package/dist/parseJSONata.d.ts +2 -2
  38. package/dist/parseJSONata.js +6 -5
  39. package/dist/parseJSONata.js.map +1 -1
  40. package/dist/parseJSONata.mjs +3 -3
  41. package/dist/parseJsonLogic.d.mts +3 -3
  42. package/dist/parseJsonLogic.d.ts +3 -3
  43. package/dist/parseJsonLogic.js +10 -11
  44. package/dist/parseJsonLogic.js.map +1 -1
  45. package/dist/parseJsonLogic.mjs +4 -5
  46. package/dist/parseJsonLogic.mjs.map +1 -1
  47. package/dist/parseMongoDB.d.mts +2 -2
  48. package/dist/parseMongoDB.d.ts +2 -2
  49. package/dist/parseMongoDB.js +20 -21
  50. package/dist/parseMongoDB.js.map +1 -1
  51. package/dist/parseMongoDB.mjs +4 -5
  52. package/dist/parseMongoDB.mjs.map +1 -1
  53. package/dist/parseSQL.d.mts +2 -2
  54. package/dist/parseSQL.d.ts +2 -2
  55. package/dist/parseSQL.js +10 -13
  56. package/dist/parseSQL.js.map +1 -1
  57. package/dist/parseSQL.mjs +3 -5
  58. package/dist/parseSQL.mjs.map +1 -1
  59. package/dist/parseSpEL.d.mts +2 -2
  60. package/dist/parseSpEL.d.ts +2 -2
  61. package/dist/parseSpEL.js +7 -7
  62. package/dist/parseSpEL.js.map +1 -1
  63. package/dist/parseSpEL.mjs +3 -4
  64. package/dist/parseSpEL.mjs.map +1 -1
  65. package/dist/{prepareQueryObjects-DPCC-iHp.mjs → prepareQueryObjects-BfnyRV5t.mjs} +4 -3
  66. package/dist/{prepareQueryObjects-DPCC-iHp.mjs.map → prepareQueryObjects-BfnyRV5t.mjs.map} +1 -1
  67. package/dist/{prepareQueryObjects-BOUWfel5.js → prepareQueryObjects-DCtJJrF5.js} +14 -13
  68. package/dist/prepareQueryObjects-DCtJJrF5.js.map +1 -0
  69. package/dist/react-querybuilder_core.d.mts +131 -53
  70. package/dist/react-querybuilder_core.legacy-esm.d.ts +131 -53
  71. package/dist/react-querybuilder_core.legacy-esm.js +43 -21
  72. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  73. package/dist/react-querybuilder_core.mjs +36 -14
  74. package/dist/react-querybuilder_core.mjs.map +1 -1
  75. package/dist/react-querybuilder_core.production.d.mts +131 -53
  76. package/dist/react-querybuilder_core.production.mjs +1 -1
  77. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  78. package/dist/{transformQuery-DCCpjtyq.mjs → transformQuery-Bq4iyYsE.mjs} +9 -2
  79. package/dist/{transformQuery-DCCpjtyq.mjs.map → transformQuery-Bq4iyYsE.mjs.map} +1 -1
  80. package/dist/{transformQuery-CWDPogO5.js → transformQuery-DvJTAvkh.js} +10 -3
  81. package/dist/{transformQuery-CWDPogO5.js.map → transformQuery-DvJTAvkh.js.map} +1 -1
  82. package/dist/transformQuery.d.mts +1 -1
  83. package/dist/transformQuery.d.ts +1 -1
  84. package/dist/transformQuery.js +2 -2
  85. package/dist/transformQuery.mjs +2 -2
  86. package/dist/utils-CoYbYnVo.js +706 -0
  87. package/dist/utils-CoYbYnVo.js.map +1 -0
  88. package/dist/utils-DxH23QtE.mjs +514 -0
  89. package/dist/utils-DxH23QtE.mjs.map +1 -0
  90. package/package.json +15 -15
  91. package/dist/arrayUtils-A_OXU9W1.mjs +0 -50
  92. package/dist/arrayUtils-A_OXU9W1.mjs.map +0 -1
  93. package/dist/arrayUtils-QxZOZTf6.js +0 -73
  94. package/dist/arrayUtils-QxZOZTf6.js.map +0 -1
  95. package/dist/optGroupUtils-B0hTpodo.js +0 -251
  96. package/dist/optGroupUtils-B0hTpodo.js.map +0 -1
  97. package/dist/optGroupUtils-VeZ3k7-1.mjs +0 -185
  98. package/dist/optGroupUtils-VeZ3k7-1.mjs.map +0 -1
  99. package/dist/parseNumber-CXdMVNFx.mjs +0 -24
  100. package/dist/parseNumber-CXdMVNFx.mjs.map +0 -1
  101. package/dist/parseNumber-D4iQDxK-.js +0 -31
  102. package/dist/parseNumber-D4iQDxK-.js.map +0 -1
  103. package/dist/prepareQueryObjects-BOUWfel5.js.map +0 -1
@@ -1,11 +1,9 @@
1
- const require_isRuleGroup = require('./isRuleGroup-DqAs2x4E.js');
2
- const require_optGroupUtils = require('./optGroupUtils-B0hTpodo.js');
3
- const require_arrayUtils = require('./arrayUtils-QxZOZTf6.js');
4
- const require_parseNumber = require('./parseNumber-D4iQDxK-.js');
5
- const require_transformQuery = require('./transformQuery-CWDPogO5.js');
6
- const require_convertQuery = require('./convertQuery-DAqoID3O.js');
1
+ const require_chunk = require('./chunk-BxBTb9qk.js');
2
+ const require_utils = require('./utils-CoYbYnVo.js');
3
+ const require_isRuleGroup = require('./isRuleGroup-Do9KKsmt.js');
4
+ const require_transformQuery = require('./transformQuery-DvJTAvkh.js');
5
+ const require_convertQuery = require('./convertQuery-DuY_BJHy.js');
7
6
  let immer = require("immer");
8
- immer = require_isRuleGroup.__toESM(immer);
9
7
 
10
8
  //#region src/utils/isRuleOrGroupValid.ts
11
9
  /**
@@ -30,257 +28,6 @@ const isRuleOrGroupValid = (rg, validationResult, validator) => {
30
28
  return true;
31
29
  };
32
30
 
33
- //#endregion
34
- //#region src/utils/getParseNumberMethod.ts
35
- const getParseNumberMethod = ({ parseNumbers, inputType }) => {
36
- if (typeof parseNumbers === "string") {
37
- const [method, level] = parseNumbers.split("-");
38
- if (level === "limited") return inputType === "number" ? method : false;
39
- return method;
40
- }
41
- return parseNumbers ? "strict" : false;
42
- };
43
-
44
- //#endregion
45
- //#region src/utils/formatQuery/utils.ts
46
- /**
47
- * Maps a {@link DefaultOperatorName} to a SQL operator.
48
- *
49
- * @group Export
50
- */
51
- const mapSQLOperator = (rqbOperator) => {
52
- switch (require_isRuleGroup.lc(rqbOperator)) {
53
- case "null": return "is null";
54
- case "notnull": return "is not null";
55
- case "notin": return "not in";
56
- case "notbetween": return "not between";
57
- case "contains":
58
- case "beginswith":
59
- case "endswith": return "like";
60
- case "doesnotcontain":
61
- case "doesnotbeginwith":
62
- case "doesnotendwith": return "not like";
63
- default: return rqbOperator;
64
- }
65
- };
66
- /**
67
- * Maps a (lowercase) {@link DefaultOperatorName} to a MongoDB operator.
68
- *
69
- * @group Export
70
- */
71
- const mongoOperators = {
72
- "=": "$eq",
73
- "!=": "$ne",
74
- "<": "$lt",
75
- "<=": "$lte",
76
- ">": "$gt",
77
- ">=": "$gte",
78
- in: "$in",
79
- notin: "$nin",
80
- notIn: "$nin"
81
- };
82
- /**
83
- * Maps a (lowercase) {@link DefaultOperatorName} to a Prisma ORM operator.
84
- *
85
- * @group Export
86
- */
87
- const prismaOperators = {
88
- "=": "equals",
89
- "!=": "not",
90
- "<": "lt",
91
- "<=": "lte",
92
- ">": "gt",
93
- ">=": "gte",
94
- in: "in",
95
- notin: "notIn"
96
- };
97
- /**
98
- * Maps a {@link DefaultCombinatorName} to a CEL combinator.
99
- *
100
- * @group Export
101
- */
102
- const celCombinatorMap = {
103
- and: "&&",
104
- or: "||"
105
- };
106
- /**
107
- * Register these operators with `jsonLogic` before applying the result
108
- * of `formatQuery(query, 'jsonlogic')`.
109
- *
110
- * @example
111
- * ```
112
- * for (const [op, func] of Object.entries(jsonLogicAdditionalOperators)) {
113
- * jsonLogic.add_operation(op, func);
114
- * }
115
- * jsonLogic.apply({ "startsWith": [{ "var": "firstName" }, "Stev"] }, data);
116
- * ```
117
- *
118
- * @group Export
119
- */
120
- const jsonLogicAdditionalOperators = {
121
- startsWith: (a, b) => typeof a === "string" && a.startsWith(b),
122
- endsWith: (a, b) => typeof a === "string" && a.endsWith(b)
123
- };
124
- /**
125
- * Converts all `string`-type `value` properties of a query object into `number` where appropriate.
126
- *
127
- * Used by {@link formatQuery} for the `json*` formats when `parseNumbers` is `true`.
128
- *
129
- * @group Export
130
- */
131
- const numerifyValues = (rg, options) => ({
132
- ...rg,
133
- rules: rg.rules.map((r) => {
134
- if (typeof r === "string") return r;
135
- if (require_isRuleGroup.isRuleGroup(r)) return numerifyValues(r, options);
136
- const fieldData = require_optGroupUtils.getOption(options.fields, r.field);
137
- const parseNumbers = getParseNumberMethod({
138
- parseNumbers: options.parseNumbers,
139
- inputType: fieldData?.inputType
140
- });
141
- if (Array.isArray(r.value)) return {
142
- ...r,
143
- value: r.value.map((v) => require_parseNumber.parseNumber(v, { parseNumbers }))
144
- };
145
- const valAsArray = require_arrayUtils.toArray(r.value, { retainEmptyStrings: true }).map((v) => require_parseNumber.parseNumber(v, { parseNumbers }));
146
- if (valAsArray.every((v) => typeof v === "number")) {
147
- // istanbul ignore else
148
- if (valAsArray.length > 1) return {
149
- ...r,
150
- value: valAsArray
151
- };
152
- else if (valAsArray.length === 1) return {
153
- ...r,
154
- value: valAsArray[0]
155
- };
156
- }
157
- return r;
158
- })
159
- });
160
- /**
161
- * Determines whether a value is _anything_ except an empty `string` or `NaN`.
162
- *
163
- * @group Export
164
- */
165
- const isValidValue = (value) => typeof value === "string" && value.length > 0 || typeof value === "number" && !Number.isNaN(value) || typeof value !== "string" && typeof value !== "number";
166
- /**
167
- * Determines whether {@link formatQuery} should render the given value as a number.
168
- * As long as `parseNumbers` is `true`, `number` and `bigint` values will return `true` and
169
- * `string` values will return `true` if they test positive against {@link numericRegex}.
170
- *
171
- * @group Export
172
- */
173
- const shouldRenderAsNumber = (value, parseNumbers) => !!parseNumbers && (typeof value === "number" || typeof value === "bigint" || typeof value === "string" && require_isRuleGroup.numericRegex.test(value));
174
- /**
175
- * Used by {@link formatQuery} to determine whether the given value processor is a
176
- * "legacy" value processor by counting the number of arguments. Legacy value
177
- * processors take 3 arguments (not counting any arguments with default values), while
178
- * rule-based value processors take no more than 2 arguments.
179
- *
180
- * @group Export
181
- */
182
- const isValueProcessorLegacy = (valueProcessor) => valueProcessor.length >= 3;
183
- /**
184
- * Converts the `quoteFieldNamesWith` option into an array of two strings.
185
- * If the option is a string, the array elements are both that string.
186
- *
187
- * @default
188
- * ['', '']
189
- *
190
- * @group Export
191
- */
192
- const getQuoteFieldNamesWithArray = (quoteFieldNamesWith = ["", ""]) => Array.isArray(quoteFieldNamesWith) ? quoteFieldNamesWith : typeof quoteFieldNamesWith === "string" ? [quoteFieldNamesWith, quoteFieldNamesWith] : quoteFieldNamesWith ?? ["", ""];
193
- /**
194
- * Given a field name and relevant {@link ValueProcessorOptions}, returns the field name
195
- * wrapped in the configured quote character(s).
196
- *
197
- * @group Export
198
- */
199
- const getQuotedFieldName = (fieldName, { quoteFieldNamesWith, fieldIdentifierSeparator }) => {
200
- const [qPre, qPost] = getQuoteFieldNamesWithArray(quoteFieldNamesWith);
201
- return typeof fieldIdentifierSeparator === "string" && fieldIdentifierSeparator.length > 0 ? require_arrayUtils.joinWith(require_arrayUtils.splitBy(fieldName, fieldIdentifierSeparator).map((part) => `${qPre}${part}${qPost}`), fieldIdentifierSeparator) : `${qPre}${fieldName}${qPost}`;
202
- };
203
- const defaultWordOrder = [
204
- "S",
205
- "V",
206
- "O"
207
- ];
208
- /**
209
- * Given a [Constituent word order](https://en.wikipedia.org/wiki/Word_order#Constituent_word_orders)
210
- * like "svo" or "sov", returns a permutation of `["S", "V", "O"]` based on the first occurrence of
211
- * each letter in the input string (case insensitive). This widens the valid input from abbreviations
212
- * like "svo" to more expressive strings like "subject-verb-object" or "sub ver obj". Any missing
213
- * letters are appended in the default order "SVO" (e.g., "object" would yield `["O", "S", "V"]`).
214
- *
215
- * @group Export
216
- */
217
- const normalizeConstituentWordOrder = (input) => {
218
- const result = [];
219
- const letterSet = new Set(defaultWordOrder);
220
- for (const char of input.toUpperCase()) if (letterSet.has(char)) {
221
- result.push(char);
222
- letterSet.delete(char);
223
- if (letterSet.size === 0) break;
224
- }
225
- for (const letter of defaultWordOrder) if (letterSet.has(letter)) result.push(letter);
226
- return result;
227
- };
228
- /**
229
- * Default translations used by {@link formatQuery} for "natural_language" format.
230
- *
231
- * @group Export
232
- */
233
- const defaultNLTranslations = {
234
- groupPrefix: "",
235
- groupPrefix_not_xor: "either zero or more than one of",
236
- groupPrefix_xor: "exactly one of",
237
- groupSuffix: "is true",
238
- groupSuffix_not: "is not true"
239
- };
240
- /**
241
- * Note: This function assumes `conditions.length > 0`
242
- */
243
- const translationMatchFilter = (key, keyToTest, conditions) => keyToTest.startsWith(key) && conditions.every((c) => keyToTest.includes(`_${c}`) && keyToTest.match(/_/g)?.length === conditions.length);
244
- /**
245
- * Used by {@link formatQuery} to get a translation based on certain conditions
246
- * for the "natural_language" format.
247
- *
248
- * @group Export
249
- */
250
- const getNLTranslataion = (key, translations, conditions = []) => conditions.length === 0 ? translations[key] ?? defaultNLTranslations[key] ?? "" : Object.entries(translations).find(([keyToTest]) => translationMatchFilter(key, keyToTest, conditions))?.[1] ?? Object.entries(defaultNLTranslations).find(([keyToTest]) => translationMatchFilter(key, keyToTest, conditions))?.[1] ?? defaultNLTranslations[key] ?? "";
251
- const processMatchMode = (rule) => {
252
- const { mode, threshold } = rule.match ?? {};
253
- if (mode) {
254
- if (!require_isRuleGroup.isRuleGroup(rule.value)) return false;
255
- const matchModeLC = require_isRuleGroup.lc(mode);
256
- const matchModeCoerced = matchModeLC === "atleast" && threshold === 1 ? "some" : matchModeLC === "atmost" && threshold === 0 ? "none" : matchModeLC;
257
- if ((matchModeCoerced === "atleast" || matchModeCoerced === "atmost" || matchModeCoerced === "exactly") && (typeof threshold !== "number" || threshold < 0)) return false;
258
- return {
259
- mode: matchModeCoerced,
260
- threshold
261
- };
262
- }
263
- };
264
- /**
265
- * "Replacer" method for JSON.stringify's second argument. Converts `bigint` values to
266
- * objects with a `$bigint` property having a value of a string representation of
267
- * the actual `bigint`-type value.
268
- *
269
- * Inverse of {@link bigIntJsonParseReviver}.
270
- *
271
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt#use_within_json
272
- */
273
- const bigIntJsonStringifyReplacer = (_key, value) => typeof value === "bigint" ? { $bigint: value.toString() } : value;
274
- /**
275
- * "Reviver" method for JSON.parse's second argument. Converts objects having a single
276
- * `$bigint: string` property to an actual `bigint` value.
277
- *
278
- * Inverse of {@link bigIntJsonStringifyReplacer}.
279
- *
280
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt#use_within_json
281
- */
282
- const bigIntJsonParseReviver = (_key, value) => require_isRuleGroup.isPojo(value) && Object.keys(value).length === 1 && typeof value.$bigint === "string" ? BigInt(value.$bigint) : value;
283
-
284
31
  //#endregion
285
32
  //#region src/utils/formatQuery/defaultRuleGroupProcessorCEL.ts
286
33
  /**
@@ -297,7 +44,7 @@ const defaultRuleGroupProcessorCEL = (ruleGroup, options) => {
297
44
  let firstRule = true;
298
45
  for (const rule of rg.rules) {
299
46
  if (typeof rule === "string") {
300
- precedingCombinator = celCombinatorMap[rule];
47
+ precedingCombinator = require_utils.celCombinatorMap[rule];
301
48
  continue;
302
49
  }
303
50
  if (require_isRuleGroup.isRuleGroup(rule)) {
@@ -314,7 +61,7 @@ const defaultRuleGroupProcessorCEL = (ruleGroup, options) => {
314
61
  }
315
62
  const [validationResult, fieldValidator] = validateRule(rule);
316
63
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
317
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
64
+ const fieldData = require_utils.getOption(fields, rule.field);
318
65
  const processedRule = ruleProcessor(rule, {
319
66
  ...options,
320
67
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -330,7 +77,7 @@ const defaultRuleGroupProcessorCEL = (ruleGroup, options) => {
330
77
  processedRules.push(processedRule);
331
78
  }
332
79
  }
333
- const expression = processedRules.join(require_isRuleGroup.isRuleGroupType(rg) ? ` ${celCombinatorMap[rg.combinator]} ` : " ");
80
+ const expression = processedRules.join(require_isRuleGroup.isRuleGroupType(rg) ? ` ${require_utils.celCombinatorMap[rg.combinator]} ` : " ");
334
81
  const [prefix, suffix] = rg.not || !outermost ? [`${rg.not ? "!" : ""}(`, ")"] : ["", ""];
335
82
  return expression ? `${prefix}${expression}${suffix}` : fallbackExpression;
336
83
  };
@@ -351,8 +98,8 @@ const defaultRuleProcessorCEL = (rule, opts = {}) => {
351
98
  const { field, operator, value, valueSource } = rule;
352
99
  const valueIsField = valueSource === "field";
353
100
  const operatorTL = require_isRuleGroup.lc(operator === "=" ? "==" : operator);
354
- const useBareValue = typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || shouldRenderAsNumber(value, parseNumbers);
355
- const matchEval = processMatchMode(rule);
101
+ const useBareValue = typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || require_utils.shouldRenderAsNumber(value, parseNumbers);
102
+ const matchEval = require_utils.processMatchMode(rule);
356
103
  if (matchEval === false) return "";
357
104
  else if (matchEval) {
358
105
  const { mode, threshold } = matchEval;
@@ -382,28 +129,28 @@ const defaultRuleProcessorCEL = (rule, opts = {}) => {
382
129
  case "==":
383
130
  case "!=":
384
131
  case ">":
385
- case ">=": return `${field} ${operatorTL} ${valueIsField || useBareValue ? require_arrayUtils.trimIfString(value) : `"${escapeDoubleQuotes(value, escapeQuotes)}"`}`;
132
+ case ">=": return `${field} ${operatorTL} ${valueIsField || useBareValue ? require_utils.trimIfString(value) : `"${escapeDoubleQuotes(value, escapeQuotes)}"`}`;
386
133
  case "contains":
387
- case "doesnotcontain": return `${shouldNegate$2(operatorTL) ? "!" : ""}${field}.contains(${valueIsField ? require_arrayUtils.trimIfString(value) : `"${escapeDoubleQuotes(value, escapeQuotes)}"`})`;
134
+ case "doesnotcontain": return `${shouldNegate$2(operatorTL) ? "!" : ""}${field}.contains(${valueIsField ? require_utils.trimIfString(value) : `"${escapeDoubleQuotes(value, escapeQuotes)}"`})`;
388
135
  case "beginswith":
389
- case "doesnotbeginwith": return `${shouldNegate$2(operatorTL) ? "!" : ""}${field}.startsWith(${valueIsField ? require_arrayUtils.trimIfString(value) : `"${escapeDoubleQuotes(value, escapeQuotes)}"`})`;
136
+ case "doesnotbeginwith": return `${shouldNegate$2(operatorTL) ? "!" : ""}${field}.startsWith(${valueIsField ? require_utils.trimIfString(value) : `"${escapeDoubleQuotes(value, escapeQuotes)}"`})`;
390
137
  case "endswith":
391
- case "doesnotendwith": return `${shouldNegate$2(operatorTL) ? "!" : ""}${field}.endsWith(${valueIsField ? require_arrayUtils.trimIfString(value) : `"${escapeDoubleQuotes(value, escapeQuotes)}"`})`;
138
+ case "doesnotendwith": return `${shouldNegate$2(operatorTL) ? "!" : ""}${field}.endsWith(${valueIsField ? require_utils.trimIfString(value) : `"${escapeDoubleQuotes(value, escapeQuotes)}"`})`;
392
139
  case "null": return `${field} == null`;
393
140
  case "notnull": return `${field} != null`;
394
141
  case "in":
395
142
  case "notin": {
396
143
  const [prefix, suffix] = shouldNegate$2(operatorTL) ? ["!(", ")"] : ["", ""];
397
- return `${prefix}${field} in [${require_arrayUtils.toArray(value).map((val) => valueIsField || shouldRenderAsNumber(val, parseNumbers) ? `${require_arrayUtils.trimIfString(val)}` : `"${escapeDoubleQuotes(val, escapeQuotes)}"`).join(", ")}]${suffix}`;
144
+ return `${prefix}${field} in [${require_utils.toArray(value).map((val) => valueIsField || require_utils.shouldRenderAsNumber(val, parseNumbers) ? `${require_utils.trimIfString(val)}` : `"${escapeDoubleQuotes(val, escapeQuotes)}"`).join(", ")}]${suffix}`;
398
145
  }
399
146
  case "between":
400
147
  case "notbetween": {
401
- const valueAsArray = require_arrayUtils.toArray(value);
148
+ const valueAsArray = require_utils.toArray(value);
402
149
  if (valueAsArray.length >= 2 && !require_isRuleGroup.nullOrUndefinedOrEmpty(valueAsArray[0]) && !require_isRuleGroup.nullOrUndefinedOrEmpty(valueAsArray[1])) {
403
150
  const [first, second] = valueAsArray;
404
151
  const shouldParseNumbers = !(parseNumbers === false);
405
- const firstNum = shouldRenderAsNumber(first, shouldParseNumbers) ? require_parseNumber.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
406
- const secondNum = shouldRenderAsNumber(second, shouldParseNumbers) ? require_parseNumber.parseNumber(second, { parseNumbers: shouldParseNumbers }) : NaN;
152
+ const firstNum = require_utils.shouldRenderAsNumber(first, shouldParseNumbers) ? require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
153
+ const secondNum = require_utils.shouldRenderAsNumber(second, shouldParseNumbers) ? require_utils.parseNumber(second, { parseNumbers: shouldParseNumbers }) : NaN;
407
154
  let firstValue = Number.isNaN(firstNum) ? valueIsField ? `${first}` : `"${escapeDoubleQuotes(first, escapeQuotes)}"` : firstNum;
408
155
  let secondValue = Number.isNaN(secondNum) ? valueIsField ? `${second}` : `"${escapeDoubleQuotes(second, escapeQuotes)}"` : secondNum;
409
156
  if (!preserveValueOrder && firstValue === firstNum && secondValue === secondNum && secondNum < firstNum) {
@@ -448,7 +195,7 @@ const defaultRuleGroupProcessorMongoDBQuery = (ruleGroup, options, meta) => {
448
195
  }
449
196
  const [validationResult, fieldValidator] = validateRule(rule);
450
197
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
451
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
198
+ const fieldData = require_utils.getOption(fields, rule.field);
452
199
  return ruleProcessor(rule, {
453
200
  ...options,
454
201
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -462,7 +209,7 @@ const defaultRuleGroupProcessorMongoDBQuery = (ruleGroup, options, meta) => {
462
209
 
463
210
  //#endregion
464
211
  //#region src/utils/formatQuery/defaultRuleProcessorMongoDBQuery.ts
465
- const processNumber$1 = (value, fallback, parseNumbers = false) => shouldRenderAsNumber(value, parseNumbers || typeof value === "bigint") ? Number(require_parseNumber.parseNumber(value, { parseNumbers: "strict" })) : fallback;
212
+ const processNumber$1 = (value, fallback, parseNumbers = false) => require_utils.shouldRenderAsNumber(value, parseNumbers || typeof value === "bigint") ? Number(require_utils.parseNumber(value, { parseNumbers: "strict" })) : fallback;
466
213
  /**
467
214
  * Default rule processor used by {@link formatQuery} for "mongodb_query" format.
468
215
  *
@@ -473,7 +220,7 @@ const defaultRuleProcessorMongoDBQuery = (rule, options = {}) => {
473
220
  const { parseNumbers, preserveValueOrder, context } = options;
474
221
  const valueIsField = valueSource === "field";
475
222
  const { avoidFieldsAsKeys } = context ?? {};
476
- const matchEval = processMatchMode(rule);
223
+ const matchEval = require_utils.processMatchMode(rule);
477
224
  if (matchEval === false) return;
478
225
  else if (matchEval) {
479
226
  const { mode, threshold } = matchEval;
@@ -512,7 +259,7 @@ const defaultRuleProcessorMongoDBQuery = (rule, options = {}) => {
512
259
  case "atleast":
513
260
  case "atmost":
514
261
  case "exactly": {
515
- const op = mode === "atleast" ? mongoOperators[">="] : mode === "atmost" ? mongoOperators["<="] : mongoOperators["="];
262
+ const op = mode === "atleast" ? require_utils.mongoOperators[">="] : mode === "atmost" ? require_utils.mongoOperators["<="] : require_utils.mongoOperators["="];
516
263
  if (threshold > 0 && threshold < 1) return { $expr: { [op]: [filteredCount, { $multiply: [totalCount, threshold] }] } };
517
264
  return { $expr: { [op]: [filteredCount, threshold] } };
518
265
  }
@@ -527,7 +274,7 @@ const defaultRuleProcessorMongoDBQuery = (rule, options = {}) => {
527
274
  case "!=":
528
275
  case ">":
529
276
  case ">=": {
530
- const mongoOperator = mongoOperators[operatorLC];
277
+ const mongoOperator = require_utils.mongoOperators[operatorLC];
531
278
  return valueIsField ? { [mongoOperator]: [`$${field}`, `$${value}`] } : avoidFieldsAsKeys ? { $and: [{ $ne: [`$${field}`, null] }, { [mongoOperator]: [`$${field}`, processNumber$1(value, value, parseNumbers)] }] } : { [field]: { [mongoOperator]: processNumber$1(value, value, parseNumbers) } };
532
279
  }
533
280
  case "contains": return valueIsField ? { $where: `this.${field}.includes(this.${value})` } : avoidFieldsAsKeys ? { $regexMatch: {
@@ -558,13 +305,13 @@ const defaultRuleProcessorMongoDBQuery = (rule, options = {}) => {
558
305
  case "notnull": return avoidFieldsAsKeys ? { $ne: [`$${field}`, null] } : { [field]: { $ne: null } };
559
306
  case "in":
560
307
  case "notin": {
561
- const valueAsArray = require_arrayUtils.toArray(value);
562
- return valueIsField ? { $where: `${operatorLC === "notin" ? "!" : ""}[${valueAsArray.map((val) => `this.${val}`).join(",")}].includes(this.${field})` } : avoidFieldsAsKeys ? operatorLC === "notin" ? { $not: { [mongoOperators.in]: [`$${field}`, valueAsArray.map((val) => processNumber$1(val, val, parseNumbers))] } } : { [mongoOperators[operatorLC]]: [`$${field}`, valueAsArray.map((val) => processNumber$1(val, val, parseNumbers))] } : { [field]: { [mongoOperators[operatorLC]]: valueAsArray.map((val) => processNumber$1(val, val, parseNumbers)) } };
308
+ const valueAsArray = require_utils.toArray(value);
309
+ return valueIsField ? { $where: `${operatorLC === "notin" ? "!" : ""}[${valueAsArray.map((val) => `this.${val}`).join(",")}].includes(this.${field})` } : avoidFieldsAsKeys ? operatorLC === "notin" ? { $not: { [require_utils.mongoOperators.in]: [`$${field}`, valueAsArray.map((val) => processNumber$1(val, val, parseNumbers))] } } : { [require_utils.mongoOperators[operatorLC]]: [`$${field}`, valueAsArray.map((val) => processNumber$1(val, val, parseNumbers))] } : { [field]: { [require_utils.mongoOperators[operatorLC]]: valueAsArray.map((val) => processNumber$1(val, val, parseNumbers)) } };
563
310
  }
564
311
  case "between":
565
312
  case "notbetween": {
566
- const valueAsArray = require_arrayUtils.toArray(value);
567
- if (valueAsArray.length >= 2 && isValidValue(valueAsArray[0]) && isValidValue(valueAsArray[1])) {
313
+ const valueAsArray = require_utils.toArray(value);
314
+ if (valueAsArray.length >= 2 && require_utils.isValidValue(valueAsArray[0]) && require_utils.isValidValue(valueAsArray[1])) {
568
315
  const [first, second] = valueAsArray;
569
316
  const firstNum = processNumber$1(first, NaN, true);
570
317
  const secondNum = processNumber$1(second, NaN, true);
@@ -636,7 +383,7 @@ const defaultRuleGroupProcessorSpEL = (ruleGroup, options) => {
636
383
  }
637
384
  const [validationResult, fieldValidator] = validateRule(rule);
638
385
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
639
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
386
+ const fieldData = require_utils.getOption(fields, rule.field);
640
387
  const processedRule = ruleProcessor(rule, {
641
388
  ...options,
642
389
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -674,8 +421,8 @@ const defaultRuleProcessorSpEL = (rule, opts = {}) => {
674
421
  const { escapeQuotes, parseNumbers, preserveValueOrder } = opts;
675
422
  const valueIsField = valueSource === "field";
676
423
  const operatorTL = require_isRuleGroup.lc(operator === "=" ? "==" : operator);
677
- const useBareValue = typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || shouldRenderAsNumber(value, parseNumbers);
678
- const matchEval = processMatchMode(rule);
424
+ const useBareValue = typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || require_utils.shouldRenderAsNumber(value, parseNumbers);
425
+ const matchEval = require_utils.processMatchMode(rule);
679
426
  if (matchEval === false) return "";
680
427
  else if (matchEval) {
681
428
  const { mode, threshold } = matchEval;
@@ -704,29 +451,29 @@ const defaultRuleProcessorSpEL = (rule, opts = {}) => {
704
451
  case "==":
705
452
  case "!=":
706
453
  case ">":
707
- case ">=": return `${field} ${operatorTL} ${valueIsField || useBareValue ? require_arrayUtils.trimIfString(value) : `'${escapeSingleQuotes(value, escapeQuotes)}'`}`;
454
+ case ">=": return `${field} ${operatorTL} ${valueIsField || useBareValue ? require_utils.trimIfString(value) : `'${escapeSingleQuotes(value, escapeQuotes)}'`}`;
708
455
  case "contains":
709
- case "doesnotcontain": return wrapInNegation(`${field} matches ${valueIsField || useBareValue ? require_arrayUtils.trimIfString(value) : `'${escapeSingleQuotes(value, escapeQuotes)}'`}`, shouldNegate$1(operatorTL));
456
+ case "doesnotcontain": return wrapInNegation(`${field} matches ${valueIsField || useBareValue ? require_utils.trimIfString(value) : `'${escapeSingleQuotes(value, escapeQuotes)}'`}`, shouldNegate$1(operatorTL));
710
457
  case "beginswith":
711
- case "doesnotbeginwith": return wrapInNegation(`${field} matches ${valueIsField ? `'^'.concat(${require_arrayUtils.trimIfString(value)})` : `'${typeof value === "string" && !value.startsWith("^") || useBareValue ? "^" : ""}${escapeSingleQuotes(value, escapeQuotes)}'`}`, shouldNegate$1(operatorTL));
458
+ case "doesnotbeginwith": return wrapInNegation(`${field} matches ${valueIsField ? `'^'.concat(${require_utils.trimIfString(value)})` : `'${typeof value === "string" && !value.startsWith("^") || useBareValue ? "^" : ""}${escapeSingleQuotes(value, escapeQuotes)}'`}`, shouldNegate$1(operatorTL));
712
459
  case "endswith":
713
- case "doesnotendwith": return wrapInNegation(`${field} matches ${valueIsField ? `${require_arrayUtils.trimIfString(value)}.concat('$')` : `'${escapeSingleQuotes(value, escapeQuotes)}${typeof value === "string" && !value.endsWith("$") || useBareValue ? "$" : ""}'`}`, shouldNegate$1(operatorTL));
460
+ case "doesnotendwith": return wrapInNegation(`${field} matches ${valueIsField ? `${require_utils.trimIfString(value)}.concat('$')` : `'${escapeSingleQuotes(value, escapeQuotes)}${typeof value === "string" && !value.endsWith("$") || useBareValue ? "$" : ""}'`}`, shouldNegate$1(operatorTL));
714
461
  case "null": return `${field} == null`;
715
462
  case "notnull": return `${field} != null`;
716
463
  case "in":
717
464
  case "notin": {
718
465
  const negate$1 = shouldNegate$1(operatorTL) ? "!" : "";
719
- const valueAsArray = require_arrayUtils.toArray(value);
720
- return valueAsArray.length > 0 ? `${negate$1}(${valueAsArray.map((val) => `${field} == ${valueIsField || shouldRenderAsNumber(val, parseNumbers) ? `${require_arrayUtils.trimIfString(val)}` : `'${escapeSingleQuotes(val, escapeQuotes)}'`}`).join(" or ")})` : "";
466
+ const valueAsArray = require_utils.toArray(value);
467
+ return valueAsArray.length > 0 ? `${negate$1}(${valueAsArray.map((val) => `${field} == ${valueIsField || require_utils.shouldRenderAsNumber(val, parseNumbers) ? `${require_utils.trimIfString(val)}` : `'${escapeSingleQuotes(val, escapeQuotes)}'`}`).join(" or ")})` : "";
721
468
  }
722
469
  case "between":
723
470
  case "notbetween": {
724
- const valueAsArray = require_arrayUtils.toArray(value);
471
+ const valueAsArray = require_utils.toArray(value);
725
472
  if (valueAsArray.length >= 2 && !require_isRuleGroup.nullOrUndefinedOrEmpty(valueAsArray[0]) && !require_isRuleGroup.nullOrUndefinedOrEmpty(valueAsArray[1])) {
726
473
  const [first, second] = valueAsArray;
727
474
  const shouldParseNumbers = !(parseNumbers === false);
728
- const firstNum = shouldRenderAsNumber(first, shouldParseNumbers) ? require_parseNumber.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
729
- const secondNum = shouldRenderAsNumber(second, shouldParseNumbers) ? require_parseNumber.parseNumber(second, { parseNumbers: shouldParseNumbers }) : NaN;
475
+ const firstNum = require_utils.shouldRenderAsNumber(first, shouldParseNumbers) ? require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
476
+ const secondNum = require_utils.shouldRenderAsNumber(second, shouldParseNumbers) ? require_utils.parseNumber(second, { parseNumbers: shouldParseNumbers }) : NaN;
730
477
  let firstValue = Number.isNaN(firstNum) ? valueIsField ? `${first}` : `'${escapeSingleQuotes(first, escapeQuotes)}'` : firstNum;
731
478
  let secondValue = Number.isNaN(secondNum) ? valueIsField ? `${second}` : `'${escapeSingleQuotes(second, escapeQuotes)}'` : secondNum;
732
479
  if (!preserveValueOrder && firstValue === firstNum && secondValue === secondNum && secondNum < firstNum) {
@@ -756,7 +503,7 @@ const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQ
756
503
  const quoteValue = (v) => `${wrapValueWith[0]}${quoteChar}${v}${quoteChar}${wrapValueWith[1]}`;
757
504
  const escapeValue = (v) => escapeStringValueQuotes$1(v, quoteChar, escapeQuotes);
758
505
  const wrapAndEscape = (v) => quoteValue(escapeValue(v));
759
- const wrapFieldName = (v) => getQuotedFieldName(v, {
506
+ const wrapFieldName = (v) => require_utils.getQuotedFieldName(v, {
760
507
  quoteFieldNamesWith,
761
508
  fieldIdentifierSeparator
762
509
  });
@@ -766,17 +513,17 @@ const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQ
766
513
  case "notnull": return "";
767
514
  case "in":
768
515
  case "notin": {
769
- const valueAsArray = require_arrayUtils.toArray(value);
770
- if (valueAsArray.length > 0) return `(${valueAsArray.map((v) => valueIsField ? wrapFieldName(v) : shouldRenderAsNumber(v, parseNumbers) ? `${require_arrayUtils.trimIfString(v)}` : `${wrapAndEscape(v)}`).join(", ")})`;
516
+ const valueAsArray = require_utils.toArray(value);
517
+ if (valueAsArray.length > 0) return `(${valueAsArray.map((v) => valueIsField ? wrapFieldName(v) : require_utils.shouldRenderAsNumber(v, parseNumbers) ? `${require_utils.trimIfString(v)}` : `${wrapAndEscape(v)}`).join(", ")})`;
771
518
  return "";
772
519
  }
773
520
  case "between":
774
521
  case "notbetween": {
775
- const valueAsArray = require_arrayUtils.toArray(value, { retainEmptyStrings: true });
776
- if (valueAsArray.length < 2 || !isValidValue(valueAsArray[0]) || !isValidValue(valueAsArray[1])) return "";
522
+ const valueAsArray = require_utils.toArray(value, { retainEmptyStrings: true });
523
+ if (valueAsArray.length < 2 || !require_utils.isValidValue(valueAsArray[0]) || !require_utils.isValidValue(valueAsArray[1])) return "";
777
524
  const [first, second] = valueAsArray;
778
- const firstNum = shouldRenderAsNumber(first, parseNumbers) ? require_parseNumber.parseNumber(first, { parseNumbers: "strict" }) : NaN;
779
- const secondNum = shouldRenderAsNumber(second, parseNumbers) ? require_parseNumber.parseNumber(second, { parseNumbers: "strict" }) : NaN;
525
+ const firstNum = require_utils.shouldRenderAsNumber(first, parseNumbers) ? require_utils.parseNumber(first, { parseNumbers: "strict" }) : NaN;
526
+ const secondNum = require_utils.shouldRenderAsNumber(second, parseNumbers) ? require_utils.parseNumber(second, { parseNumbers: "strict" }) : NaN;
780
527
  const firstValue = Number.isNaN(firstNum) ? valueIsField ? `${first}` : first : firstNum;
781
528
  const secondValue = Number.isNaN(secondNum) ? valueIsField ? `${second}` : second : secondNum;
782
529
  const valsOneAndTwoOnly = [firstValue, secondValue];
@@ -784,7 +531,7 @@ const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQ
784
531
  valsOneAndTwoOnly[0] = secondNum;
785
532
  valsOneAndTwoOnly[1] = firstNum;
786
533
  }
787
- return (valueIsField ? valsOneAndTwoOnly.map((v) => wrapFieldName(v)) : valsOneAndTwoOnly.every((v) => shouldRenderAsNumber(v, parseNumbers)) ? valsOneAndTwoOnly.map((v) => require_parseNumber.parseNumber(v, { parseNumbers: "strict" })) : valsOneAndTwoOnly.map((v) => wrapAndEscape(v))).join(` ${translations?.and ?? "and"} `);
534
+ return (valueIsField ? valsOneAndTwoOnly.map((v) => wrapFieldName(v)) : valsOneAndTwoOnly.every((v) => require_utils.shouldRenderAsNumber(v, parseNumbers)) ? valsOneAndTwoOnly.map((v) => require_utils.parseNumber(v, { parseNumbers: "strict" })) : valsOneAndTwoOnly.map((v) => wrapAndEscape(v))).join(` ${translations?.and ?? "and"} `);
788
535
  }
789
536
  case "contains":
790
537
  case "doesnotcontain": return valueIsField ? concat(quoteValue("%"), wrapFieldName(value), quoteValue("%")) : quoteValue(`%${escapeValue(value)}%`);
@@ -794,7 +541,7 @@ const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQ
794
541
  case "doesnotendwith": return valueIsField ? concat(quoteValue("%"), wrapFieldName(value)) : quoteValue(`%${escapeValue(value)}`);
795
542
  }
796
543
  if (typeof value === "boolean") return value ? "TRUE" : "FALSE";
797
- return valueIsField ? wrapFieldName(value) : shouldRenderAsNumber(value, parseNumbers) ? `${require_arrayUtils.trimIfString(value)}` : `${wrapAndEscape(value)}`;
544
+ return valueIsField ? wrapFieldName(value) : require_utils.shouldRenderAsNumber(value, parseNumbers) ? `${require_utils.trimIfString(value)}` : `${wrapAndEscape(value)}`;
798
545
  };
799
546
 
800
547
  //#endregion
@@ -817,7 +564,7 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
817
564
  const valueIsField = valueSource === "field";
818
565
  const asFieldOrValue = (v) => valueIsField ? columns[v] : v;
819
566
  if (!column) return;
820
- const matchEval = processMatchMode(rule);
567
+ const matchEval = require_utils.processMatchMode(rule);
821
568
  if (matchEval === false) return;
822
569
  else if (matchEval) {
823
570
  if (opts.preset !== "postgresql") return;
@@ -862,18 +609,18 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
862
609
  case "notnull": return isNotNull(column);
863
610
  case "in":
864
611
  case "notin": {
865
- const valueAsArray = require_arrayUtils.toArray(value).map((v) => asFieldOrValue(v));
612
+ const valueAsArray = require_utils.toArray(value).map((v) => asFieldOrValue(v));
866
613
  return operatorLC === "notin" ? notInArray(column, valueAsArray) : inArray(column, valueAsArray);
867
614
  }
868
615
  case "between":
869
616
  case "notbetween": {
870
- const valueAsArray = require_arrayUtils.toArray(value);
871
- if (valueAsArray.length >= 2 && isValidValue(valueAsArray[0]) && isValidValue(valueAsArray[1])) {
617
+ const valueAsArray = require_utils.toArray(value);
618
+ if (valueAsArray.length >= 2 && require_utils.isValidValue(valueAsArray[0]) && require_utils.isValidValue(valueAsArray[1])) {
872
619
  let [first, second] = valueAsArray;
873
620
  const shouldParseNumbers = !(parseNumbers === false);
874
- if (!valueIsField && shouldRenderAsNumber(first, shouldParseNumbers) && shouldRenderAsNumber(second, shouldParseNumbers)) {
875
- const firstNum = require_parseNumber.parseNumber(first, { parseNumbers: shouldParseNumbers });
876
- const secondNum = require_parseNumber.parseNumber(second, { parseNumbers: shouldParseNumbers });
621
+ if (!valueIsField && require_utils.shouldRenderAsNumber(first, shouldParseNumbers) && require_utils.shouldRenderAsNumber(second, shouldParseNumbers)) {
622
+ const firstNum = require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers });
623
+ const secondNum = require_utils.parseNumber(second, { parseNumbers: shouldParseNumbers });
877
624
  if (!preserveValueOrder && secondNum < firstNum) {
878
625
  const tempNum = secondNum;
879
626
  second = firstNum;
@@ -919,7 +666,7 @@ const defaultRuleGroupProcessorDrizzle = (ruleGroup, options, _meta) => (columns
919
666
  if (require_isRuleGroup.isRuleGroup(rule)) return processRuleGroup(rule);
920
667
  const [validationResult, fieldValidator] = validateRule(rule);
921
668
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
922
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
669
+ const fieldData = require_utils.getOption(fields, rule.field);
923
670
  return ruleProcessor(rule, {
924
671
  ...options,
925
672
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -953,7 +700,7 @@ const defaultRuleGroupProcessorElasticSearch = (ruleGroup, options) => {
953
700
  if (require_isRuleGroup.isRuleGroup(rule)) return processRuleGroup(rule);
954
701
  const [validationResult, fieldValidator] = validateRule(rule);
955
702
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
956
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
703
+ const fieldData = require_utils.getOption(fields, rule.field);
957
704
  return ruleProcessor(rule, {
958
705
  ...options,
959
706
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1000,7 +747,7 @@ const defaultRuleGroupProcessorJSONata = (ruleGroup, options) => {
1000
747
  }
1001
748
  const [validationResult, fieldValidator] = validateRule(rule);
1002
749
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
1003
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
750
+ const fieldData = require_utils.getOption(fields, rule.field);
1004
751
  const processedRule = ruleProcessor(rule, {
1005
752
  ...options,
1006
753
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1039,7 +786,7 @@ const defaultRuleGroupProcessorJsonLogic = (ruleGroup, options) => {
1039
786
  if (require_isRuleGroup.isRuleGroup(rule)) return processRuleGroup(rule);
1040
787
  const [validationResult, fieldValidator] = validateRule(rule);
1041
788
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return false;
1042
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
789
+ const fieldData = require_utils.getOption(fields, rule.field);
1043
790
  return ruleProcessor(rule, {
1044
791
  ...options,
1045
792
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1068,7 +815,7 @@ const defaultRuleGroupProcessorLDAP = (ruleGroup, options) => {
1068
815
  if (require_isRuleGroup.isRuleGroup(rule)) return processRuleGroup(rule);
1069
816
  const [validationResult, fieldValidator] = validateRule(rule);
1070
817
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
1071
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
818
+ const fieldData = require_utils.getOption(fields, rule.field);
1072
819
  return ruleProcessor(rule, {
1073
820
  ...options,
1074
821
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1111,7 +858,7 @@ const defaultRuleGroupProcessorMongoDB = (ruleGroup, options, meta) => {
1111
858
  }
1112
859
  const [validationResult, fieldValidator] = validateRule(rule);
1113
860
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
1114
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
861
+ const fieldData = require_utils.getOption(fields, rule.field);
1115
862
  return ruleProcessor(rule, {
1116
863
  ...options,
1117
864
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1160,7 +907,7 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
1160
907
  const [validationResult, fieldValidator] = validateRule(rule);
1161
908
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
1162
909
  const escapeQuotes = (rule.valueSource ?? "value") === "value";
1163
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
910
+ const fieldData = require_utils.getOption(fields, rule.field);
1164
911
  const processedRule = ruleProcessor(rule, {
1165
912
  ...options,
1166
913
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1180,7 +927,7 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
1180
927
  const isXOR = require_isRuleGroup.lc(rg2.combinator ?? "") === "xor";
1181
928
  const combinator = isXOR ? rg2.combinator.slice(1) : rg2.combinator;
1182
929
  const mustWrap = rg2.not || !outermostOrLonelyInGroup || isXOR && processedRules.length > 1;
1183
- const [prefixTL, suffixTL] = ["groupPrefix", "groupSuffix"].map((key) => rg2.not ? isXOR ? getNLTranslataion(key, translations, ["not", "xor"]) : getNLTranslataion(key, translations, ["not"]) : isXOR ? getNLTranslataion(key, translations, ["xor"]) : getNLTranslataion(key, translations));
930
+ 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));
1184
931
  const prefix = mustWrap ? `${prefixTL} (`.trim() : "";
1185
932
  const suffix = mustWrap ? `) ${suffixTL}`.trim() : "";
1186
933
  return `${prefix}${processedRules.join(require_isRuleGroup.isRuleGroupType(rg2) ? `, ${translations[combinator] ?? combinator} ` : "")}${suffix}`;
@@ -1211,7 +958,7 @@ const defaultRuleGroupProcessorParameterized = (ruleGroup, options) => {
1211
958
  const processRule = (rule) => {
1212
959
  const [validationResult, fieldValidator] = validateRule(rule);
1213
960
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return "";
1214
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
961
+ const fieldData = require_utils.getOption(fields, rule.field);
1215
962
  const fieldParamNames = Object.fromEntries([...fieldParams.entries()].map(([f, s]) => [f, [...s]]));
1216
963
  const processedRule = ruleProcessor(rule, {
1217
964
  ...options,
@@ -1307,7 +1054,7 @@ const defaultRuleGroupProcessorPrisma = (ruleGroup, options) => {
1307
1054
  }
1308
1055
  const [validationResult, fieldValidator] = validateRule(rule);
1309
1056
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
1310
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
1057
+ const fieldData = require_utils.getOption(fields, rule.field);
1311
1058
  return ruleProcessor(rule, {
1312
1059
  ...options,
1313
1060
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1347,7 +1094,7 @@ const defaultRuleGroupProcessorSequelize = (ruleGroup, options) => {
1347
1094
  }
1348
1095
  const [validationResult, fieldValidator] = validateRule(rule);
1349
1096
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
1350
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
1097
+ const fieldData = require_utils.getOption(fields, rule.field);
1351
1098
  return ruleProcessor(rule, {
1352
1099
  ...options,
1353
1100
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1396,7 +1143,7 @@ const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
1396
1143
  const [validationResult, fieldValidator] = validateRule(rule);
1397
1144
  if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) continue;
1398
1145
  const escapeQuotes = (rule.valueSource ?? "value") === "value";
1399
- const fieldData = require_optGroupUtils.getOption(fields, rule.field);
1146
+ const fieldData = require_utils.getOption(fields, rule.field);
1400
1147
  const processedRule = ruleProcessor(rule, {
1401
1148
  ...options,
1402
1149
  parseNumbers: getParseNumberBoolean(fieldData?.inputType),
@@ -1439,7 +1186,7 @@ const getTextScript = (f, o, v) => {
1439
1186
  const script = `doc['${f}'].value.${textFunctionMap[o] ?? o}(doc['${v}'].value)`;
1440
1187
  return o.startsWith("d") ? `!${script}` : script;
1441
1188
  };
1442
- const valueRenderer = (v, parseNumbers) => typeof v === "boolean" ? v : shouldRenderAsNumber(v, parseNumbers) ? require_parseNumber.parseNumber(v, { parseNumbers }) : v;
1189
+ const valueRenderer = (v, parseNumbers) => typeof v === "boolean" ? v : require_utils.shouldRenderAsNumber(v, parseNumbers) ? require_utils.parseNumber(v, { parseNumbers }) : v;
1443
1190
  /**
1444
1191
  * Default rule processor used by {@link formatQuery} for "elasticsearch" format.
1445
1192
  *
@@ -1449,9 +1196,9 @@ const defaultRuleProcessorElasticSearch = (rule, options = {}) => {
1449
1196
  const { field, operator, value, valueSource } = rule;
1450
1197
  const { parseNumbers, preserveValueOrder } = options;
1451
1198
  const operatorLC = require_isRuleGroup.lc(operator);
1452
- if (processMatchMode(rule)) return false;
1199
+ if (require_utils.processMatchMode(rule)) return false;
1453
1200
  if (valueSource === "field") {
1454
- if (require_arrayUtils.toArray(value).some((v) => typeof v !== "string")) return false;
1201
+ if (require_utils.toArray(value).some((v) => typeof v !== "string")) return false;
1455
1202
  const fieldForScript = escapeSQ(field);
1456
1203
  switch (operatorLC) {
1457
1204
  case "=":
@@ -1466,7 +1213,7 @@ const defaultRuleProcessorElasticSearch = (rule, options = {}) => {
1466
1213
  }
1467
1214
  case "in":
1468
1215
  case "notin": {
1469
- const valueAsArray = require_arrayUtils.toArray(value);
1216
+ const valueAsArray = require_utils.toArray(value);
1470
1217
  if (valueAsArray.length > 0) {
1471
1218
  const arr = valueAsArray.map((v) => ({ bool: { filter: { script: { script: `doc['${fieldForScript}'].value == doc['${v}'].value` } } } }));
1472
1219
  return { bool: operatorLC === "in" ? { should: arr } : { must_not: arr } };
@@ -1475,7 +1222,7 @@ const defaultRuleProcessorElasticSearch = (rule, options = {}) => {
1475
1222
  }
1476
1223
  case "between":
1477
1224
  case "notbetween": {
1478
- const valueAsArray = require_arrayUtils.toArray(value);
1225
+ const valueAsArray = require_utils.toArray(value);
1479
1226
  if (valueAsArray.length >= 2 && valueAsArray[0] && valueAsArray[1]) {
1480
1227
  const script = `doc['${fieldForScript}'].value >= doc['${valueAsArray[0]}'].value && doc['${fieldForScript}'].value <= doc['${valueAsArray[1]}'].value`;
1481
1228
  return { bool: { filter: { script: { script: operatorLC === "notbetween" ? `!(${script})` : script } } } };
@@ -1505,7 +1252,7 @@ const defaultRuleProcessorElasticSearch = (rule, options = {}) => {
1505
1252
  case "notnull": return { exists: { field } };
1506
1253
  case "in":
1507
1254
  case "notin": {
1508
- const valueAsArray = require_arrayUtils.toArray(value).map((v) => valueRenderer(v, parseNumbers));
1255
+ const valueAsArray = require_utils.toArray(value).map((v) => valueRenderer(v, parseNumbers));
1509
1256
  if (valueAsArray.length > 0) {
1510
1257
  const arr = valueAsArray.map((v) => ({ term: { [field]: valueRenderer(v, parseNumbers) } }));
1511
1258
  return { bool: operatorLC === "in" ? { should: arr } : { must_not: arr } };
@@ -1514,13 +1261,13 @@ const defaultRuleProcessorElasticSearch = (rule, options = {}) => {
1514
1261
  }
1515
1262
  case "between":
1516
1263
  case "notbetween": {
1517
- const valueAsArray = require_arrayUtils.toArray(value);
1518
- if (valueAsArray.length >= 2 && isValidValue(valueAsArray[0]) && isValidValue(valueAsArray[1])) {
1264
+ const valueAsArray = require_utils.toArray(value);
1265
+ if (valueAsArray.length >= 2 && require_utils.isValidValue(valueAsArray[0]) && require_utils.isValidValue(valueAsArray[1])) {
1519
1266
  let [first, second] = valueAsArray;
1520
1267
  const shouldParseNumbers = !(parseNumbers === false);
1521
- if (shouldRenderAsNumber(first, shouldParseNumbers) && shouldRenderAsNumber(second, shouldParseNumbers)) {
1522
- const firstNum = require_parseNumber.parseNumber(first, { parseNumbers: shouldParseNumbers });
1523
- const secondNum = require_parseNumber.parseNumber(second, { parseNumbers: shouldParseNumbers });
1268
+ if (require_utils.shouldRenderAsNumber(first, shouldParseNumbers) && require_utils.shouldRenderAsNumber(second, shouldParseNumbers)) {
1269
+ const firstNum = require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers });
1270
+ const secondNum = require_utils.parseNumber(second, { parseNumbers: shouldParseNumbers });
1524
1271
  if (!preserveValueOrder && secondNum < firstNum) {
1525
1272
  const tempNum = secondNum;
1526
1273
  second = firstNum;
@@ -1562,12 +1309,12 @@ const defaultRuleProcessorJSONata = (rule, options = {}) => {
1562
1309
  const { field, operator, value, valueSource } = rule;
1563
1310
  const { escapeQuotes, parseNumbers, preserveValueOrder, quoteFieldNamesWith = ["", ""], fieldIdentifierSeparator = "" } = options;
1564
1311
  const valueIsField = valueSource === "field";
1565
- const useBareValue = typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || shouldRenderAsNumber(value, parseNumbers);
1566
- const qfn = (f) => getQuotedFieldName(f, {
1312
+ const useBareValue = typeof value === "number" || typeof value === "boolean" || typeof value === "bigint" || require_utils.shouldRenderAsNumber(value, parseNumbers);
1313
+ const qfn = (f) => require_utils.getQuotedFieldName(f, {
1567
1314
  quoteFieldNamesWith,
1568
1315
  fieldIdentifierSeparator
1569
1316
  });
1570
- const matchEval = processMatchMode(rule);
1317
+ const matchEval = require_utils.processMatchMode(rule);
1571
1318
  if (matchEval === false) return;
1572
1319
  else if (matchEval) {
1573
1320
  const { mode, threshold } = matchEval;
@@ -1596,28 +1343,28 @@ const defaultRuleProcessorJSONata = (rule, options = {}) => {
1596
1343
  case "=":
1597
1344
  case "!=":
1598
1345
  case ">":
1599
- case ">=": return `${qfn(field)} ${operatorLC} ${valueIsField ? qfn(require_arrayUtils.trimIfString(value)) : useBareValue ? require_arrayUtils.trimIfString(value) : quote(value, escapeQuotes)}`;
1346
+ case ">=": return `${qfn(field)} ${operatorLC} ${valueIsField ? qfn(require_utils.trimIfString(value)) : useBareValue ? require_utils.trimIfString(value) : quote(value, escapeQuotes)}`;
1600
1347
  case "contains":
1601
- case "doesnotcontain": return negate(`$contains(${qfn(field)}, ${valueIsField ? qfn(require_arrayUtils.trimIfString(value)) : quote(value, escapeQuotes)})`, shouldNegate(operatorLC));
1348
+ case "doesnotcontain": return negate(`$contains(${qfn(field)}, ${valueIsField ? qfn(require_utils.trimIfString(value)) : quote(value, escapeQuotes)})`, shouldNegate(operatorLC));
1602
1349
  case "beginswith":
1603
- case "doesnotbeginwith": return negate(valueIsField ? `$substring(${qfn(field)}, 0, $length(${qfn(require_arrayUtils.trimIfString(value))})) = ${qfn(require_arrayUtils.trimIfString(value))}` : `$contains(${qfn(field)}, /^${escapeStringRegex(value)}/)`, shouldNegate(operatorLC));
1350
+ case "doesnotbeginwith": return negate(valueIsField ? `$substring(${qfn(field)}, 0, $length(${qfn(require_utils.trimIfString(value))})) = ${qfn(require_utils.trimIfString(value))}` : `$contains(${qfn(field)}, /^${escapeStringRegex(value)}/)`, shouldNegate(operatorLC));
1604
1351
  case "endswith":
1605
- case "doesnotendwith": return negate(valueIsField ? `$substring(${qfn(field)}, $length(${qfn(field)}) - $length(${qfn(require_arrayUtils.trimIfString(value))})) = ${qfn(require_arrayUtils.trimIfString(value))}` : `$contains(${qfn(field)}, /${escapeStringRegex(value)}$/)`, shouldNegate(operatorLC));
1352
+ case "doesnotendwith": return negate(valueIsField ? `$substring(${qfn(field)}, $length(${qfn(field)}) - $length(${qfn(require_utils.trimIfString(value))})) = ${qfn(require_utils.trimIfString(value))}` : `$contains(${qfn(field)}, /${escapeStringRegex(value)}$/)`, shouldNegate(operatorLC));
1606
1353
  case "null": return `${qfn(field)} = null`;
1607
1354
  case "notnull": return `${qfn(field)} != null`;
1608
1355
  case "in":
1609
1356
  case "notin": {
1610
- const valueAsArray = require_arrayUtils.toArray(value);
1611
- return negate(`${qfn(field)} in [${valueAsArray.map((val) => valueIsField ? `${qfn(require_arrayUtils.trimIfString(val))}` : shouldRenderAsNumber(val, parseNumbers) ? `${require_arrayUtils.trimIfString(val)}` : quote(val, escapeQuotes)).join(", ")}]`, shouldNegate(operatorLC));
1357
+ const valueAsArray = require_utils.toArray(value);
1358
+ return negate(`${qfn(field)} in [${valueAsArray.map((val) => valueIsField ? `${qfn(require_utils.trimIfString(val))}` : require_utils.shouldRenderAsNumber(val, parseNumbers) ? `${require_utils.trimIfString(val)}` : quote(val, escapeQuotes)).join(", ")}]`, shouldNegate(operatorLC));
1612
1359
  }
1613
1360
  case "between":
1614
1361
  case "notbetween": {
1615
- const valueAsArray = require_arrayUtils.toArray(value);
1362
+ const valueAsArray = require_utils.toArray(value);
1616
1363
  if (valueAsArray.length < 2 || require_isRuleGroup.nullOrUndefinedOrEmpty(valueAsArray[0]) || require_isRuleGroup.nullOrUndefinedOrEmpty(valueAsArray[1])) return "";
1617
1364
  const [first, second] = valueAsArray;
1618
1365
  const shouldParseNumbers = !(parseNumbers === false);
1619
- const firstNum = shouldRenderAsNumber(first, shouldParseNumbers) ? require_parseNumber.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
1620
- const secondNum = shouldRenderAsNumber(second, shouldParseNumbers) ? require_parseNumber.parseNumber(second, { parseNumbers: shouldParseNumbers }) : NaN;
1366
+ const firstNum = require_utils.shouldRenderAsNumber(first, shouldParseNumbers) ? require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers }) : NaN;
1367
+ const secondNum = require_utils.shouldRenderAsNumber(second, shouldParseNumbers) ? require_utils.parseNumber(second, { parseNumbers: shouldParseNumbers }) : NaN;
1621
1368
  let firstValue = Number.isNaN(firstNum) ? valueIsField ? `${first}` : first : firstNum;
1622
1369
  let secondValue = Number.isNaN(secondNum) ? valueIsField ? `${second}` : second : secondNum;
1623
1370
  if (!preserveValueOrder && firstValue === firstNum && secondValue === secondNum && secondNum < firstNum) {
@@ -1625,7 +1372,7 @@ const defaultRuleProcessorJSONata = (rule, options = {}) => {
1625
1372
  secondValue = firstNum;
1626
1373
  firstValue = tempNum;
1627
1374
  }
1628
- const renderAsNumbers = shouldRenderAsNumber(first, parseNumbers) && shouldRenderAsNumber(second, parseNumbers);
1375
+ const renderAsNumbers = require_utils.shouldRenderAsNumber(first, parseNumbers) && require_utils.shouldRenderAsNumber(second, parseNumbers);
1629
1376
  const getValueString = (raw, val) => valueIsField ? qfn(raw) : renderAsNumbers ? val : quote(val, escapeQuotes);
1630
1377
  const expression = `${qfn(field)} >= ${getValueString(first, firstValue)} and ${qfn(field)} <= ${getValueString(second, secondValue)}`;
1631
1378
  return operatorLC === "between" ? `(${expression})` : negate(expression, true);
@@ -1648,8 +1395,8 @@ const defaultRuleProcessorJsonLogic = (rule, options = {}) => {
1648
1395
  const { parseNumbers, preserveValueOrder } = options;
1649
1396
  const valueIsField = valueSource === "field";
1650
1397
  const fieldObject = { var: field };
1651
- const fieldOrNumberRenderer = (v) => valueIsField ? { var: `${v}` } : shouldRenderAsNumber(v, parseNumbers) ? require_parseNumber.parseNumber(v, { parseNumbers }) : v;
1652
- const matchEval = processMatchMode(rule);
1398
+ const fieldOrNumberRenderer = (v) => valueIsField ? { var: `${v}` } : require_utils.shouldRenderAsNumber(v, parseNumbers) ? require_utils.parseNumber(v, { parseNumbers }) : v;
1399
+ const matchEval = require_utils.processMatchMode(rule);
1653
1400
  if (matchEval === false) return false;
1654
1401
  else if (matchEval) {
1655
1402
  const { mode, threshold } = matchEval;
@@ -1689,16 +1436,16 @@ const defaultRuleProcessorJsonLogic = (rule, options = {}) => {
1689
1436
  case "null":
1690
1437
  case "notnull": return { [`${operatorLC === "notnull" ? "!" : "="}=`]: [fieldObject, null] };
1691
1438
  case "in":
1692
- case "notin": return negateIfNotOp(operatorLC, { in: [fieldObject, require_arrayUtils.toArray(value).map((v) => fieldOrNumberRenderer(v))] });
1439
+ case "notin": return negateIfNotOp(operatorLC, { in: [fieldObject, require_utils.toArray(value).map((v) => fieldOrNumberRenderer(v))] });
1693
1440
  case "between":
1694
1441
  case "notbetween": {
1695
- const valueAsArray = require_arrayUtils.toArray(value);
1696
- if (valueAsArray.length >= 2 && isValidValue(valueAsArray[0]) && isValidValue(valueAsArray[1])) {
1442
+ const valueAsArray = require_utils.toArray(value);
1443
+ if (valueAsArray.length >= 2 && require_utils.isValidValue(valueAsArray[0]) && require_utils.isValidValue(valueAsArray[1])) {
1697
1444
  let [first, second] = valueAsArray;
1698
1445
  const shouldParseNumbers = !(parseNumbers === false);
1699
- if (!valueIsField && shouldRenderAsNumber(first, shouldParseNumbers) && shouldRenderAsNumber(second, shouldParseNumbers)) {
1700
- const firstNum = require_parseNumber.parseNumber(first, { parseNumbers: shouldParseNumbers });
1701
- const secondNum = require_parseNumber.parseNumber(second, { parseNumbers: shouldParseNumbers });
1446
+ if (!valueIsField && require_utils.shouldRenderAsNumber(first, shouldParseNumbers) && require_utils.shouldRenderAsNumber(second, shouldParseNumbers)) {
1447
+ const firstNum = require_utils.parseNumber(first, { parseNumbers: shouldParseNumbers });
1448
+ const secondNum = require_utils.parseNumber(second, { parseNumbers: shouldParseNumbers });
1702
1449
  if (!preserveValueOrder && secondNum < firstNum) {
1703
1450
  const tempNum = secondNum;
1704
1451
  second = firstNum;
@@ -1732,7 +1479,7 @@ const defaultRuleProcessorJsonLogic = (rule, options = {}) => {
1732
1479
  //#endregion
1733
1480
  //#region src/utils/formatQuery/defaultRuleProcessorLDAP.ts
1734
1481
  const negateIf = (clause, negate$1) => negate$1 ? `(!${clause})` : `${clause}`;
1735
- const ldapEscape = (s) => `${require_arrayUtils.trimIfString(s)}`.replaceAll(/[()&|=<>~*\\/]/g, (m) => `\\${m.codePointAt(0).toString(16)}`);
1482
+ const ldapEscape = (s) => `${require_utils.trimIfString(s)}`.replaceAll(/[()&|=<>~*\\/]/g, (m) => `\\${m.codePointAt(0).toString(16)}`);
1736
1483
  /**
1737
1484
  * Default rule processor used by {@link formatQuery} for "ldap" format.
1738
1485
  *
@@ -1742,7 +1489,7 @@ const defaultRuleProcessorLDAP = (rule, options = {}) => {
1742
1489
  const { field, operator, value, valueSource } = rule;
1743
1490
  const { preserveValueOrder } = options;
1744
1491
  const operatorLC = require_isRuleGroup.lc(operator);
1745
- if (valueSource === "field" || require_isRuleGroup.nullOrUndefinedOrEmpty(value) && operatorLC !== "null" && operatorLC !== "notnull" || processMatchMode(rule)) return "";
1492
+ if (valueSource === "field" || require_isRuleGroup.nullOrUndefinedOrEmpty(value) && operatorLC !== "null" && operatorLC !== "notnull" || require_utils.processMatchMode(rule)) return "";
1746
1493
  switch (operatorLC) {
1747
1494
  case "=":
1748
1495
  case "!=": return negateIf(`(${field}=${ldapEscape(value)})`, operatorLC === "!=");
@@ -1759,14 +1506,14 @@ const defaultRuleProcessorLDAP = (rule, options = {}) => {
1759
1506
  case "null":
1760
1507
  case "notnull": return negateIf(`(${field}=*)`, operatorLC === "notnull");
1761
1508
  case "in":
1762
- case "notin": return negateIf(`(|${require_arrayUtils.toArray(value).map((val) => `(${field}=${ldapEscape(val)})`).join("")})`, operatorLC === "notin");
1509
+ case "notin": return negateIf(`(|${require_utils.toArray(value).map((val) => `(${field}=${ldapEscape(val)})`).join("")})`, operatorLC === "notin");
1763
1510
  case "between":
1764
1511
  case "notbetween": {
1765
- const valueAsArray = require_arrayUtils.toArray(value);
1512
+ const valueAsArray = require_utils.toArray(value);
1766
1513
  if (valueAsArray.length < 2 || require_isRuleGroup.nullOrUndefinedOrEmpty(valueAsArray[0]) || require_isRuleGroup.nullOrUndefinedOrEmpty(valueAsArray[1])) return "";
1767
1514
  const [first, second] = valueAsArray;
1768
- const firstNum = shouldRenderAsNumber(first, true) ? require_parseNumber.parseNumber(first, { parseNumbers: true }) : NaN;
1769
- const secondNum = shouldRenderAsNumber(second, true) ? require_parseNumber.parseNumber(second, { parseNumbers: true }) : NaN;
1515
+ const firstNum = require_utils.shouldRenderAsNumber(first, true) ? require_utils.parseNumber(first, { parseNumbers: true }) : NaN;
1516
+ const secondNum = require_utils.shouldRenderAsNumber(second, true) ? require_utils.parseNumber(second, { parseNumbers: true }) : NaN;
1770
1517
  let firstValue = Number.isNaN(firstNum) ? first : firstNum;
1771
1518
  let secondValue = Number.isNaN(secondNum) ? second : secondNum;
1772
1519
  if (!preserveValueOrder && firstValue === firstNum && secondValue === secondNum && secondNum < firstNum) {
@@ -1797,7 +1544,7 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
1797
1544
  const quoteValue = (v) => `${quoteChar}${v}${quoteChar}`;
1798
1545
  const escapeValue = (v) => escapeStringValueQuotes(v, quoteChar, escapeQuotes);
1799
1546
  const wrapAndEscape = (v) => quoteValue(escapeValue(v));
1800
- const wrapFieldName = (v) => getQuotedFieldName(v, {
1547
+ const wrapFieldName = (v) => require_utils.getQuotedFieldName(v, {
1801
1548
  quoteFieldNamesWith,
1802
1549
  fieldIdentifierSeparator
1803
1550
  });
@@ -1811,8 +1558,8 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
1811
1558
  case "between":
1812
1559
  case "notbetween": {
1813
1560
  if (!valueIsField) return defaultValueProcessorByRule(rule, opts);
1814
- const valueAsArray = require_arrayUtils.toArray(rule.value, { retainEmptyStrings: true }).slice(0, 2).map((v) => wrapFieldName(require_optGroupUtils.getOption(fields ?? [], v)?.label ?? v));
1815
- if (valueAsArray.length < 2 || !isValidValue(valueAsArray[0]) || !isValidValue(valueAsArray[1])) return "";
1561
+ const valueAsArray = require_utils.toArray(rule.value, { retainEmptyStrings: true }).slice(0, 2).map((v) => wrapFieldName(require_utils.getOption(fields ?? [], v)?.label ?? v));
1562
+ if (valueAsArray.length < 2 || !require_utils.isValidValue(valueAsArray[0]) || !require_utils.isValidValue(valueAsArray[1])) return "";
1816
1563
  return defaultValueProcessorByRule({
1817
1564
  ...rule,
1818
1565
  value: valueAsArray
@@ -1820,14 +1567,14 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
1820
1567
  }
1821
1568
  case "in":
1822
1569
  case "notin": {
1823
- const valueAsArray = require_arrayUtils.toArray(rule.value);
1570
+ const valueAsArray = require_utils.toArray(rule.value);
1824
1571
  if (valueAsArray.length === 0) return "";
1825
- const valStringArray = valueAsArray.map((v) => valueIsField ? wrapFieldName(require_optGroupUtils.getOption(fields ?? [], v)?.label ?? v) : shouldRenderAsNumber(v, parseNumbers) ? `${require_arrayUtils.trimIfString(v)}` : `${wrapAndEscape(v)}`);
1572
+ const valStringArray = valueAsArray.map((v) => valueIsField ? wrapFieldName(require_utils.getOption(fields ?? [], v)?.label ?? v) : require_utils.shouldRenderAsNumber(v, parseNumbers) ? `${require_utils.trimIfString(v)}` : `${wrapAndEscape(v)}`);
1826
1573
  return `${valStringArray.slice(0, -1).join(", ")}${valStringArray.length > 2 ? "," : ""} ${orTL} ${valStringArray.at(-1)}`;
1827
1574
  }
1828
1575
  }
1829
1576
  if (typeof rule.value === "boolean") return rule.value ? trueTL : falseTL;
1830
- return valueIsField ? wrapFieldName(require_optGroupUtils.getOption(fields ?? [], rule.value)?.label ?? rule.value) : shouldRenderAsNumber(rule.value, parseNumbers) ? `${require_arrayUtils.trimIfString(rule.value)}` : `${wrapAndEscape(rule.value)}`;
1577
+ return valueIsField ? wrapFieldName(require_utils.getOption(fields ?? [], rule.value)?.label ?? rule.value) : require_utils.shouldRenderAsNumber(rule.value, parseNumbers) ? `${require_utils.trimIfString(rule.value)}` : `${wrapAndEscape(rule.value)}`;
1831
1578
  };
1832
1579
 
1833
1580
  //#endregion
@@ -1871,7 +1618,7 @@ const defaultOperatorProcessorNL = (rule, opts = {}) => {
1871
1618
  const mapOperatorMap = new Map(Object.entries(defaultExportOperatorMap));
1872
1619
  for (const [key, value] of Object.entries(operatorMapParam)) mapOperatorMap.set(require_isRuleGroup.lc(key), value);
1873
1620
  const operatorMap = Object.fromEntries(mapOperatorMap);
1874
- const { value: operatorNL, label } = require_optGroupUtils.getOption(require_optGroupUtils.toFullOptionList(getOperators(field, { fieldData: opts.fieldData ?? {
1621
+ const { value: operatorNL, label } = require_utils.getOption(require_utils.toFullOptionList(getOperators(field, { fieldData: opts.fieldData ?? {
1875
1622
  name: field,
1876
1623
  value: field,
1877
1624
  label: field
@@ -1892,17 +1639,17 @@ const defaultRuleProcessorNL = (rule, opts) => {
1892
1639
  const { field, operator } = rule;
1893
1640
  // istanbul ignore next
1894
1641
  const { fieldData, quoteFieldNamesWith = ["", ""], fieldIdentifierSeparator = "", quoteValuesWith = `'`, operatorProcessor = defaultOperatorProcessorNL, valueProcessor = defaultValueProcessorNL, concatOperator = "||", wordOrder = "SVO" } = opts ?? ( /* istanbul ignore next */ {});
1895
- const processedField = getQuotedFieldName(fieldData?.label ?? field, {
1642
+ const processedField = require_utils.getQuotedFieldName(fieldData?.label ?? field, {
1896
1643
  quoteFieldNamesWith,
1897
1644
  fieldIdentifierSeparator
1898
1645
  });
1899
- const matchEval = processMatchMode(rule);
1646
+ const matchEval = require_utils.processMatchMode(rule);
1900
1647
  if (matchEval === false) return "";
1901
1648
  else if (matchEval) {
1902
1649
  const { mode, threshold } = matchEval;
1903
1650
  const nestedArrayFilter = defaultRuleGroupProcessorNL(rule.value, {
1904
1651
  ...opts,
1905
- fields: require_optGroupUtils.toFullOptionList(fieldData?.subproperties ?? [])
1652
+ fields: require_utils.toFullOptionList(fieldData?.subproperties ?? [])
1906
1653
  });
1907
1654
  const hsp = (fieldData?.subproperties?.length ?? 0) > 0;
1908
1655
  switch (mode) {
@@ -1932,7 +1679,7 @@ const defaultRuleProcessorNL = (rule, opts) => {
1932
1679
  V: operatorProcessor(rule, opts),
1933
1680
  O: value
1934
1681
  };
1935
- return normalizeConstituentWordOrder(wordOrder).map((term) => `${wordOrderMap[term]}`).join(" ").trim();
1682
+ return require_utils.normalizeConstituentWordOrder(wordOrder).map((term) => `${wordOrderMap[term]}`).join(" ").trim();
1936
1683
  };
1937
1684
 
1938
1685
  //#endregion
@@ -1942,7 +1689,7 @@ const defaultRuleProcessorNL = (rule, opts) => {
1942
1689
  *
1943
1690
  * @group Export
1944
1691
  */
1945
- const defaultOperatorProcessorSQL = (rule) => require_isRuleGroup.lc(mapSQLOperator(rule.operator));
1692
+ const defaultOperatorProcessorSQL = (rule) => require_isRuleGroup.lc(require_utils.mapSQLOperator(rule.operator));
1946
1693
  /**
1947
1694
  * Default rule processor used by {@link formatQuery} for "sql" format.
1948
1695
  *
@@ -1950,12 +1697,12 @@ const defaultOperatorProcessorSQL = (rule) => require_isRuleGroup.lc(mapSQLOpera
1950
1697
  */
1951
1698
  const defaultRuleProcessorSQL = (rule, opts = {}) => {
1952
1699
  const { quoteFieldNamesWith = ["", ""], fieldIdentifierSeparator = "", quoteValuesWith = `'`, operatorProcessor = defaultOperatorProcessorSQL, valueProcessor = defaultValueProcessorByRule, concatOperator = "||" } = opts;
1953
- const wrapFieldName = (v) => getQuotedFieldName(v, {
1700
+ const wrapFieldName = (v) => require_utils.getQuotedFieldName(v, {
1954
1701
  quoteFieldNamesWith,
1955
1702
  fieldIdentifierSeparator
1956
1703
  });
1957
1704
  const ruleField = wrapFieldName(rule.field);
1958
- const matchEval = processMatchMode(rule);
1705
+ const matchEval = require_utils.processMatchMode(rule);
1959
1706
  if (matchEval === false) return;
1960
1707
  else if (matchEval) {
1961
1708
  if (opts?.preset !== "postgresql") return "";
@@ -2012,12 +1759,12 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
2012
1759
  sql,
2013
1760
  params: paramsNamed
2014
1761
  };
2015
- const wrapFieldName = (v) => getQuotedFieldName(v, {
1762
+ const wrapFieldName = (v) => require_utils.getQuotedFieldName(v, {
2016
1763
  quoteFieldNamesWith,
2017
1764
  fieldIdentifierSeparator
2018
1765
  });
2019
1766
  const ruleField = wrapFieldName(rule.field);
2020
- const matchEval = processMatchMode(rule);
1767
+ const matchEval = require_utils.processMatchMode(rule);
2021
1768
  if (matchEval === false) return;
2022
1769
  else if (matchEval) {
2023
1770
  if (opts?.preset !== "postgresql") return finalize("");
@@ -2059,20 +1806,20 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
2059
1806
  else if (sqlOperatorLowerCase === "is null" || sqlOperatorLowerCase === "is not null") return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator}`);
2060
1807
  else if (rule.valueSource === "field") return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} ${value}`.trim());
2061
1808
  else if (sqlOperatorLowerCase === "in" || sqlOperatorLowerCase === "not in") {
2062
- const splitValue = require_arrayUtils.toArray(rule.value);
1809
+ const splitValue = require_utils.toArray(rule.value);
2063
1810
  if (parameterized) {
2064
- for (const v of splitValue) params.push(shouldRenderAsNumber(v, parseNumbers) ? require_parseNumber.parseNumber(v, { parseNumbers }) : v);
1811
+ for (const v of splitValue) params.push(require_utils.shouldRenderAsNumber(v, parseNumbers) ? require_utils.parseNumber(v, { parseNumbers }) : v);
2065
1812
  return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} (${splitValue.map((_v, i) => numberedParams ? `${paramPrefix}${processedParams.length + 1 + splitValue.length - (splitValue.length - i)}` : "?").join(", ")})`);
2066
1813
  }
2067
1814
  const inParams = [];
2068
1815
  for (const v of splitValue) {
2069
1816
  const thisParamName = getNextNamedParam(rule.field);
2070
1817
  inParams.push(`${paramPrefix}${thisParamName}`);
2071
- paramsNamed[`${paramsKeepPrefix ? paramPrefix : ""}${thisParamName}`] = shouldRenderAsNumber(v, parseNumbers) ? require_parseNumber.parseNumber(v, { parseNumbers }) : v;
1818
+ paramsNamed[`${paramsKeepPrefix ? paramPrefix : ""}${thisParamName}`] = require_utils.shouldRenderAsNumber(v, parseNumbers) ? require_utils.parseNumber(v, { parseNumbers }) : v;
2072
1819
  }
2073
1820
  return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} (${inParams.join(", ")})`);
2074
1821
  } else if (sqlOperatorLowerCase === "between" || sqlOperatorLowerCase === "not between") {
2075
- const [first, second] = require_arrayUtils.toArray(rule.value, { retainEmptyStrings: true }).slice(0, 2).map((v) => shouldRenderAsNumber(v, parseNumbers) ? require_parseNumber.parseNumber(v, { parseNumbers }) : v);
1822
+ const [first, second] = require_utils.toArray(rule.value, { retainEmptyStrings: true }).slice(0, 2).map((v) => require_utils.shouldRenderAsNumber(v, parseNumbers) ? require_utils.parseNumber(v, { parseNumbers }) : v);
2076
1823
  if (parameterized) {
2077
1824
  params.push(first, second);
2078
1825
  return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} ${numberedParams ? `${paramPrefix}${processedParams.length + 1}` : "?"} and ${numberedParams ? `${paramPrefix}${processedParams.length + 2}` : "?"}`);
@@ -2084,7 +1831,7 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
2084
1831
  return finalize(`${qPre}${rule.field}${qPost} ${sqlOperator} ${paramPrefix}${firstParamName} and ${paramPrefix}${secondParamName}`);
2085
1832
  }
2086
1833
  let paramValue = rule.value;
2087
- if (typeof rule.value === "string") if (shouldRenderAsNumber(rule.value, parseNumbers)) paramValue = require_parseNumber.parseNumber(rule.value, { parseNumbers });
1834
+ if (typeof rule.value === "string") if (require_utils.shouldRenderAsNumber(rule.value, parseNumbers)) paramValue = require_utils.parseNumber(rule.value, { parseNumbers });
2088
1835
  else paramValue = /^'.*'$/g.test(value) ? value.replaceAll(/(^'|'$)/g, "") : value;
2089
1836
  let paramName = "";
2090
1837
  if (parameterized) params.push(paramValue);
@@ -2097,7 +1844,7 @@ const defaultRuleProcessorParameterized = (rule, opts, meta) => {
2097
1844
 
2098
1845
  //#endregion
2099
1846
  //#region src/utils/formatQuery/defaultRuleProcessorPrisma.ts
2100
- const processNumber = (value, fallback, parseNumbers) => shouldRenderAsNumber(value, !!parseNumbers || typeof value === "bigint") ? Number(require_parseNumber.parseNumber(value, { parseNumbers: !!parseNumbers })) : fallback;
1847
+ const processNumber = (value, fallback, parseNumbers) => require_utils.shouldRenderAsNumber(value, !!parseNumbers || typeof value === "bigint") ? Number(require_utils.parseNumber(value, { parseNumbers: !!parseNumbers })) : fallback;
2101
1848
  /**
2102
1849
  * Default rule processor used by {@link formatQuery} for "prisma" format.
2103
1850
  *
@@ -2107,7 +1854,7 @@ const defaultRuleProcessorPrisma = (rule, options = {}) => {
2107
1854
  const { field, operator, value, valueSource } = rule;
2108
1855
  // istanbul ignore next
2109
1856
  const { parseNumbers, preserveValueOrder } = options;
2110
- if (valueSource === "field" || processMatchMode(rule)) return;
1857
+ if (valueSource === "field" || require_utils.processMatchMode(rule)) return;
2111
1858
  const operatorLC = require_isRuleGroup.lc(operator);
2112
1859
  switch (operatorLC) {
2113
1860
  case "=": return { [field]: processNumber(value, value, parseNumbers) };
@@ -2116,7 +1863,7 @@ const defaultRuleProcessorPrisma = (rule, options = {}) => {
2116
1863
  case "<=":
2117
1864
  case ">":
2118
1865
  case ">=": {
2119
- const prismaOperator = prismaOperators[operatorLC];
1866
+ const prismaOperator = require_utils.prismaOperators[operatorLC];
2120
1867
  return { [field]: { [prismaOperator]: processNumber(value, value, parseNumbers) } };
2121
1868
  }
2122
1869
  case "contains": return { [field]: { contains: value } };
@@ -2129,17 +1876,17 @@ const defaultRuleProcessorPrisma = (rule, options = {}) => {
2129
1876
  case "notnull": return { [field]: { not: null } };
2130
1877
  case "in":
2131
1878
  case "notin": {
2132
- const valueAsArray = require_arrayUtils.toArray(value);
2133
- return { [field]: { [prismaOperators[operatorLC]]: valueAsArray.map((val) => processNumber(val, val, parseNumbers)) } };
1879
+ const valueAsArray = require_utils.toArray(value);
1880
+ return { [field]: { [require_utils.prismaOperators[operatorLC]]: valueAsArray.map((val) => processNumber(val, val, parseNumbers)) } };
2134
1881
  }
2135
1882
  case "between":
2136
1883
  case "notbetween": {
2137
- const valueAsArray = require_arrayUtils.toArray(value);
2138
- if (valueAsArray.length >= 2 && isValidValue(valueAsArray[0]) && isValidValue(valueAsArray[1])) {
1884
+ const valueAsArray = require_utils.toArray(value);
1885
+ if (valueAsArray.length >= 2 && require_utils.isValidValue(valueAsArray[0]) && require_utils.isValidValue(valueAsArray[1])) {
2139
1886
  const [first, second] = valueAsArray;
2140
1887
  const shouldParseNumbers = !(parseNumbers === false);
2141
- const firstNum = shouldRenderAsNumber(first, shouldParseNumbers) ? require_parseNumber.parseNumber(first, { parseNumbers }) : NaN;
2142
- const secondNum = shouldRenderAsNumber(second, shouldParseNumbers) ? require_parseNumber.parseNumber(second, { parseNumbers }) : NaN;
1888
+ const firstNum = require_utils.shouldRenderAsNumber(first, shouldParseNumbers) ? require_utils.parseNumber(first, { parseNumbers }) : NaN;
1889
+ const secondNum = require_utils.shouldRenderAsNumber(second, shouldParseNumbers) ? require_utils.parseNumber(second, { parseNumbers }) : NaN;
2143
1890
  let firstValue = Number.isNaN(firstNum) ? first : firstNum;
2144
1891
  let secondValue = Number.isNaN(secondNum) ? second : secondNum;
2145
1892
  if (!preserveValueOrder && firstValue === firstNum && secondValue === secondNum && secondNum < firstNum) {
@@ -2166,7 +1913,7 @@ const defaultRuleProcessorPrisma = (rule, options = {}) => {
2166
1913
  */
2167
1914
  const defaultRuleProcessorSequelize = (rule, { parseNumbers, preserveValueOrder, context = {} } = {}) => {
2168
1915
  const { sequelizeOperators: Op, sequelizeCol: col, sequelizeFn: fn } = context;
2169
- if (processMatchMode(rule)) return;
1916
+ if (require_utils.processMatchMode(rule)) return;
2170
1917
  const { field, operator, value, valueSource } = rule;
2171
1918
  const valueIsField = valueSource === "field";
2172
1919
  const operatorLC = require_isRuleGroup.lc(operator);
@@ -2190,7 +1937,7 @@ const defaultRuleProcessorSequelize = (rule, { parseNumbers, preserveValueOrder,
2190
1937
  ">": Op.gt,
2191
1938
  ">=": Op.gte
2192
1939
  }[operatorLC];
2193
- return { [field]: valueIsField && operatorLC === "=" ? { [Op.col]: value } : { [sequelizeOperator]: valueIsField ? col(value) : shouldRenderAsNumber(value, parseNumbers) ? require_parseNumber.parseNumber(value, { parseNumbers: "strict" }) : value } };
1940
+ return { [field]: valueIsField && operatorLC === "=" ? { [Op.col]: value } : { [sequelizeOperator]: valueIsField ? col(value) : require_utils.shouldRenderAsNumber(value, parseNumbers) ? require_utils.parseNumber(value, { parseNumbers: "strict" }) : value } };
2194
1941
  }
2195
1942
  case "contains": return { [field]: { [Op.substring]: valueIsField ? col(value) : `${value}` } };
2196
1943
  case "beginswith": return { [field]: { [Op.startsWith]: valueIsField ? col(value) : `${value}` } };
@@ -2202,16 +1949,16 @@ const defaultRuleProcessorSequelize = (rule, { parseNumbers, preserveValueOrder,
2202
1949
  case "notnull": return { [field]: { [Op.not]: null } };
2203
1950
  case "in":
2204
1951
  case "notin": {
2205
- const valueAsArray = require_arrayUtils.toArray(value);
2206
- return { [field]: { [operatorLC === "in" ? Op.in : Op.notIn]: valueAsArray.map((val) => valueIsField ? col(val) : shouldRenderAsNumber(val, parseNumbers) ? require_parseNumber.parseNumber(val, { parseNumbers: "strict" }) : val) } };
1952
+ const valueAsArray = require_utils.toArray(value);
1953
+ return { [field]: { [operatorLC === "in" ? Op.in : Op.notIn]: valueAsArray.map((val) => valueIsField ? col(val) : require_utils.shouldRenderAsNumber(val, parseNumbers) ? require_utils.parseNumber(val, { parseNumbers: "strict" }) : val) } };
2207
1954
  }
2208
1955
  case "between":
2209
1956
  case "notbetween": {
2210
- const valueAsArray = require_arrayUtils.toArray(value, { retainEmptyStrings: true });
2211
- if (valueAsArray.length < 2 || !isValidValue(valueAsArray[0]) || !isValidValue(valueAsArray[1])) return;
1957
+ const valueAsArray = require_utils.toArray(value, { retainEmptyStrings: true });
1958
+ if (valueAsArray.length < 2 || !require_utils.isValidValue(valueAsArray[0]) || !require_utils.isValidValue(valueAsArray[1])) return;
2212
1959
  const [first, second] = valueAsArray;
2213
- const firstNum = shouldRenderAsNumber(first, parseNumbers) ? require_parseNumber.parseNumber(first, { parseNumbers: "strict" }) : NaN;
2214
- const secondNum = shouldRenderAsNumber(second, parseNumbers) ? require_parseNumber.parseNumber(second, { parseNumbers: "strict" }) : NaN;
1960
+ const firstNum = require_utils.shouldRenderAsNumber(first, parseNumbers) ? require_utils.parseNumber(first, { parseNumbers: "strict" }) : NaN;
1961
+ const secondNum = require_utils.shouldRenderAsNumber(second, parseNumbers) ? require_utils.parseNumber(second, { parseNumbers: "strict" }) : NaN;
2215
1962
  const firstValue = Number.isNaN(firstNum) ? first : firstNum;
2216
1963
  const secondValue = Number.isNaN(secondNum) ? second : secondNum;
2217
1964
  const valsOneAndTwoOnly = [firstValue, secondValue];
@@ -2219,7 +1966,7 @@ const defaultRuleProcessorSequelize = (rule, { parseNumbers, preserveValueOrder,
2219
1966
  valsOneAndTwoOnly[0] = secondNum;
2220
1967
  valsOneAndTwoOnly[1] = firstNum;
2221
1968
  }
2222
- return { [field]: { [operatorLC === "between" ? Op.between : Op.notBetween]: valueIsField ? valsOneAndTwoOnly.map((v) => col(v)) : valsOneAndTwoOnly.every((v) => shouldRenderAsNumber(v, parseNumbers)) ? valsOneAndTwoOnly.map((v) => require_parseNumber.parseNumber(v, { parseNumbers: "strict" })) : valsOneAndTwoOnly } };
1969
+ return { [field]: { [operatorLC === "between" ? Op.between : Op.notBetween]: valueIsField ? valsOneAndTwoOnly.map((v) => col(v)) : valsOneAndTwoOnly.every((v) => require_utils.shouldRenderAsNumber(v, parseNumbers)) ? valsOneAndTwoOnly.map((v) => require_utils.parseNumber(v, { parseNumbers: "strict" })) : valsOneAndTwoOnly } };
2223
1970
  }
2224
1971
  }
2225
1972
  };
@@ -2312,8 +2059,8 @@ const defaultFormatQueryOptions = {
2312
2059
  paramsKeepPrefix: false,
2313
2060
  numberedParams: false,
2314
2061
  preserveValueOrder: false,
2315
- placeholderFieldName: require_optGroupUtils.defaultPlaceholderFieldName,
2316
- placeholderOperatorName: require_optGroupUtils.defaultPlaceholderOperatorName,
2062
+ placeholderFieldName: require_utils.defaultPlaceholderFieldName,
2063
+ placeholderOperatorName: require_utils.defaultPlaceholderOperatorName,
2317
2064
  quoteValuesWith: "'",
2318
2065
  concatOperator: "||",
2319
2066
  preset: "ansi",
@@ -2353,17 +2100,17 @@ function formatQuery(ruleGroup, optionParam = {}) {
2353
2100
  const format = require_isRuleGroup.lc(optObj.format);
2354
2101
  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;
2355
2102
  const getParseNumberBoolean = (inputType) => {
2356
- return typeof getParseNumberMethod({
2103
+ return typeof require_utils.getParseNumberMethod({
2357
2104
  parseNumbers,
2358
2105
  inputType
2359
2106
  }) === "string" ? true : typeof parseNumbers === "boolean" ? parseNumbers : void 0;
2360
2107
  };
2361
2108
  const operatorProcessor = typeof operatorProcessor_option === "function" ? operatorProcessor_option : defaultOperatorProcessors[format] ?? defaultOperatorProcessor;
2362
- const valueProcessor = typeof valueProcessor_option === "function" ? isValueProcessorLegacy(valueProcessor_option) ? (r) => valueProcessor_option(r.field, r.operator, r.value, r.valueSource) : valueProcessor_option : format === "natural_language" ? defaultValueProcessorNL : valueProcessorCanActAsRuleProcessor.has(format) ? ruleProcessor_option ?? defaultRuleProcessors[format] : defaultValueProcessorByRule;
2109
+ const valueProcessor = typeof valueProcessor_option === "function" ? require_utils.isValueProcessorLegacy(valueProcessor_option) ? (r) => valueProcessor_option(r.field, r.operator, r.value, r.valueSource) : valueProcessor_option : format === "natural_language" ? defaultValueProcessorNL : valueProcessorCanActAsRuleProcessor.has(format) ? ruleProcessor_option ?? defaultRuleProcessors[format] : defaultValueProcessorByRule;
2363
2110
  const ruleProcessor = (typeof ruleProcessor_option === "function" ? ruleProcessor_option : null) ?? (valueProcessorCanActAsRuleProcessor.has(format) && typeof ruleProcessor_option !== "function" && valueProcessor_option ? valueProcessor : null) ?? defaultRuleProcessors[format] ?? defaultRuleProcessorSQL;
2364
- const quoteFieldNamesWith = getQuoteFieldNamesWithArray(quoteFieldNamesWith_option);
2365
- const fields = require_optGroupUtils.toFullOptionList(optObj.fields);
2366
- const getOperators = (f, m) => require_optGroupUtils.toFullOptionList(getOperators_option(f, m) ?? []);
2111
+ const quoteFieldNamesWith = require_utils.getQuoteFieldNamesWithArray(quoteFieldNamesWith_option);
2112
+ const fields = require_utils.toFullOptionList(optObj.fields);
2113
+ const getOperators = (f, m) => require_utils.toFullOptionList(getOperators_option(f, m) ?? []);
2367
2114
  const fallbackExpression = fallbackExpression_option ?? defaultFallbackExpressions[format] ?? defaultFallbackExpressions.sql;
2368
2115
  let validationMap = {};
2369
2116
  // istanbul ignore else
@@ -2381,7 +2128,7 @@ function formatQuery(ruleGroup, optionParam = {}) {
2381
2128
  } else validationMap = validationResult;
2382
2129
  }
2383
2130
  const validatorMap = {};
2384
- const uniqueFields = require_optGroupUtils.toFlatOptionArray(fields);
2131
+ const uniqueFields = require_utils.toFlatOptionArray(fields);
2385
2132
  for (const f of uniqueFields)
2386
2133
  // istanbul ignore else
2387
2134
  if (typeof f.validator === "function") validatorMap[f.value ?? f.name] = f.validator;
@@ -2418,9 +2165,9 @@ function formatQuery(ruleGroup, optionParam = {}) {
2418
2165
  switch (format) {
2419
2166
  case "json":
2420
2167
  case "json_without_ids": {
2421
- const rg = parseNumbers ? (0, immer.produce)(ruleGroup, (g) => numerifyValues(g, finalOptions)) : ruleGroup;
2422
- if (format === "json_without_ids") return JSON.stringify(rg, (key, value) => key === "id" || key === "path" ? void 0 : bigIntJsonStringifyReplacer(key, value));
2423
- return JSON.stringify(rg, bigIntJsonStringifyReplacer, 2);
2168
+ const rg = parseNumbers ? (0, immer.produce)(ruleGroup, (g) => require_utils.numerifyValues(g, finalOptions)) : ruleGroup;
2169
+ if (format === "json_without_ids") return JSON.stringify(rg, (key, value) => key === "id" || key === "path" ? void 0 : require_utils.bigIntJsonStringifyReplacer(key, value));
2170
+ return JSON.stringify(rg, require_utils.bigIntJsonStringifyReplacer, 2);
2424
2171
  }
2425
2172
  case "sql": return defaultRuleGroupProcessorSQL(ruleGroup, finalOptions);
2426
2173
  case "parameterized":
@@ -2493,13 +2240,13 @@ const defaultValueProcessorMongoDBByRule = defaultRuleProcessorMongoDB;
2493
2240
  const defaultValueProcessorSpELByRule = defaultRuleProcessorSpEL;
2494
2241
 
2495
2242
  //#endregion
2496
- exports.bigIntJsonParseReviver = bigIntJsonParseReviver;
2497
- exports.bigIntJsonStringifyReplacer = bigIntJsonStringifyReplacer;
2498
- exports.celCombinatorMap = celCombinatorMap;
2243
+ exports.bigIntJsonParseReviver = require_utils.bigIntJsonParseReviver;
2244
+ exports.bigIntJsonStringifyReplacer = require_utils.bigIntJsonStringifyReplacer;
2245
+ exports.celCombinatorMap = require_utils.celCombinatorMap;
2499
2246
  exports.defaultCELValueProcessor = defaultCELValueProcessor;
2500
2247
  exports.defaultExportOperatorMap = defaultExportOperatorMap;
2501
2248
  exports.defaultMongoDBValueProcessor = defaultMongoDBValueProcessor;
2502
- exports.defaultNLTranslations = defaultNLTranslations;
2249
+ exports.defaultNLTranslations = require_utils.defaultNLTranslations;
2503
2250
  exports.defaultOperatorProcessorNL = defaultOperatorProcessorNL;
2504
2251
  exports.defaultOperatorProcessorSQL = defaultOperatorProcessorSQL;
2505
2252
  exports.defaultRuleGroupProcessorCEL = defaultRuleGroupProcessorCEL;
@@ -2539,20 +2286,20 @@ exports.defaultValueProcessorNL = defaultValueProcessorNL;
2539
2286
  exports.defaultValueProcessorSpELByRule = defaultValueProcessorSpELByRule;
2540
2287
  exports.formatQuery = formatQuery;
2541
2288
  exports.formatQueryOptionPresets = formatQueryOptionPresets;
2542
- exports.getNLTranslataion = getNLTranslataion;
2543
- exports.getQuoteFieldNamesWithArray = getQuoteFieldNamesWithArray;
2544
- exports.getQuotedFieldName = getQuotedFieldName;
2545
- exports.isValidValue = isValidValue;
2546
- exports.isValueProcessorLegacy = isValueProcessorLegacy;
2547
- exports.jsonLogicAdditionalOperators = jsonLogicAdditionalOperators;
2548
- exports.mapSQLOperator = mapSQLOperator;
2289
+ exports.getNLTranslataion = require_utils.getNLTranslataion;
2290
+ exports.getQuoteFieldNamesWithArray = require_utils.getQuoteFieldNamesWithArray;
2291
+ exports.getQuotedFieldName = require_utils.getQuotedFieldName;
2292
+ exports.isValidValue = require_utils.isValidValue;
2293
+ exports.isValueProcessorLegacy = require_utils.isValueProcessorLegacy;
2294
+ exports.jsonLogicAdditionalOperators = require_utils.jsonLogicAdditionalOperators;
2295
+ exports.mapSQLOperator = require_utils.mapSQLOperator;
2549
2296
  exports.mongoDbFallback = mongoDbFallback;
2550
- exports.mongoOperators = mongoOperators;
2551
- exports.normalizeConstituentWordOrder = normalizeConstituentWordOrder;
2552
- exports.numerifyValues = numerifyValues;
2297
+ exports.mongoOperators = require_utils.mongoOperators;
2298
+ exports.normalizeConstituentWordOrder = require_utils.normalizeConstituentWordOrder;
2299
+ exports.numerifyValues = require_utils.numerifyValues;
2553
2300
  exports.prismaFallback = prismaFallback;
2554
- exports.prismaOperators = prismaOperators;
2555
- exports.processMatchMode = processMatchMode;
2556
- exports.shouldRenderAsNumber = shouldRenderAsNumber;
2301
+ exports.prismaOperators = require_utils.prismaOperators;
2302
+ exports.processMatchMode = require_utils.processMatchMode;
2303
+ exports.shouldRenderAsNumber = require_utils.shouldRenderAsNumber;
2557
2304
  exports.sqlDialectPresets = sqlDialectPresets;
2558
2305
  //# sourceMappingURL=formatQuery.js.map