MCPcopy Index your code
hub / github.com/TanStack/db / canOptimizeExpression

Function canOptimizeExpression

packages/db/src/utils/index-optimization.ts:239–264  ·  view source on GitHub ↗
(expression: BasicExpression, collection: CollectionLike<T, TKey>)

Source from the content-addressed store, hash-verified

237 * Checks if an expression can be optimized
238 */
239export function canOptimizeExpression<
240 T extends object,
241 TKey extends string | number,
242>(expression: BasicExpression, collection: CollectionLike<T, TKey>): boolean {
243 if (expression.type === `func`) {
244 switch (expression.name) {
245 case `eq`:
246 case `gt`:
247 case `gte`:
248 case `lt`:
249 case `lte`:
250 return canOptimizeSimpleComparison(expression, collection)
251
252 case `and`:
253 return canOptimizeAndExpression(expression, collection)
254
255 case `or`:
256 return canOptimizeOrExpression(expression, collection)
257
258 case `in`:
259 return canOptimizeInArrayExpression(expression, collection)
260 }
261 }
262
263 return false
264}
265
266/**
267 * Result of compound range optimization, including which AND arguments

Callers 2

canOptimizeAndExpressionFunction · 0.85
canOptimizeOrExpressionFunction · 0.85

Calls 4

canOptimizeAndExpressionFunction · 0.85
canOptimizeOrExpressionFunction · 0.85

Tested by

no test coverage detected