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

Function groupPredicatesByField

packages/db/src/query/predicate-utils.ts:1342–1367  ·  view source on GitHub ↗
(
  predicates: Array<BasicExpression<boolean>>,
)

Source from the content-addressed store, hash-verified

1340}
1341
1342function groupPredicatesByField(
1343 predicates: Array<BasicExpression<boolean>>,
1344): Map<string | null, Array<BasicExpression<boolean>>> {
1345 const groups = new Map<string | null, Array<BasicExpression<boolean>>>()
1346
1347 for (const pred of predicates) {
1348 let fieldKey: string | null = null
1349
1350 if (pred.type === `func`) {
1351 const func = pred as Func
1352 const field =
1353 extractComparisonField(func) ||
1354 extractEqualityField(func) ||
1355 extractInField(func)
1356 if (field) {
1357 fieldKey = field.ref.path.join(`.`)
1358 }
1359 }
1360
1361 const group = groups.get(fieldKey) || []
1362 group.push(pred)
1363 groups.set(fieldKey, group)
1364 }
1365
1366 return groups
1367}
1368
1369function unionSameFieldPredicates(
1370 predicates: Array<BasicExpression<boolean>>,

Callers 1

combineWherePredicatesFunction · 0.85

Calls 6

extractComparisonFieldFunction · 0.85
extractEqualityFieldFunction · 0.85
extractInFieldFunction · 0.85
joinMethod · 0.45
getMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected