@react-querybuilder/core 8.14.1 → 8.14.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 (56) hide show
  1. package/dist/cjs/react-querybuilder_core.cjs.development.d.ts +6 -1
  2. package/dist/cjs/react-querybuilder_core.cjs.development.js +18 -7
  3. package/dist/cjs/react-querybuilder_core.cjs.development.js.map +1 -1
  4. package/dist/cjs/react-querybuilder_core.cjs.production.d.ts +6 -1
  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-B5Qm_6ut.mjs → convertQuery-CeJSNn37.mjs} +2 -2
  8. package/dist/{convertQuery-B5Qm_6ut.mjs.map → convertQuery-CeJSNn37.mjs.map} +1 -1
  9. package/dist/{convertQuery-DfZehtnd.js → convertQuery-J8LpTG-7.js} +8 -8
  10. package/dist/{convertQuery-DfZehtnd.js.map → convertQuery-J8LpTG-7.js.map} +1 -1
  11. package/dist/formatQuery.js +60 -60
  12. package/dist/formatQuery.mjs +3 -3
  13. package/dist/{isRuleGroup-BCwaLzDj.js → objectUtils-ButT0Mng.js} +26 -1
  14. package/dist/objectUtils-ButT0Mng.js.map +1 -0
  15. package/dist/{isRuleGroup-LzP0HCKh.mjs → objectUtils-C0WB-8ex.mjs} +15 -2
  16. package/dist/objectUtils-C0WB-8ex.mjs.map +1 -0
  17. package/dist/parseCEL.js +8 -8
  18. package/dist/parseCEL.mjs +3 -3
  19. package/dist/parseJSONata.js +6 -6
  20. package/dist/parseJSONata.mjs +2 -2
  21. package/dist/parseJsonLogic.js +34 -34
  22. package/dist/parseJsonLogic.js.map +1 -1
  23. package/dist/parseJsonLogic.mjs +4 -4
  24. package/dist/parseMongoDB.js +23 -23
  25. package/dist/parseMongoDB.js.map +1 -1
  26. package/dist/parseMongoDB.mjs +4 -4
  27. package/dist/parseSQL.js +7 -7
  28. package/dist/parseSQL.mjs +3 -3
  29. package/dist/parseSpEL.js +5 -5
  30. package/dist/parseSpEL.mjs +3 -3
  31. package/dist/{prepareQueryObjects-tMukQHT9.mjs → prepareQueryObjects-BfMlS4ql.mjs} +3 -3
  32. package/dist/{prepareQueryObjects-tMukQHT9.mjs.map → prepareQueryObjects-BfMlS4ql.mjs.map} +1 -1
  33. package/dist/{prepareQueryObjects-Dc8rqsYM.js → prepareQueryObjects-DO3qXriW.js} +5 -5
  34. package/dist/{prepareQueryObjects-Dc8rqsYM.js.map → prepareQueryObjects-DO3qXriW.js.map} +1 -1
  35. package/dist/react-querybuilder_core.d.mts +6 -1
  36. package/dist/react-querybuilder_core.legacy-esm.d.ts +6 -1
  37. package/dist/react-querybuilder_core.legacy-esm.js +15 -5
  38. package/dist/react-querybuilder_core.legacy-esm.js.map +1 -1
  39. package/dist/react-querybuilder_core.mjs +18 -8
  40. package/dist/react-querybuilder_core.mjs.map +1 -1
  41. package/dist/react-querybuilder_core.production.d.mts +6 -1
  42. package/dist/react-querybuilder_core.production.mjs +1 -1
  43. package/dist/react-querybuilder_core.production.mjs.map +1 -1
  44. package/dist/transformQuery.js +5 -4
  45. package/dist/transformQuery.js.map +1 -1
  46. package/dist/transformQuery.mjs +3 -2
  47. package/dist/transformQuery.mjs.map +1 -1
  48. package/dist/{utils-DQoYnxpa.mjs → utils-BlMGIhvx.mjs} +3 -11
  49. package/dist/utils-BlMGIhvx.mjs.map +1 -0
  50. package/dist/{utils-EsYRkPtf.js → utils-CZRhzje-.js} +12 -26
  51. package/dist/utils-CZRhzje-.js.map +1 -0
  52. package/package.json +2 -2
  53. package/dist/isRuleGroup-BCwaLzDj.js.map +0 -1
  54. package/dist/isRuleGroup-LzP0HCKh.mjs.map +0 -1
  55. package/dist/utils-DQoYnxpa.mjs.map +0 -1
  56. package/dist/utils-EsYRkPtf.js.map +0 -1
@@ -820,6 +820,11 @@ const objectKeys = Object.keys;
820
820
  * [Original source](https://github.com/sindresorhus/ts-extras/blob/44f57392c5f027268330771996c4fdf9260b22d6/source/object-entries.ts)
821
821
  */
822
822
  const objectEntries = Object.entries;
823
+ /**
824
+ * Returns `true` if the key could cause prototype pollution when used
825
+ * as a property name in bracket-notation assignment.
826
+ */
827
+ const isUnsafeKey = (key) => key === "__proto__" || key === "constructor" || key === "prototype";
823
828
  //#endregion
824
829
  //#region src/utils/optGroupUtils.ts
825
830
  const isOptionWithName = (opt) => isPojo(opt) && "name" in opt && typeof opt.name === "string";
@@ -1092,10 +1097,11 @@ const parseNumber = (val, { parseNumbers, bigIntOnOverflow } = {}) => {
1092
1097
  const remapProperties = (obj, propertyMap, deleteRemappedProperties) => {
1093
1098
  const result = {};
1094
1099
  for (const key in obj) {
1100
+ if (isUnsafeKey(key)) continue;
1095
1101
  const mappedKey = propertyMap[key];
1096
1102
  if (mappedKey === false) continue;
1097
1103
  if (mappedKey && key !== mappedKey) {
1098
- result[mappedKey] = obj[key];
1104
+ if (!isUnsafeKey(mappedKey)) result[mappedKey] = obj[key];
1099
1105
  if (!deleteRemappedProperties) result[key] = obj[key];
1100
1106
  } else result[key] = obj[key];
1101
1107
  }
@@ -3827,15 +3833,19 @@ const mergeAnyTranslations = (base, ...otherTranslations) => {
3827
3833
  const result = { ...base };
3828
3834
  for (const translations of otherTranslations)
3829
3835
  // istanbul ignore else
3830
- if (translations) for (const key of objectKeys(translations)) if (result[key]) result[key] = {
3831
- ...result[key],
3832
- ...translations[key]
3833
- };
3834
- else result[key] = { ...translations[key] };
3836
+ if (translations) for (const key of objectKeys(translations)) {
3837
+ if (isUnsafeKey(key)) continue;
3838
+ if (result[key]) result[key] = {
3839
+ ...result[key],
3840
+ ...translations[key]
3841
+ };
3842
+ else result[key] = { ...translations[key] };
3843
+ }
3835
3844
  return result;
3836
3845
  };
3837
3846
  const mergeAnyTranslation = (el, keyPropContextMap, defaults) => {
3838
- const finalKeys = objectEntries(keyPropContextMap).map(([key, [pT, cT]]) => [key, pT ?? cT ?? defaults?.[el]?.[key]]).filter((k) => !!k[1]);
3847
+ if (isUnsafeKey(el)) return void 0;
3848
+ const finalKeys = objectEntries(keyPropContextMap).map(([key, [pT, cT]]) => [key, pT ?? cT ?? defaults?.[el]?.[key]]).filter((k) => !isUnsafeKey(k[0]) && !!k[1]);
3839
3849
  if (finalKeys.length > 0 || defaults) {
3840
3850
  const defaultProperties = defaults?.[el] ?? {};
3841
3851
  const finalObject = Object.assign({}, defaultProperties, Object.fromEntries(finalKeys));
@@ -4272,6 +4282,6 @@ const groupInPlace = (query, sourcePathOrID, targetPathOrID, options = {}) => {
4272
4282
  return query;
4273
4283
  };
4274
4284
  //#endregion
4275
- export { LogType, TestID, add, addInPlace, bigIntJsonParseReviver, bigIntJsonStringifyReplacer, celCombinatorMap, clsx, convertFromIC, convertQuery, convertToIC, 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, defaultRuleGroupProcessorDrizzle, defaultRuleGroupProcessorElasticSearch, defaultRuleGroupProcessorJSONata, defaultRuleGroupProcessorJsonLogic, defaultRuleGroupProcessorLDAP, defaultRuleGroupProcessorMongoDB, defaultRuleGroupProcessorMongoDBQuery, defaultRuleGroupProcessorNL, defaultRuleGroupProcessorParameterized, defaultRuleGroupProcessorPrisma, defaultRuleGroupProcessorSQL, defaultRuleGroupProcessorSequelize, defaultRuleGroupProcessorSpEL, defaultRuleProcessorCEL, defaultRuleProcessorDrizzle, defaultRuleProcessorElasticSearch, defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, defaultRuleProcessorLDAP, defaultRuleProcessorMongoDB, defaultRuleProcessorMongoDBQuery, defaultRuleProcessorNL, defaultRuleProcessorParameterized, defaultRuleProcessorPrisma, 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, 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 };
4285
+ export { LogType, TestID, add, addInPlace, bigIntJsonParseReviver, bigIntJsonStringifyReplacer, celCombinatorMap, clsx, convertFromIC, convertQuery, convertToIC, 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, defaultRuleGroupProcessorDrizzle, defaultRuleGroupProcessorElasticSearch, defaultRuleGroupProcessorJSONata, defaultRuleGroupProcessorJsonLogic, defaultRuleGroupProcessorLDAP, defaultRuleGroupProcessorMongoDB, defaultRuleGroupProcessorMongoDBQuery, defaultRuleGroupProcessorNL, defaultRuleGroupProcessorParameterized, defaultRuleGroupProcessorPrisma, defaultRuleGroupProcessorSQL, defaultRuleGroupProcessorSequelize, defaultRuleGroupProcessorSpEL, defaultRuleProcessorCEL, defaultRuleProcessorDrizzle, defaultRuleProcessorElasticSearch, defaultRuleProcessorJSONata, defaultRuleProcessorJsonLogic, defaultRuleProcessorLDAP, defaultRuleProcessorMongoDB, defaultRuleProcessorMongoDBQuery, defaultRuleProcessorNL, defaultRuleProcessorParameterized, defaultRuleProcessorPrisma, 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 };
4276
4286
 
4277
4287
  //# sourceMappingURL=react-querybuilder_core.mjs.map