Skip to content

docs: Update query examples to use eq() helper for boolean comparisons#1299

Merged
KyleAMathews merged 1 commit intomainfrom
claude/investigate-tanstack-db-1297-iSVBi
Feb 25, 2026
Merged

docs: Update query examples to use eq() helper for boolean comparisons#1299
KyleAMathews merged 1 commit intomainfrom
claude/investigate-tanstack-db-1297-iSVBi

Conversation

@KyleAMathews
Copy link
Collaborator

@KyleAMathews KyleAMathews commented Feb 25, 2026

🎯 Changes

fix #1297

Updated documentation examples and code comments to use the eq() helper function for boolean field comparisons in .where() clauses instead of relying on implicit boolean coercion.

Changes made:

  • Updated import statements to include eq from @tanstack/react-db and @tanstack/db where needed
  • Replaced implicit boolean comparisons (e.g., !todo.completed, product.in_stock, u.active) with explicit eq() calls (e.g., eq(todo.completed, false), eq(product.in_stock, true), eq(u.active, true))
  • Updated examples across:
    • docs/guides/schemas.md (todo and product examples)
    • docs/collections/trailbase-collection.md (todo example)
    • docs/reference/classes/BaseQueryBuilder.md (API documentation)
    • docs/overview.md (overview example)
    • packages/db/src/query/builder/index.ts (JSDoc comments)

This change promotes consistency and clarity in query syntax by using the explicit eq() helper for all boolean comparisons, making the intent clearer and aligning with best practices for query building.

✅ Checklist

  • This change is docs/dev-only (no release).

🚀 Release Impact

  • This change is docs/CI/dev-only (no release).

https://claude.ai/code/session_01VD8cnL4qhw4k5XKaK9qL8L

…ean expressions

The .where() clause requires expression objects (via eq(), gt(), etc.),
not raw JavaScript boolean expressions. Bare property references like
`todo.completed` or negated expressions like `!todo.completed` fail
the isExpressionLike() validation at runtime, throwing
InvalidWhereExpressionError.

Fixed in docs/overview.md, docs/guides/schemas.md,
docs/collections/trailbase-collection.md,
docs/reference/classes/BaseQueryBuilder.md, and source JSDoc in
packages/db/src/query/builder/index.ts.

Fixes #1297

https://claude.ai/code/session_01VD8cnL4qhw4k5XKaK9qL8L
@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 25, 2026

More templates

@tanstack/angular-db

npm i https://pkg.pr.new/@tanstack/angular-db@1299

@tanstack/db

npm i https://pkg.pr.new/@tanstack/db@1299

@tanstack/db-ivm

npm i https://pkg.pr.new/@tanstack/db-ivm@1299

@tanstack/electric-db-collection

npm i https://pkg.pr.new/@tanstack/electric-db-collection@1299

@tanstack/offline-transactions

npm i https://pkg.pr.new/@tanstack/offline-transactions@1299

@tanstack/powersync-db-collection

npm i https://pkg.pr.new/@tanstack/powersync-db-collection@1299

@tanstack/query-db-collection

npm i https://pkg.pr.new/@tanstack/query-db-collection@1299

@tanstack/react-db

npm i https://pkg.pr.new/@tanstack/react-db@1299

@tanstack/rxdb-db-collection

npm i https://pkg.pr.new/@tanstack/rxdb-db-collection@1299

@tanstack/solid-db

npm i https://pkg.pr.new/@tanstack/solid-db@1299

@tanstack/svelte-db

npm i https://pkg.pr.new/@tanstack/svelte-db@1299

@tanstack/trailbase-db-collection

npm i https://pkg.pr.new/@tanstack/trailbase-db-collection@1299

@tanstack/vue-db

npm i https://pkg.pr.new/@tanstack/vue-db@1299

commit: ae3f15a

@github-actions
Copy link
Contributor

Size Change: +2 B (0%)

Total Size: 92.6 kB

Filename Size Change
./packages/db/dist/esm/query/builder/index.js 4.09 kB +2 B (+0.05%)
ℹ️ View Unchanged
Filename Size
./packages/db/dist/esm/collection/change-events.js 1.39 kB
./packages/db/dist/esm/collection/changes.js 1.22 kB
./packages/db/dist/esm/collection/events.js 388 B
./packages/db/dist/esm/collection/index.js 3.32 kB
./packages/db/dist/esm/collection/indexes.js 1.1 kB
./packages/db/dist/esm/collection/lifecycle.js 1.75 kB
./packages/db/dist/esm/collection/mutations.js 2.34 kB
./packages/db/dist/esm/collection/state.js 3.49 kB
./packages/db/dist/esm/collection/subscription.js 3.71 kB
./packages/db/dist/esm/collection/sync.js 2.41 kB
./packages/db/dist/esm/deferred.js 207 B
./packages/db/dist/esm/errors.js 4.7 kB
./packages/db/dist/esm/event-emitter.js 748 B
./packages/db/dist/esm/index.js 2.69 kB
./packages/db/dist/esm/indexes/auto-index.js 742 B
./packages/db/dist/esm/indexes/base-index.js 766 B
./packages/db/dist/esm/indexes/btree-index.js 2.17 kB
./packages/db/dist/esm/indexes/lazy-index.js 1.1 kB
./packages/db/dist/esm/indexes/reverse-index.js 538 B
./packages/db/dist/esm/local-only.js 808 B
./packages/db/dist/esm/local-storage.js 2.1 kB
./packages/db/dist/esm/optimistic-action.js 359 B
./packages/db/dist/esm/paced-mutations.js 496 B
./packages/db/dist/esm/proxy.js 3.75 kB
./packages/db/dist/esm/query/builder/functions.js 733 B
./packages/db/dist/esm/query/builder/ref-proxy.js 1.05 kB
./packages/db/dist/esm/query/compiler/evaluators.js 1.43 kB
./packages/db/dist/esm/query/compiler/expressions.js 430 B
./packages/db/dist/esm/query/compiler/group-by.js 2.23 kB
./packages/db/dist/esm/query/compiler/index.js 2.04 kB
./packages/db/dist/esm/query/compiler/joins.js 2.11 kB
./packages/db/dist/esm/query/compiler/order-by.js 1.45 kB
./packages/db/dist/esm/query/compiler/select.js 1.09 kB
./packages/db/dist/esm/query/expression-helpers.js 1.43 kB
./packages/db/dist/esm/query/ir.js 673 B
./packages/db/dist/esm/query/live-query-collection.js 360 B
./packages/db/dist/esm/query/live/collection-config-builder.js 5.55 kB
./packages/db/dist/esm/query/live/collection-registry.js 264 B
./packages/db/dist/esm/query/live/collection-subscriber.js 2.42 kB
./packages/db/dist/esm/query/live/internal.js 145 B
./packages/db/dist/esm/query/optimizer.js 2.62 kB
./packages/db/dist/esm/query/predicate-utils.js 2.97 kB
./packages/db/dist/esm/query/subset-dedupe.js 921 B
./packages/db/dist/esm/scheduler.js 1.3 kB
./packages/db/dist/esm/SortedMap.js 1.3 kB
./packages/db/dist/esm/strategies/debounceStrategy.js 247 B
./packages/db/dist/esm/strategies/queueStrategy.js 428 B
./packages/db/dist/esm/strategies/throttleStrategy.js 246 B
./packages/db/dist/esm/transactions.js 2.9 kB
./packages/db/dist/esm/utils.js 924 B
./packages/db/dist/esm/utils/browser-polyfills.js 304 B
./packages/db/dist/esm/utils/btree.js 5.61 kB
./packages/db/dist/esm/utils/comparison.js 952 B
./packages/db/dist/esm/utils/cursor.js 457 B
./packages/db/dist/esm/utils/index-optimization.js 1.51 kB
./packages/db/dist/esm/utils/type-guards.js 157 B

compressed-size-action::db-package-size

@github-actions
Copy link
Contributor

Size Change: 0 B

Total Size: 3.7 kB

ℹ️ View Unchanged
Filename Size
./packages/react-db/dist/esm/index.js 225 B
./packages/react-db/dist/esm/useLiveInfiniteQuery.js 1.17 kB
./packages/react-db/dist/esm/useLiveQuery.js 1.34 kB
./packages/react-db/dist/esm/useLiveSuspenseQuery.js 559 B
./packages/react-db/dist/esm/usePacedMutations.js 401 B

compressed-size-action::react-db-package-size

@KyleAMathews KyleAMathews merged commit f13819f into main Feb 25, 2026
7 checks passed
@KyleAMathews KyleAMathews deleted the claude/investigate-tanstack-db-1297-iSVBi branch February 25, 2026 18:21
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.

I think todo.completed should be !todo.completed or eq(todo.completed, false)

3 participants