@react-querybuilder/core 8.16.0 → 8.16.2

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 (74) hide show
  1. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +43 -4
  2. package/dist/cjs/react-querybuilder_core.cjs.development.js +182 -18
  3. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  4. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +43 -4
  5. package/dist/cjs/react-querybuilder_core.cjs.production.js +1 -1
  6. package/dist/cjs/react-querybuilder_core.cjs.production.js.map +1 -1
  7. package/dist/convertQuery-BeJJH9BI.mjs.map +1 -1
  8. package/dist/convertQuery-Lx2HQa0m.js.map +1 -1
  9. package/dist/formatQuery.d.mts +42 -3
  10. package/dist/formatQuery.d.ts +42 -3
  11. package/dist/formatQuery.js +182 -18
  12. package/dist/formatQuery.js.map +1 -1
  13. package/dist/formatQuery.mjs +180 -19
  14. package/dist/formatQuery.mjs.map +1 -1
  15. package/dist/{import-BHlzBLM_.d.mts → import-BXXgiPlr.d.mts} +2 -2
  16. package/dist/{import-C6imciDf.d.ts → import-DqzM2MBd.d.ts} +2 -2
  17. package/dist/{index-D-Iej37L.d.mts → index-CR-tk4Ci.d.mts} +3 -3
  18. package/dist/{index-Cjapnb-H.d.ts → index-NSVgGj45.d.ts} +3 -3
  19. package/dist/objectUtils-Bzug_QfX.js.map +1 -1
  20. package/dist/objectUtils-D96eEEzL.mjs.map +1 -1
  21. package/dist/parseCEL.d.mts +2 -2
  22. package/dist/parseCEL.d.ts +2 -2
  23. package/dist/parseCEL.js.map +1 -1
  24. package/dist/parseCEL.mjs.map +1 -1
  25. package/dist/parseCypher.d.mts +1 -1
  26. package/dist/parseCypher.d.ts +1 -1
  27. package/dist/parseCypher.js.map +1 -1
  28. package/dist/parseCypher.mjs.map +1 -1
  29. package/dist/parseGremlin.d.mts +1 -1
  30. package/dist/parseGremlin.d.ts +1 -1
  31. package/dist/parseGremlin.js.map +1 -1
  32. package/dist/parseGremlin.mjs.map +1 -1
  33. package/dist/parseJSONata.d.mts +2 -2
  34. package/dist/parseJSONata.d.ts +2 -2
  35. package/dist/parseJSONata.js.map +1 -1
  36. package/dist/parseJSONata.mjs.map +1 -1
  37. package/dist/parseJsonLogic.d.mts +2 -2
  38. package/dist/parseJsonLogic.d.ts +2 -2
  39. package/dist/parseJsonLogic.js.map +1 -1
  40. package/dist/parseJsonLogic.mjs.map +1 -1
  41. package/dist/parseMongoDB.d.mts +2 -2
  42. package/dist/parseMongoDB.d.ts +2 -2
  43. package/dist/parseMongoDB.js.map +1 -1
  44. package/dist/parseMongoDB.mjs.map +1 -1
  45. package/dist/parseSPARQL.d.mts +1 -1
  46. package/dist/parseSPARQL.d.ts +1 -1
  47. package/dist/parseSPARQL.js.map +1 -1
  48. package/dist/parseSPARQL.mjs.map +1 -1
  49. package/dist/parseSQL.d.mts +2 -2
  50. package/dist/parseSQL.d.ts +2 -2
  51. package/dist/parseSQL.js.map +1 -1
  52. package/dist/parseSQL.mjs.map +1 -1
  53. package/dist/parseSpEL.d.mts +2 -2
  54. package/dist/parseSpEL.d.ts +2 -2
  55. package/dist/parseSpEL.js.map +1 -1
  56. package/dist/parseSpEL.mjs.map +1 -1
  57. package/dist/prepareQueryObjects-BoG5Rt8z.js.map +1 -1
  58. package/dist/prepareQueryObjects-uA10ZpZX.mjs.map +1 -1
  59. package/dist/react-querybuilder_core.d.mts +43 -4
  60. package/dist/react-querybuilder_core.legacy-esm.d.ts +43 -4
  61. package/dist/react-querybuilder_core.legacy-esm.js +192 -31
  62. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  63. package/dist/react-querybuilder_core.mjs +180 -19
  64. package/dist/react-querybuilder_core.mjs.map +1 -1
  65. package/dist/react-querybuilder_core.production.d.mts +43 -4
  66. package/dist/react-querybuilder_core.production.mjs +1 -1
  67. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  68. package/dist/transformQuery.d.mts +1 -1
  69. package/dist/transformQuery.d.ts +1 -1
  70. package/dist/transformQuery.js.map +1 -1
  71. package/dist/transformQuery.mjs.map +1 -1
  72. package/dist/utils-ChLG90DP.mjs.map +1 -1
  73. package/dist/utils-Qwkq2Q0F.js.map +1 -1
  74. package/package.json +19 -15
@@ -1,6 +1,7 @@
1
1
  import { JsonLogicAll, JsonLogicAnd, JsonLogicDoubleNegation, JsonLogicEqual, JsonLogicGreaterThan, JsonLogicGreaterThanOrEqual, JsonLogicInArray, JsonLogicInString, JsonLogicLessThan, JsonLogicLessThanOrEqual, JsonLogicNegation, JsonLogicNone, JsonLogicNotEqual, JsonLogicOr, JsonLogicSome, JsonLogicStrictEqual, JsonLogicStrictNotEqual, JsonLogicVar, ReservedOperations as JsonLogicReservedOperations, RulesLogic, RulesLogic as JsonLogicRulesLogic } from "json-logic-js";
2
2
  import { Column, Operators, SQL, Table } from "drizzle-orm";
3
3
  import { WhereOptions } from "sequelize";
4
+ import { eq } from "@tanstack/db";
4
5
 
5
6
  //#region ../../node_modules/type-fest/source/primitive.d.ts
6
7
  /**
@@ -1748,7 +1749,7 @@ interface DropCollection {
1748
1749
  *
1749
1750
  * @group Export
1750
1751
  */
1751
- type ExportFormat = "json" | "sql" | "json_without_ids" | "parameterized" | "parameterized_named" | "mongodb" | "mongodb_query" | "cel" | "jsonlogic" | "spel" | "elasticsearch" | "jsonata" | "natural_language" | "ldap" | "drizzle" | "prisma" | "sequelize" | "cypher" | "gql" | "sparql" | "gremlin" | "diagnostics";
1752
+ type ExportFormat = "json" | "sql" | "json_without_ids" | "parameterized" | "parameterized_named" | "mongodb" | "mongodb_query" | "cel" | "jsonlogic" | "spel" | "elasticsearch" | "jsonata" | "natural_language" | "ldap" | "drizzle" | "tanstack_db" | "prisma" | "sequelize" | "cypher" | "gql" | "sparql" | "gremlin" | "diagnostics";
1752
1753
  /**
1753
1754
  * Export formats for {@link formatQuery} that produce objects instead of strings.
1754
1755
  *
@@ -2334,7 +2335,7 @@ type GroupVariantCondition = "not" | "xor";
2334
2335
  *
2335
2336
  * @group Export
2336
2337
  */
2337
- type NLTranslationKey = "and" | "or" | "true" | "false" | `groupPrefix${ZeroOrMoreGroupVariants}` | `groupSuffix${ZeroOrMoreGroupVariants}`;
2338
+ type NLTranslationKey = "and" | "or" | "true" | "false" | "ruleSeparator" | "betweenAnd" | "afterSubject" | "afterVerb" | "afterObject" | "listSeparator" | `groupPrefix${ZeroOrMoreGroupVariants}` | `groupSuffix${ZeroOrMoreGroupVariants}`;
2338
2339
  /**
2339
2340
  * `translations` config object for "natural_language" format.
2340
2341
  *
@@ -3303,6 +3304,23 @@ declare const defaultRuleGroupProcessorSpEL: RuleGroupProcessor<string>;
3303
3304
  */
3304
3305
  declare const defaultRuleGroupProcessorSQL: RuleGroupProcessor<string>;
3305
3306
  //#endregion
3307
+ //#region src/utils/formatQuery/tanStackDbTypes.d.ts
3308
+ type TanStackDbWhereCallbackReturnType = ReturnType<typeof eq>;
3309
+ type TanStackDbWhereCallback = (refs: Record<string, unknown>) => TanStackDbWhereCallbackReturnType;
3310
+ //#endregion
3311
+ //#region src/utils/formatQuery/defaultRuleGroupProcessorTanStackDB.d.ts
3312
+ /**
3313
+ * Default rule group processor used by {@link formatQuery} for the "tanstack_db" format.
3314
+ * Returns a `WhereCallback` suitable for TanStack DB's `.where()` method.
3315
+ *
3316
+ * @example
3317
+ * const where = formatQuery(query, { format: 'tanstack_db', context: { tanstackDb: tsdb } });
3318
+ * const results = useLiveQuery(q => q.from({ todo: todosCollection }).where(where));
3319
+ *
3320
+ * @group Export
3321
+ */
3322
+ declare const defaultRuleGroupProcessorTanStackDB: RuleGroupProcessor<TanStackDbWhereCallback>;
3323
+ //#endregion
3306
3324
  //#region src/utils/formatQuery/defaultRuleGroupProcessorDiagnostics.d.ts
3307
3325
  /**
3308
3326
  * Rule group processor used by {@link formatQuery} for "diagnostics" format.
@@ -3428,6 +3446,11 @@ declare const defaultRuleProcessorPrisma: RuleProcessor;
3428
3446
  declare const defaultRuleProcessorSequelize: RuleProcessor;
3429
3447
  //#endregion
3430
3448
  //#region src/utils/formatQuery/defaultRuleProcessorSPARQL.d.ts
3449
+ /** Auto-prefix a SPARQL variable name with `?` unless it's already prefixed, a URI, or a prefixed name.
3450
+ *
3451
+ * @group Export
3452
+ */
3453
+ declare const sparqlVar: (name: string) => string;
3431
3454
  /**
3432
3455
  * Default rule processor used by {@link formatQuery} for "sparql" format.
3433
3456
  *
@@ -3449,6 +3472,14 @@ declare const defaultOperatorProcessorSQL: RuleProcessor;
3449
3472
  */
3450
3473
  declare const defaultRuleProcessorSQL: RuleProcessor;
3451
3474
  //#endregion
3475
+ //#region src/utils/formatQuery/defaultRuleProcessorTanStackDB.d.ts
3476
+ /**
3477
+ * Default rule processor used by {@link formatQuery} for the "tanstack_db" format.
3478
+ *
3479
+ * @group Export
3480
+ */
3481
+ declare const defaultRuleProcessorTanStackDB: RuleProcessor;
3482
+ //#endregion
3452
3483
  //#region src/utils/formatQuery/defaultValueProcessorNL.d.ts
3453
3484
  /**
3454
3485
  * Default value processor used by {@link formatQuery} for "natural_language" format.
@@ -3562,7 +3593,15 @@ declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: "drizzle" | (
3562
3593
  format: "drizzle";
3563
3594
  })): ReturnType<typeof defaultRuleGroupProcessorDrizzle>;
3564
3595
  /**
3565
- * Generates a Sequelize query object from an RQB query object. The object can
3596
+ * Generates a TanStack DB WhereCallback from an RQB query object. The callback can
3597
+ * be passed directly to TanStack DB's `.where()` method.
3598
+ *
3599
+ * @group Export
3600
+ */
3601
+ declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: "tanstack_db" | (FormatQueryOptions & {
3602
+ format: "tanstack_db";
3603
+ })): ReturnType<typeof defaultRuleGroupProcessorTanStackDB>;
3604
+ /**
3566
3605
  * be assigned to the `where` property in the Sequelize query functions.
3567
3606
  *
3568
3607
  * @group Export
@@ -4634,5 +4673,5 @@ declare function transformQuery(query: RuleGroupType, options?: TransformQueryOp
4634
4673
  */
4635
4674
  declare function transformQuery(query: RuleGroupTypeIC, options?: TransformQueryOptions<RuleGroupTypeIC>): any;
4636
4675
  //#endregion
4637
- export { AccessibleDescriptionGenerator, ActionElementEventHandler, AddMethod, AddOptions, Arity, BaseFullOption, BaseOption, BaseOptionMap, BaseTranslation, BaseTranslationWithLabel, BaseTranslationWithPlaceholders, BaseTranslations, BaseTranslationsFull, Classname, Classnames, Combinator, CombinatorByValue, CommonRuleAndGroupProperties, CommonRuleSubComponentProps, ConstituentWordOrder, ConstituentWordOrderString, DefaultCombinator, DefaultCombinatorExtended, DefaultCombinatorName, DefaultCombinatorNameExtended, DefaultCombinators, DefaultCombinatorsExtended, DefaultMatchModes, DefaultOperator, DefaultOperatorName, DefaultOperators, DefaultRuleGroupArray, DefaultRuleGroupICArray, DefaultRuleGroupType, DefaultRuleGroupTypeAny, DefaultRuleGroupTypeIC, DefaultRuleOrGroupArray, DefaultRuleType, DiagnosticEntry, DiagnosticsFieldSummaryEntry, DiagnosticsResult, DiagnosticsStats, DndDropTargetType, DragCollection, DraggedItem, DropCollection, DropEffect, DropResult, ExportFormat, ExportObjectFormats, ExportOperatorMap, Field, FieldByValue, FindPathReturnType, FlexibleOption, FlexibleOptionGroup, FlexibleOptionList, FlexibleOptionListProp, FormatQueryFinalOptions, FormatQueryOptions, FormatQueryValidateRule, FullCombinator, FullField, FullOperator, FullOption, FullOptionList, FullOptionMap, FullOptionRecord, GenericizeRuleGroupType, GetOptionIdentifierType, GetOptionType, GetRuleGroupType, GetRuleTypeFromGroupWithFieldAndOperator, GroupMethod, GroupOptions, GroupVariantCondition, InputType, InsertMethod, InsertOptions, type JsonLogicAll, type JsonLogicAnd, type JsonLogicDoubleNegation, type JsonLogicEqual, type JsonLogicGreaterThan, type JsonLogicGreaterThanOrEqual, type JsonLogicInArray, type JsonLogicInString, type JsonLogicLessThan, type JsonLogicLessThanOrEqual, type JsonLogicNegation, type JsonLogicNone, type JsonLogicNotEqual, type JsonLogicOr, type JsonLogicReservedOperations, type JsonLogicRulesLogic, type JsonLogicSome, type JsonLogicStrictEqual, type JsonLogicStrictNotEqual, type JsonLogicVar, LogType, MatchConfig, MatchMode, MatchModeOptions, MoveMethod, MoveOptions, NLTranslationKey, NLTranslations, NameLabelPair, Operator, OperatorByValue, Option, OptionGroup, OptionList, ParameterizedNamedSQL, ParameterizedSQL, ParseNumberMethod, ParseNumberOptions, ParseNumbersPropConfig, Path, Placeholder, PrepareOptionListParams, PreparedOptionList, PreparerOptions, QueryActions, QueryBuilderFlags, QueryValidator, RQBJsonLogic, RQBJsonLogicEndsWith, RQBJsonLogicStartsWith, RQBJsonLogicVar, RegenerateIdOptions, RemoveMethod, RemoveNullability, RuleDiagnosticsResult, RuleGroupArray, RuleGroupDiagnosticsArray, RuleGroupDiagnosticsResult, RuleGroupICArray, RuleGroupICDiagnosticsArray, RuleGroupICDiagnosticsResult, RuleGroupProcessor, RuleGroupType, RuleGroupTypeAny, RuleGroupTypeIC, RuleOrGroupArray, RuleProcessor, RuleType, RuleValidator, SQLPreset, StringUnionToFlexibleOptionArray, StringUnionToFullOptionArray, TestID, ToFlexibleOption, ToFullOption, ToRuleGroupType, ToRuleGroupTypeIC, TransformQueryOptions, UpdateMethod, UpdateOptions, UpdateableProperties, ValidationMap, ValidationResult, ValueChangeEventHandler, ValueEditorType, ValueOption, ValueProcessor, ValueProcessorByRule, ValueProcessorLegacy, ValueProcessorOptions, ValueSource, ValueSourceFlexibleOptions, ValueSourceFullOptions, ValueSources, WithRequired, WithUnknownIndex, add, addInPlace, bigIntJsonParseReviver, bigIntJsonStringifyReplacer, celCombinatorMap, clsx, convertFromIC, convertQuery, convertToIC, cypherCombinatorMap, defaultCELValueProcessor, defaultCombinatorLabelMap, defaultCombinators, defaultCombinatorsExtended, defaultControlClassnames, defaultExportOperatorMap, defaultJoinChar, defaultMatchModes, defaultMongoDBValueProcessor, defaultNLTranslations, defaultOperatorLabelMap, defaultOperatorNegationMap, defaultOperatorProcessorNL, defaultOperatorProcessorSQL, defaultOperators, defaultPlaceholderFieldGroupLabel, defaultPlaceholderFieldLabel, defaultPlaceholderFieldName, defaultPlaceholderLabel, defaultPlaceholderName, defaultPlaceholderOperatorGroupLabel, defaultPlaceholderOperatorLabel, defaultPlaceholderOperatorName, defaultPlaceholderValueGroupLabel, defaultPlaceholderValueLabel, defaultPlaceholderValueName, defaultRuleGroupProcessorCEL, defaultRuleGroupProcessorCypher, defaultRuleGroupProcessorDiagnostics, defaultRuleGroupProcessorDrizzle, defaultRuleGroupProcessorElasticSearch, defaultRuleGroupProcessorGremlin, defaultRuleGroupProcessorJSONata, defaultRuleGroupProcessorJsonLogic, defaultRuleGroupProcessorLDAP, defaultRuleGroupProcessorMongoDB, defaultRuleGroupProcessorMongoDBQuery, defaultRuleGroupProcessorNL, defaultRuleGroupProcessorParameterized, defaultRuleGroupProcessorPrisma, defaultRuleGroupProcessorSPARQL, defaultRuleGroupProcessorSQL, defaultRuleGroupProcessorSequelize, defaultRuleGroupProcessorSpEL, defaultRuleProcessorCEL, defaultRuleProcessorCypher, defaultRuleProcessorDrizzle, defaultRuleProcessorElasticSearch, defaultRuleProcessorGremlin, defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, defaultRuleProcessorLDAP, defaultRuleProcessorMongoDB, defaultRuleProcessorMongoDBQuery, defaultRuleProcessorNL, defaultRuleProcessorParameterized, defaultRuleProcessorPrisma, defaultRuleProcessorSPARQL, defaultRuleProcessorSQL, defaultRuleProcessorSequelize, defaultRuleProcessorSpEL, defaultSpELValueProcessor, defaultTranslations, defaultValidator, defaultValueProcessor, defaultValueProcessorByRule, defaultValueProcessorCELByRule, defaultValueProcessorMongoDBByRule, defaultValueProcessorNL, defaultValueProcessorSpELByRule, filterFieldsByComparator, findID, findPath, formatQuery, formatQueryOptionPresets, generateAccessibleDescription, generateID, getCommonAncestorPath, getFirstOption, getMatchModesUtil, getNLTranslataion, getOption, getParentPath, getParseNumberMethod, getPathOfID, getQuoteFieldNamesWithArray, getQuotedFieldName, getValidationClassNames, getValueSourcesUtil, group, groupInPlace, groupInvalidReasons, insert, insertInPlace, isAncestor, isFlexibleOptionArray, isFlexibleOptionGroupArray, isFullOptionArray, isFullOptionGroupArray, isOptionGroupArray, isPojo, isRuleGroup, isRuleGroupType, isRuleGroupTypeIC, isRuleOrGroupValid, isRuleType, isUnsafeKey, isValidValue, isValidationResult, isValueProcessorLegacy, joinWith, jsonLogicAdditionalOperators, lc, mapSQLOperator, mergeAnyTranslation, mergeAnyTranslations, mergeClassnames, mongoDbFallback, mongoOperators, move, moveInPlace, normalizeConstituentWordOrder, nullFreeArray, nullOrUndefinedOrEmpty, numericRegex, numerifyValues, objectEntries, objectKeys, parseNumber, pathIsDisabled, pathsAreEqual, preferAnyProp, preferFlagProps, preferProp, prepareOptionList, prepareRule, prepareRuleGroup, prepareRuleOrGroup, prismaFallback, prismaOperators, processMatchMode, queryBuilderFlagDefaults, regenerateID, regenerateIDs, remove, removeInPlace, rootPath, shouldRenderAsNumber, splitBy, sqlDialectPresets, standardClassnames, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex };
4676
+ export { AccessibleDescriptionGenerator, ActionElementEventHandler, AddMethod, AddOptions, Arity, BaseFullOption, BaseOption, BaseOptionMap, BaseTranslation, BaseTranslationWithLabel, BaseTranslationWithPlaceholders, BaseTranslations, BaseTranslationsFull, Classname, Classnames, Combinator, CombinatorByValue, CommonRuleAndGroupProperties, CommonRuleSubComponentProps, ConstituentWordOrder, ConstituentWordOrderString, DefaultCombinator, DefaultCombinatorExtended, DefaultCombinatorName, DefaultCombinatorNameExtended, DefaultCombinators, DefaultCombinatorsExtended, DefaultMatchModes, DefaultOperator, DefaultOperatorName, DefaultOperators, DefaultRuleGroupArray, DefaultRuleGroupICArray, DefaultRuleGroupType, DefaultRuleGroupTypeAny, DefaultRuleGroupTypeIC, DefaultRuleOrGroupArray, DefaultRuleType, DiagnosticEntry, DiagnosticsFieldSummaryEntry, DiagnosticsResult, DiagnosticsStats, DndDropTargetType, DragCollection, DraggedItem, DropCollection, DropEffect, DropResult, ExportFormat, ExportObjectFormats, ExportOperatorMap, Field, FieldByValue, FindPathReturnType, FlexibleOption, FlexibleOptionGroup, FlexibleOptionList, FlexibleOptionListProp, FormatQueryFinalOptions, FormatQueryOptions, FormatQueryValidateRule, FullCombinator, FullField, FullOperator, FullOption, FullOptionList, FullOptionMap, FullOptionRecord, GenericizeRuleGroupType, GetOptionIdentifierType, GetOptionType, GetRuleGroupType, GetRuleTypeFromGroupWithFieldAndOperator, GroupMethod, GroupOptions, GroupVariantCondition, InputType, InsertMethod, InsertOptions, type JsonLogicAll, type JsonLogicAnd, type JsonLogicDoubleNegation, type JsonLogicEqual, type JsonLogicGreaterThan, type JsonLogicGreaterThanOrEqual, type JsonLogicInArray, type JsonLogicInString, type JsonLogicLessThan, type JsonLogicLessThanOrEqual, type JsonLogicNegation, type JsonLogicNone, type JsonLogicNotEqual, type JsonLogicOr, type JsonLogicReservedOperations, type JsonLogicRulesLogic, type JsonLogicSome, type JsonLogicStrictEqual, type JsonLogicStrictNotEqual, type JsonLogicVar, LogType, MatchConfig, MatchMode, MatchModeOptions, MoveMethod, MoveOptions, NLTranslationKey, NLTranslations, NameLabelPair, Operator, OperatorByValue, Option, OptionGroup, OptionList, ParameterizedNamedSQL, ParameterizedSQL, ParseNumberMethod, ParseNumberOptions, ParseNumbersPropConfig, Path, Placeholder, PrepareOptionListParams, PreparedOptionList, PreparerOptions, QueryActions, QueryBuilderFlags, QueryValidator, RQBJsonLogic, RQBJsonLogicEndsWith, RQBJsonLogicStartsWith, RQBJsonLogicVar, RegenerateIdOptions, RemoveMethod, RemoveNullability, RuleDiagnosticsResult, RuleGroupArray, RuleGroupDiagnosticsArray, RuleGroupDiagnosticsResult, RuleGroupICArray, RuleGroupICDiagnosticsArray, RuleGroupICDiagnosticsResult, RuleGroupProcessor, RuleGroupType, RuleGroupTypeAny, RuleGroupTypeIC, RuleOrGroupArray, RuleProcessor, RuleType, RuleValidator, SQLPreset, StringUnionToFlexibleOptionArray, StringUnionToFullOptionArray, TestID, ToFlexibleOption, ToFullOption, ToRuleGroupType, ToRuleGroupTypeIC, TransformQueryOptions, UpdateMethod, UpdateOptions, UpdateableProperties, ValidationMap, ValidationResult, ValueChangeEventHandler, ValueEditorType, ValueOption, ValueProcessor, ValueProcessorByRule, ValueProcessorLegacy, ValueProcessorOptions, ValueSource, ValueSourceFlexibleOptions, ValueSourceFullOptions, ValueSources, WithRequired, WithUnknownIndex, add, addInPlace, bigIntJsonParseReviver, bigIntJsonStringifyReplacer, celCombinatorMap, clsx, convertFromIC, convertQuery, convertToIC, cypherCombinatorMap, defaultCELValueProcessor, defaultCombinatorLabelMap, defaultCombinators, defaultCombinatorsExtended, defaultControlClassnames, defaultExportOperatorMap, defaultJoinChar, defaultMatchModes, defaultMongoDBValueProcessor, defaultNLTranslations, defaultOperatorLabelMap, defaultOperatorNegationMap, defaultOperatorProcessorNL, defaultOperatorProcessorSQL, defaultOperators, defaultPlaceholderFieldGroupLabel, defaultPlaceholderFieldLabel, defaultPlaceholderFieldName, defaultPlaceholderLabel, defaultPlaceholderName, defaultPlaceholderOperatorGroupLabel, defaultPlaceholderOperatorLabel, defaultPlaceholderOperatorName, defaultPlaceholderValueGroupLabel, defaultPlaceholderValueLabel, defaultPlaceholderValueName, defaultRuleGroupProcessorCEL, defaultRuleGroupProcessorCypher, defaultRuleGroupProcessorDiagnostics, defaultRuleGroupProcessorDrizzle, defaultRuleGroupProcessorElasticSearch, defaultRuleGroupProcessorGremlin, defaultRuleGroupProcessorJSONata, defaultRuleGroupProcessorJsonLogic, defaultRuleGroupProcessorLDAP, defaultRuleGroupProcessorMongoDB, defaultRuleGroupProcessorMongoDBQuery, defaultRuleGroupProcessorNL, defaultRuleGroupProcessorParameterized, defaultRuleGroupProcessorPrisma, defaultRuleGroupProcessorSPARQL, defaultRuleGroupProcessorSQL, defaultRuleGroupProcessorSequelize, defaultRuleGroupProcessorSpEL, defaultRuleGroupProcessorTanStackDB, defaultRuleProcessorCEL, defaultRuleProcessorCypher, defaultRuleProcessorDrizzle, defaultRuleProcessorElasticSearch, defaultRuleProcessorGremlin, defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, defaultRuleProcessorLDAP, defaultRuleProcessorMongoDB, defaultRuleProcessorMongoDBQuery, defaultRuleProcessorNL, defaultRuleProcessorParameterized, defaultRuleProcessorPrisma, defaultRuleProcessorSPARQL, defaultRuleProcessorSQL, defaultRuleProcessorSequelize, defaultRuleProcessorSpEL, defaultRuleProcessorTanStackDB, defaultSpELValueProcessor, defaultTranslations, defaultValidator, defaultValueProcessor, defaultValueProcessorByRule, defaultValueProcessorCELByRule, defaultValueProcessorMongoDBByRule, defaultValueProcessorNL, defaultValueProcessorSpELByRule, filterFieldsByComparator, findID, findPath, formatQuery, formatQueryOptionPresets, generateAccessibleDescription, generateID, getCommonAncestorPath, getFirstOption, getMatchModesUtil, getNLTranslataion, getOption, getParentPath, getParseNumberMethod, getPathOfID, getQuoteFieldNamesWithArray, getQuotedFieldName, getValidationClassNames, getValueSourcesUtil, group, groupInPlace, groupInvalidReasons, insert, insertInPlace, isAncestor, isFlexibleOptionArray, isFlexibleOptionGroupArray, isFullOptionArray, isFullOptionGroupArray, isOptionGroupArray, isPojo, isRuleGroup, isRuleGroupType, isRuleGroupTypeIC, isRuleOrGroupValid, isRuleType, isUnsafeKey, isValidValue, isValidationResult, isValueProcessorLegacy, joinWith, jsonLogicAdditionalOperators, lc, mapSQLOperator, mergeAnyTranslation, mergeAnyTranslations, mergeClassnames, mongoDbFallback, mongoOperators, move, moveInPlace, normalizeConstituentWordOrder, nullFreeArray, nullOrUndefinedOrEmpty, numericRegex, numerifyValues, objectEntries, objectKeys, parseNumber, pathIsDisabled, pathsAreEqual, preferAnyProp, preferFlagProps, preferProp, prepareOptionList, prepareRule, prepareRuleGroup, prepareRuleOrGroup, prismaFallback, prismaOperators, processMatchMode, queryBuilderFlagDefaults, regenerateID, regenerateIDs, remove, removeInPlace, rootPath, shouldRenderAsNumber, sparqlVar, splitBy, sqlDialectPresets, standardClassnames, toArray, toFlatOptionArray, toFullOption, toFullOptionList, toFullOptionMap, transformQuery, trimIfString, uniqByIdentifier, uniqByName, uniqOptGroups, uniqOptList, update, updateInPlace, uuidV4regex };
4638
4677
  //# sourceMappingURL=react-querybuilder_core.cjs.development.d.ts.map
@@ -1923,7 +1923,7 @@ const defaultValueProcessorByRule = ({ operator, value, valueSource }, { escapeQ
1923
1923
  valsOneAndTwoOnly[0] = secondNum;
1924
1924
  valsOneAndTwoOnly[1] = firstNum;
1925
1925
  }
1926
- return (valueIsField ? valsOneAndTwoOnly.map((v) => wrapFieldName(v)) : valsOneAndTwoOnly.every((v) => shouldRenderAsNumber(v, parseNumbers)) ? valsOneAndTwoOnly.map((v) => parseNumber(v, { parseNumbers: "strict" })) : valsOneAndTwoOnly.map((v) => wrapAndEscape(v))).join(` ${translations?.and ?? "and"} `);
1926
+ return (valueIsField ? valsOneAndTwoOnly.map((v) => wrapFieldName(v)) : valsOneAndTwoOnly.every((v) => shouldRenderAsNumber(v, parseNumbers)) ? valsOneAndTwoOnly.map((v) => parseNumber(v, { parseNumbers: "strict" })) : valsOneAndTwoOnly.map((v) => wrapAndEscape(v))).join(` ${translations?.betweenAnd ?? translations?.and ?? "and"} `);
1927
1927
  }
1928
1928
  case "contains":
1929
1929
  case "doesnotcontain": return valueIsField ? concat(quoteValue("%"), wrapFieldName(value), quoteValue("%")) : quoteValue(`%${escapeValue(value)}%`);
@@ -2018,6 +2018,10 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2018
2018
  const operatorLC = lc(operator);
2019
2019
  const valueIsField = valueSource === "field";
2020
2020
  const asFieldOrValue = (v) => valueIsField ? columns[v] : v;
2021
+ const maybeParseNumber = (v) => {
2022
+ if (valueIsField || !parseNumbers) return asFieldOrValue(v);
2023
+ return shouldRenderAsNumber(v, true) ? parseNumber(v, { parseNumbers: true }) : v;
2024
+ };
2021
2025
  if (!column) return void 0;
2022
2026
  const matchEval = processMatchMode(rule);
2023
2027
  if (matchEval === false) return;
@@ -2048,12 +2052,12 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2048
2052
  }
2049
2053
  }
2050
2054
  switch (operatorLC) {
2051
- case "=": return eq(column, asFieldOrValue(value));
2052
- case "!=": return ne(column, asFieldOrValue(value));
2053
- case ">": return gt(column, asFieldOrValue(value));
2054
- case "<": return lt(column, asFieldOrValue(value));
2055
- case ">=": return gte(column, asFieldOrValue(value));
2056
- case "<=": return lte(column, asFieldOrValue(value));
2055
+ case "=": return eq(column, maybeParseNumber(value));
2056
+ case "!=": return ne(column, maybeParseNumber(value));
2057
+ case ">": return gt(column, maybeParseNumber(value));
2058
+ case "<": return lt(column, maybeParseNumber(value));
2059
+ case ">=": return gte(column, maybeParseNumber(value));
2060
+ case "<=": return lte(column, maybeParseNumber(value));
2057
2061
  case "beginswith":
2058
2062
  case "doesnotbeginwith": return (operatorLC === "doesnotbeginwith" ? notLike : like)(column, valueIsField ? sql`${asFieldOrValue(value)} || '%'` : `${value}%`);
2059
2063
  case "contains":
@@ -2064,7 +2068,7 @@ const defaultRuleProcessorDrizzle = (rule, _options) => {
2064
2068
  case "notnull": return isNotNull(column);
2065
2069
  case "in":
2066
2070
  case "notin": {
2067
- const valueAsArray = toArray(value).map((v) => asFieldOrValue(v));
2071
+ const valueAsArray = toArray(value).map((v) => maybeParseNumber(v));
2068
2072
  return operatorLC === "notin" ? notInArray(column, valueAsArray) : inArray(column, valueAsArray);
2069
2073
  }
2070
2074
  case "between":
@@ -2398,7 +2402,7 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
2398
2402
  let firstRule = true;
2399
2403
  for (const rule of rg2.rules) {
2400
2404
  if (typeof rule === "string") {
2401
- precedingCombinator = `, ${translations[rule] ?? rule} `;
2405
+ precedingCombinator = `${translations.ruleSeparator ?? ", "}${translations[rule] ?? rule} `;
2402
2406
  continue;
2403
2407
  }
2404
2408
  if (isRuleGroup(rule)) {
@@ -2440,7 +2444,8 @@ const defaultRuleGroupProcessorNL = (ruleGroup, options) => {
2440
2444
  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));
2441
2445
  const prefix = mustWrap ? `${prefixTL} (`.trim() : "";
2442
2446
  const suffix = mustWrap ? `) ${suffixTL}`.trim() : "";
2443
- return `${prefix}${processedRules.join(isRuleGroupType(rg2) ? `, ${translations[combinator] ?? combinator} ` : "")}${suffix}`;
2447
+ const sep = translations.ruleSeparator ?? ", ";
2448
+ return `${prefix}${processedRules.join(isRuleGroupType(rg2) ? `${sep}${translations[combinator] ?? combinator} ` : "")}${suffix}`;
2444
2449
  };
2445
2450
  return processRuleGroup(ruleGroup, true);
2446
2451
  };
@@ -2728,6 +2733,142 @@ const defaultRuleGroupProcessorSQL = (ruleGroup, options) => {
2728
2733
  return processRuleGroup(ruleGroup, true);
2729
2734
  };
2730
2735
  //#endregion
2736
+ //#region src/utils/formatQuery/defaultRuleProcessorTanStackDB.ts
2737
+ /**
2738
+ * Default rule processor used by {@link formatQuery} for the "tanstack_db" format.
2739
+ *
2740
+ * @group Export
2741
+ */
2742
+ const defaultRuleProcessorTanStackDB = (rule, _options) => {
2743
+ const { parseNumbers, preserveValueOrder, context = {} } = _options ?? ( /* v8 ignore start -- @preserve */ {});
2744
+ const ops = context.tanStackDbOperators;
2745
+ const refs = context._tanstackDbRefs;
2746
+ const primaryRef = context._tanstackDbPrimaryRef;
2747
+ if (!ops || !refs || !primaryRef) return void 0;
2748
+ const { and, eq, gt, gte, inArray, isNull, like, lt, lte, not } = ops;
2749
+ const resolveField = (fieldName) => {
2750
+ const dotIdx = fieldName.indexOf(".");
2751
+ if (dotIdx > 0) {
2752
+ const prefix = fieldName.slice(0, dotIdx);
2753
+ const rest = fieldName.slice(dotIdx + 1);
2754
+ if (refs[prefix]) return refs[prefix][rest];
2755
+ }
2756
+ return refs[primaryRef][fieldName];
2757
+ };
2758
+ const { field, operator, value, valueSource } = rule;
2759
+ const column = resolveField(field);
2760
+ const operatorLC = lc(operator);
2761
+ const valueIsField = valueSource === "field";
2762
+ const asFieldOrValue = (v) => valueIsField ? resolveField(v) : v;
2763
+ const maybeParseNumber = (v) => {
2764
+ if (valueIsField || !parseNumbers) return asFieldOrValue(v);
2765
+ return shouldRenderAsNumber(v, true) ? parseNumber(v, { parseNumbers: true }) : v;
2766
+ };
2767
+ switch (operatorLC) {
2768
+ case "=": return eq(column, maybeParseNumber(value));
2769
+ case "!=": return not(eq(column, maybeParseNumber(value)));
2770
+ case ">": return gt(column, maybeParseNumber(value));
2771
+ case "<": return lt(column, maybeParseNumber(value));
2772
+ case ">=": return gte(column, maybeParseNumber(value));
2773
+ case "<=": return lte(column, maybeParseNumber(value));
2774
+ case "beginswith":
2775
+ case "doesnotbeginwith": {
2776
+ const expr = like(column, valueIsField ? void 0 : `${value}%`);
2777
+ return operatorLC === "doesnotbeginwith" ? not(expr) : expr;
2778
+ }
2779
+ case "contains":
2780
+ case "doesnotcontain": {
2781
+ const expr = like(column, valueIsField ? void 0 : `%${value}%`);
2782
+ return operatorLC === "doesnotcontain" ? not(expr) : expr;
2783
+ }
2784
+ case "endswith":
2785
+ case "doesnotendwith": {
2786
+ const expr = like(column, valueIsField ? void 0 : `%${value}`);
2787
+ return operatorLC === "doesnotendwith" ? not(expr) : expr;
2788
+ }
2789
+ case "null": return isNull(column);
2790
+ case "notnull": return not(isNull(column));
2791
+ case "in":
2792
+ case "notin": {
2793
+ const expr = inArray(column, toArray(value).map((v) => maybeParseNumber(v)));
2794
+ return operatorLC === "notin" ? not(expr) : expr;
2795
+ }
2796
+ case "between":
2797
+ case "notbetween": {
2798
+ const valueAsArray = toArray(value);
2799
+ if (valueAsArray.length >= 2 && isValidValue(valueAsArray[0]) && isValidValue(valueAsArray[1])) {
2800
+ let [first, second] = valueAsArray;
2801
+ const shouldParseNumbers = !(parseNumbers === false);
2802
+ if (!valueIsField && shouldRenderAsNumber(first, shouldParseNumbers) && shouldRenderAsNumber(second, shouldParseNumbers)) {
2803
+ const firstNum = parseNumber(first, { parseNumbers: shouldParseNumbers });
2804
+ const secondNum = parseNumber(second, { parseNumbers: shouldParseNumbers });
2805
+ if (!preserveValueOrder && secondNum < firstNum) {
2806
+ const tempNum = secondNum;
2807
+ second = firstNum;
2808
+ first = tempNum;
2809
+ } else {
2810
+ first = firstNum;
2811
+ second = secondNum;
2812
+ }
2813
+ } else if (valueIsField) {
2814
+ first = asFieldOrValue(first);
2815
+ second = asFieldOrValue(second);
2816
+ }
2817
+ const expr = and(gte(column, first), lte(column, second));
2818
+ return operatorLC === "notbetween" ? not(expr) : expr;
2819
+ }
2820
+ return;
2821
+ }
2822
+ default: return;
2823
+ }
2824
+ };
2825
+ //#endregion
2826
+ //#region src/utils/formatQuery/defaultRuleGroupProcessorTanStackDB.ts
2827
+ /**
2828
+ * Default rule group processor used by {@link formatQuery} for the "tanstack_db" format.
2829
+ * Returns a `WhereCallback` suitable for TanStack DB's `.where()` method.
2830
+ *
2831
+ * @example
2832
+ * const where = formatQuery(query, { format: 'tanstack_db', context: { tanstackDb: tsdb } });
2833
+ * const results = useLiveQuery(q => q.from({ todo: todosCollection }).where(where));
2834
+ *
2835
+ * @group Export
2836
+ */
2837
+ const defaultRuleGroupProcessorTanStackDB = (ruleGroup, options) => (refs) => {
2838
+ const { fields, getParseNumberBoolean, placeholderFieldName, placeholderOperatorName, placeholderValueName, validateRule, validationMap, context = {} } = options;
2839
+ const ops = context.tanStackDbOperators;
2840
+ if (!ops) return void 0;
2841
+ const { and, eq, not, or } = ops;
2842
+ const fallback = eq(1, 1);
2843
+ const refKeys = Object.keys(refs);
2844
+ /* v8 ignore next -- @preserve */
2845
+ if (refKeys.length === 0) return fallback;
2846
+ const ruleProcessor = defaultRuleProcessorTanStackDB;
2847
+ const processRuleGroup = (rg) => {
2848
+ if (!isRuleOrGroupValid(rg, validationMap[rg.id ?? ""])) return;
2849
+ const processedRules = rg.rules.map((rule) => {
2850
+ if (isRuleGroup(rule)) return processRuleGroup(rule);
2851
+ const [validationResult, fieldValidator] = validateRule(rule);
2852
+ if (!isRuleOrGroupValid(rule, validationResult, fieldValidator) || rule.field === placeholderFieldName || rule.operator === placeholderOperatorName || placeholderValueName !== void 0 && rule.value === placeholderValueName) return;
2853
+ const fieldData = getOption(fields, rule.field);
2854
+ return ruleProcessor(rule, {
2855
+ ...options,
2856
+ parseNumbers: getParseNumberBoolean(fieldData?.inputType),
2857
+ fieldData,
2858
+ context: {
2859
+ ...context,
2860
+ _tanstackDbRefs: refs,
2861
+ _tanstackDbPrimaryRef: refKeys[0]
2862
+ }
2863
+ });
2864
+ }).filter(Boolean);
2865
+ if (processedRules.length === 0) return fallback;
2866
+ const ruleGroupExpr = processedRules.length === 1 ? processedRules[0] : rg.combinator === "or" ? or(...processedRules) : and(...processedRules);
2867
+ return rg.not ? not(ruleGroupExpr) : ruleGroupExpr;
2868
+ };
2869
+ return processRuleGroup(convertFromIC(ruleGroup)) ?? fallback;
2870
+ };
2871
+ //#endregion
2731
2872
  //#region src/utils/formatQuery/defaultRuleGroupProcessorDiagnostics.ts
2732
2873
  const numericInputTypes = new Set([
2733
2874
  "number",
@@ -3567,6 +3708,8 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
3567
3708
  const orTL = t.or ?? "or";
3568
3709
  const trueTL = t.true ?? "true";
3569
3710
  const falseTL = t.false ?? "false";
3711
+ const listSep = t.listSeparator ?? ", ";
3712
+ const useOxfordComma = !t.listSeparator;
3570
3713
  switch (operatorLowerCase) {
3571
3714
  case "null":
3572
3715
  case "notnull": return "";
@@ -3586,7 +3729,8 @@ const defaultValueProcessorNL = (rule, opts = {}) => {
3586
3729
  if (valueAsArray.length === 0) return "";
3587
3730
  const valStringArray = valueAsArray.map((v) => valueIsField ? wrapFieldName(getOption(fields ?? [], v)?.label ?? v) : shouldRenderAsNumber(v, parseNumbers) ? `${trimIfString(v)}` : `${wrapAndEscape(v)}`);
3588
3731
  if (valStringArray.length === 1) return valStringArray[0];
3589
- return `(${`${valStringArray.slice(0, -1).join(", ")}${valStringArray.length > 2 ? "," : ""} ${orTL} ${valStringArray.at(-1)}`})`;
3732
+ const oxfordComma = useOxfordComma && valStringArray.length > 2 ? "," : "";
3733
+ return `(${`${valStringArray.slice(0, -1).join(listSep)}${oxfordComma} ${orTL} ${valStringArray.at(-1)}`})`;
3590
3734
  }
3591
3735
  }
3592
3736
  if (typeof rule.value === "boolean") return rule.value ? trueTL : falseTL;
@@ -3699,7 +3843,14 @@ const defaultRuleProcessorNL = (rule, opts) => {
3699
3843
  V: operatorProcessor(rule, opts),
3700
3844
  O: value
3701
3845
  };
3702
- return normalizeConstituentWordOrder(wordOrder).map((term) => `${wordOrderMap[term]}`).join(" ").trim();
3846
+ const translations = opts?.translations ?? {};
3847
+ const suffixMap = {
3848
+ S: translations.afterSubject ?? " ",
3849
+ V: translations.afterVerb ?? " ",
3850
+ O: translations.afterObject ?? " "
3851
+ };
3852
+ const wordOrderTuple = normalizeConstituentWordOrder(wordOrder).filter((term) => wordOrderMap[term] !== "");
3853
+ return wordOrderTuple.map((term, i) => `${wordOrderMap[term]}${i < wordOrderTuple.length - 1 ? suffixMap[term] : ""}`).join("").trim();
3703
3854
  };
3704
3855
  //#endregion
3705
3856
  //#region src/utils/formatQuery/defaultRuleProcessorSQL.ts
@@ -3993,6 +4144,11 @@ const defaultRuleProcessorSequelize = (rule, { parseNumbers, preserveValueOrder,
3993
4144
  //#endregion
3994
4145
  //#region src/utils/formatQuery/defaultRuleProcessorSPARQL.ts
3995
4146
  const escapeDoubleQuotes = (v, escapeQuotes) => typeof v !== "string" || !escapeQuotes ? `${v}` : v.replaceAll(`"`, `\\"`);
4147
+ /** Auto-prefix a SPARQL variable name with `?` unless it's already prefixed, a URI, or a prefixed name.
4148
+ *
4149
+ * @group Export
4150
+ */
4151
+ const sparqlVar = (name) => /^[?<]/.test(name) || name.includes(":") ? name : `?${name}`;
3996
4152
  /**
3997
4153
  * Default rule processor used by {@link formatQuery} for "sparql" format.
3998
4154
  *
@@ -4000,14 +4156,15 @@ const escapeDoubleQuotes = (v, escapeQuotes) => typeof v !== "string" || !escape
4000
4156
  */
4001
4157
  const defaultRuleProcessorSPARQL = (rule, opts = {}) => {
4002
4158
  const { escapeQuotes, parseNumbers } = opts;
4003
- const { field, operator, value, valueSource } = rule;
4159
+ const { field: rawField, operator, value, valueSource } = rule;
4004
4160
  const valueIsField = valueSource === "field";
4005
4161
  const operatorTL = operator.toLowerCase();
4162
+ const field = sparqlVar(rawField);
4006
4163
  const fmtVal = (v) => {
4007
4164
  if (v === null || v === void 0) return "\"\"";
4008
4165
  if (typeof v === "boolean") return `"${v}"^^xsd:boolean`;
4009
4166
  if (typeof v === "bigint") return String(v);
4010
- if (valueIsField) return trimIfString(v);
4167
+ if (valueIsField) return sparqlVar(trimIfString(v));
4011
4168
  if (typeof v === "number" || shouldRenderAsNumber(v, parseNumbers)) return trimIfString(v);
4012
4169
  const s = typeof v === "string" ? v : JSON.stringify(v) ?? "";
4013
4170
  if (s.startsWith("?") || s.startsWith("<") || s.includes(":")) return s;
@@ -4032,12 +4189,12 @@ const defaultRuleProcessorSPARQL = (rule, opts = {}) => {
4032
4189
  case "in": {
4033
4190
  const items = toArray(value).map(fmtVal);
4034
4191
  if (!items.length) return "";
4035
- return items.map((item) => `${field} = ${item}`).join(" || ");
4192
+ return `${field} IN (${items.join(", ")})`;
4036
4193
  }
4037
4194
  case "notin": {
4038
4195
  const items = toArray(value).map(fmtVal);
4039
4196
  if (!items.length) return "";
4040
- return items.map((item) => `${field} != ${item}`).join(" && ");
4197
+ return `${field} NOT IN (${items.join(", ")})`;
4041
4198
  }
4042
4199
  case "between": {
4043
4200
  const arr = toArray(value);
@@ -4100,6 +4257,7 @@ const defaultRuleProcessors = {
4100
4257
  sequelize: defaultRuleProcessorSequelize,
4101
4258
  spel: defaultRuleProcessorSpEL,
4102
4259
  sql: defaultRuleProcessorSQL,
4260
+ tanstack_db: defaultRuleProcessorTanStackDB,
4103
4261
  cypher: defaultRuleProcessorCypher,
4104
4262
  gql: defaultRuleProcessorCypher,
4105
4263
  sparql: defaultRuleProcessorSPARQL,
@@ -4126,6 +4284,7 @@ const defaultOperatorProcessors = {
4126
4284
  sequelize: defaultOperatorProcessor,
4127
4285
  spel: defaultOperatorProcessor,
4128
4286
  sql: defaultOperatorProcessorSQL,
4287
+ tanstack_db: defaultOperatorProcessor,
4129
4288
  cypher: defaultOperatorProcessor,
4130
4289
  gql: defaultOperatorProcessor,
4131
4290
  sparql: defaultOperatorProcessor,
@@ -4172,7 +4331,8 @@ const valueProcessorCanActAsRuleProcessor = new Set([
4172
4331
  "mongodb",
4173
4332
  "prisma",
4174
4333
  "sequelize",
4175
- "spel"
4334
+ "spel",
4335
+ "tanstack_db"
4176
4336
  ]);
4177
4337
  const sqlFormats = new Set([
4178
4338
  "sql",
@@ -4218,7 +4378,7 @@ function formatQuery(ruleGroup, optionParam = {}) {
4218
4378
  } : format === "parameterized_named" ? {
4219
4379
  sql: fallbackExpression,
4220
4380
  params: {}
4221
- } : format === "mongodb" ? `{${fallbackExpression}}` : format === "mongodb_query" ? mongoDbFallback : format === "prisma" ? prismaFallback : format === "jsonlogic" ? false : format === "elasticsearch" ? {} : format === "drizzle" || format === "sequelize" ? void 0 : fallbackExpression;
4381
+ } : format === "mongodb" ? `{${fallbackExpression}}` : format === "mongodb_query" ? mongoDbFallback : format === "prisma" ? prismaFallback : format === "jsonlogic" ? false : format === "elasticsearch" ? {} : format === "drizzle" || format === "sequelize" || format === "tanstack_db" ? void 0 : fallbackExpression;
4222
4382
  }
4223
4383
  } else validationMap = validationResult;
4224
4384
  }
@@ -4278,6 +4438,7 @@ function formatQuery(ruleGroup, optionParam = {}) {
4278
4438
  case "ldap": return defaultRuleGroupProcessorLDAP(ruleGroup, finalOptions);
4279
4439
  case "prisma": return defaultRuleGroupProcessorPrisma(ruleGroup, finalOptions);
4280
4440
  case "drizzle": return defaultRuleGroupProcessorDrizzle(ruleGroup, finalOptions);
4441
+ case "tanstack_db": return defaultRuleGroupProcessorTanStackDB(ruleGroup, finalOptions);
4281
4442
  case "sequelize": return defaultRuleGroupProcessorSequelize(ruleGroup, finalOptions);
4282
4443
  case "cypher":
4283
4444
  case "gql": return defaultRuleGroupProcessorCypher(ruleGroup, finalOptions);
@@ -5051,6 +5212,7 @@ exports.defaultRuleGroupProcessorSPARQL = defaultRuleGroupProcessorSPARQL;
5051
5212
  exports.defaultRuleGroupProcessorSQL = defaultRuleGroupProcessorSQL;
5052
5213
  exports.defaultRuleGroupProcessorSequelize = defaultRuleGroupProcessorSequelize;
5053
5214
  exports.defaultRuleGroupProcessorSpEL = defaultRuleGroupProcessorSpEL;
5215
+ exports.defaultRuleGroupProcessorTanStackDB = defaultRuleGroupProcessorTanStackDB;
5054
5216
  exports.defaultRuleProcessorCEL = defaultRuleProcessorCEL;
5055
5217
  exports.defaultRuleProcessorCypher = defaultRuleProcessorCypher;
5056
5218
  exports.defaultRuleProcessorDrizzle = defaultRuleProcessorDrizzle;
@@ -5068,6 +5230,7 @@ exports.defaultRuleProcessorSPARQL = defaultRuleProcessorSPARQL;
5068
5230
  exports.defaultRuleProcessorSQL = defaultRuleProcessorSQL;
5069
5231
  exports.defaultRuleProcessorSequelize = defaultRuleProcessorSequelize;
5070
5232
  exports.defaultRuleProcessorSpEL = defaultRuleProcessorSpEL;
5233
+ exports.defaultRuleProcessorTanStackDB = defaultRuleProcessorTanStackDB;
5071
5234
  exports.defaultSpELValueProcessor = defaultSpELValueProcessor;
5072
5235
  exports.defaultTranslations = defaultTranslations;
5073
5236
  exports.defaultValidator = defaultValidator;
@@ -5160,6 +5323,7 @@ exports.remove = remove;
5160
5323
  exports.removeInPlace = removeInPlace;
5161
5324
  exports.rootPath = rootPath;
5162
5325
  exports.shouldRenderAsNumber = shouldRenderAsNumber;
5326
+ exports.sparqlVar = sparqlVar;
5163
5327
  exports.splitBy = splitBy;
5164
5328
  exports.sqlDialectPresets = sqlDialectPresets;
5165
5329
  exports.standardClassnames = standardClassnames;