@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.
- package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +43 -4
- package/dist/cjs/react-querybuilder_core.cjs.development.js +182 -18
- package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
- package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +43 -4
- package/dist/cjs/react-querybuilder_core.cjs.production.js +1 -1
- package/dist/cjs/react-querybuilder_core.cjs.production.js.map +1 -1
- package/dist/convertQuery-BeJJH9BI.mjs.map +1 -1
- package/dist/convertQuery-Lx2HQa0m.js.map +1 -1
- package/dist/formatQuery.d.mts +42 -3
- package/dist/formatQuery.d.ts +42 -3
- package/dist/formatQuery.js +182 -18
- package/dist/formatQuery.js.map +1 -1
- package/dist/formatQuery.mjs +180 -19
- package/dist/formatQuery.mjs.map +1 -1
- package/dist/{import-BHlzBLM_.d.mts → import-BXXgiPlr.d.mts} +2 -2
- package/dist/{import-C6imciDf.d.ts → import-DqzM2MBd.d.ts} +2 -2
- package/dist/{index-D-Iej37L.d.mts → index-CR-tk4Ci.d.mts} +3 -3
- package/dist/{index-Cjapnb-H.d.ts → index-NSVgGj45.d.ts} +3 -3
- package/dist/objectUtils-Bzug_QfX.js.map +1 -1
- package/dist/objectUtils-D96eEEzL.mjs.map +1 -1
- package/dist/parseCEL.d.mts +2 -2
- package/dist/parseCEL.d.ts +2 -2
- package/dist/parseCEL.js.map +1 -1
- package/dist/parseCEL.mjs.map +1 -1
- package/dist/parseCypher.d.mts +1 -1
- package/dist/parseCypher.d.ts +1 -1
- package/dist/parseCypher.js.map +1 -1
- package/dist/parseCypher.mjs.map +1 -1
- package/dist/parseGremlin.d.mts +1 -1
- package/dist/parseGremlin.d.ts +1 -1
- package/dist/parseGremlin.js.map +1 -1
- package/dist/parseGremlin.mjs.map +1 -1
- package/dist/parseJSONata.d.mts +2 -2
- package/dist/parseJSONata.d.ts +2 -2
- package/dist/parseJSONata.js.map +1 -1
- package/dist/parseJSONata.mjs.map +1 -1
- package/dist/parseJsonLogic.d.mts +2 -2
- package/dist/parseJsonLogic.d.ts +2 -2
- package/dist/parseJsonLogic.js.map +1 -1
- package/dist/parseJsonLogic.mjs.map +1 -1
- package/dist/parseMongoDB.d.mts +2 -2
- package/dist/parseMongoDB.d.ts +2 -2
- package/dist/parseMongoDB.js.map +1 -1
- package/dist/parseMongoDB.mjs.map +1 -1
- package/dist/parseSPARQL.d.mts +1 -1
- package/dist/parseSPARQL.d.ts +1 -1
- package/dist/parseSPARQL.js.map +1 -1
- package/dist/parseSPARQL.mjs.map +1 -1
- package/dist/parseSQL.d.mts +2 -2
- package/dist/parseSQL.d.ts +2 -2
- package/dist/parseSQL.js.map +1 -1
- package/dist/parseSQL.mjs.map +1 -1
- package/dist/parseSpEL.d.mts +2 -2
- package/dist/parseSpEL.d.ts +2 -2
- package/dist/parseSpEL.js.map +1 -1
- package/dist/parseSpEL.mjs.map +1 -1
- package/dist/prepareQueryObjects-BoG5Rt8z.js.map +1 -1
- package/dist/prepareQueryObjects-uA10ZpZX.mjs.map +1 -1
- package/dist/react-querybuilder_core.d.mts +43 -4
- package/dist/react-querybuilder_core.legacy-esm.d.ts +43 -4
- package/dist/react-querybuilder_core.legacy-esm.js +192 -31
- package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
- package/dist/react-querybuilder_core.mjs +180 -19
- package/dist/react-querybuilder_core.mjs.map +1 -1
- package/dist/react-querybuilder_core.production.d.mts +43 -4
- package/dist/react-querybuilder_core.production.mjs +1 -1
- package/dist/react-querybuilder_core.production.mjs.map +1 -1
- package/dist/transformQuery.d.mts +1 -1
- package/dist/transformQuery.d.ts +1 -1
- package/dist/transformQuery.js.map +1 -1
- package/dist/transformQuery.mjs.map +1 -1
- package/dist/utils-ChLG90DP.mjs.map +1 -1
- package/dist/utils-Qwkq2Q0F.js.map +1 -1
- 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
|
|
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,
|
|
2052
|
-
case "!=": return ne(column,
|
|
2053
|
-
case ">": return gt(column,
|
|
2054
|
-
case "<": return lt(column,
|
|
2055
|
-
case ">=": return gte(column,
|
|
2056
|
-
case "<=": return lte(column,
|
|
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) =>
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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;
|