MCPcopy Create free account
hub / github.com/TanStack/db / findCommonConditions

Function findCommonConditions

packages/db/src/query/predicate-utils.ts:921–943  ·  view source on GitHub ↗

* Find common conditions between two predicates. * Returns an array of conditions that appear in both predicates.

(
  predicate1: BasicExpression<boolean>,
  predicate2: BasicExpression<boolean>,
)

Source from the content-addressed store, hash-verified

919 * Returns an array of conditions that appear in both predicates.
920 */
921function findCommonConditions(
922 predicate1: BasicExpression<boolean>,
923 predicate2: BasicExpression<boolean>,
924): Array<BasicExpression<boolean>> {
925 const conditions1 = extractAllConditions(predicate1)
926 const conditions2 = extractAllConditions(predicate2)
927
928 const common: Array<BasicExpression<boolean>> = []
929
930 for (const cond1 of conditions1) {
931 for (const cond2 of conditions2) {
932 if (areExpressionsEqual(cond1, cond2)) {
933 // Avoid duplicates
934 if (!common.some((c) => areExpressionsEqual(c, cond1))) {
935 common.push(cond1)
936 }
937 break
938 }
939 }
940 }
941
942 return common
943}
944
945/**
946 * Extract all individual conditions from a predicate, flattening AND operations.

Callers 1

minusWherePredicatesFunction · 0.85

Calls 2

extractAllConditionsFunction · 0.85
areExpressionsEqualFunction · 0.85

Tested by

no test coverage detected