function createLiveQueryCollection<TQueryFn, TQuery>(query): CollectionForContext<ExtractContext<TQuery>, RootQueryResult<ExtractContext<TQuery>>, {
}> & object;
Defined in: packages/db/src/query/live-query-collection.ts:128
Creates a live query collection directly
TQueryFn extends (q) => QueryBuilder<any>
TQuery extends QueryBuilder<any> = ReturnType<TQueryFn>
TQueryFn & RootQueryFn<TQuery>
CollectionForContext<ExtractContext<TQuery>, RootQueryResult<ExtractContext<TQuery>>, { }> & object
// Minimal usage - just pass a query function
const activeUsers = createLiveQueryCollection(
(q) => q
.from({ user: usersCollection })
.where(({ user }) => eq(user.active, true))
.select(({ user }) => ({ id: user.id, name: user.name }))
)
// Full configuration with custom options
const searchResults = createLiveQueryCollection({
id: "search-results", // Custom ID (auto-generated if omitted)
query: (q) => q
.from({ post: postsCollection })
.where(({ post }) => like(post.title, `%${searchTerm}%`))
.select(({ post }) => ({
id: post.id,
title: post.title,
excerpt: post.excerpt,
})),
getKey: (item) => item.id, // Custom key function (uses stream key if omitted)
utils: {
updateSearchTerm: (newTerm: string) => {
// Custom utility functions
}
}
})
function createLiveQueryCollection<TQuery, TContext, TUtils>(config): CollectionForContext<TContext, RootQueryResult<TContext>, {
}> & object;
Defined in: packages/db/src/query/live-query-collection.ts:141
Creates a live query collection directly
TQuery extends QueryBuilder<any>
TContext extends Context = ExtractContext<TQuery>
TUtils extends UtilsRecord = { }
LiveQueryCollectionConfig<TContext, RootQueryResult<TContext>> & object
CollectionForContext<TContext, RootQueryResult<TContext>, { }> & object
// Minimal usage - just pass a query function
const activeUsers = createLiveQueryCollection(
(q) => q
.from({ user: usersCollection })
.where(({ user }) => eq(user.active, true))
.select(({ user }) => ({ id: user.id, name: user.name }))
)
// Full configuration with custom options
const searchResults = createLiveQueryCollection({
id: "search-results", // Custom ID (auto-generated if omitted)
query: (q) => q
.from({ post: postsCollection })
.where(({ post }) => like(post.title, `%${searchTerm}%`))
.select(({ post }) => ({
id: post.id,
title: post.title,
excerpt: post.excerpt,
})),
getKey: (item) => item.id, // Custom key function (uses stream key if omitted)
utils: {
updateSearchTerm: (newTerm: string) => {
// Custom utility functions
}
}
})