Skip to content

fix: mergeQuery flattenAndBranches#40

Closed
fratzinger wants to merge 1 commit into
mainfrom
fix/mergeQuery-flatten-and
Closed

fix: mergeQuery flattenAndBranches#40
fratzinger wants to merge 1 commit into
mainfrom
fix/mergeQuery-flatten-and

Conversation

@fratzinger

Copy link
Copy Markdown
Member

This pull request improves how query objects are merged, specifically by flattening nested $and branches so that $and never contains another $and. This makes the resulting queries simpler and avoids unnecessary nesting, which can help with readability and downstream processing. The changes include a new utility function, updates to the merge logic, and additional tests to verify the new behavior.

Improvements to query merging:

  • Added a new utility function flattenAndBranches in flatten-and-branches.ts that recursively hoists nested $and branches, ensuring that $and never contains another $and.
  • Updated mergeQueryBodies in merge-query-bodies.ts to use flattenAndBranches when merging with $and, so that merged queries are always flat with respect to $and. [1] [2]

Testing and validation:

  • Added comprehensive unit tests for flattenAndBranches to verify its behavior with various nesting scenarios.
  • Added new test cases in merge-query-bodies.ts and merge-query.util.test.ts to ensure that merging queries with nested $and branches produces the expected flat structure. [1] [2]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant