Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 61 additions & 3 deletions docs/framework/angular/reference/functions/injectLiveQuery.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Defined in: [index.ts:51](https://github.com/TanStack/db/blob/main/packages/angu
## Call Signature

```ts
function injectLiveQuery<TContext>(queryFn): InjectLiveQueryResult<{ [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }>;
function injectLiveQuery<TContext, TParams>(options): InjectLiveQueryResult<{ [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }>;
```

Defined in: [index.ts:61](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L61)
Expand All @@ -53,6 +53,40 @@ Defined in: [index.ts:61](https://github.com/TanStack/db/blob/main/packages/angu

`TContext` *extends* `Context`

#### TParams

`TParams` *extends* `unknown`

### Parameters

#### options

##### params

() => `TParams`

##### query

(`args`) => `QueryBuilder`\<`TContext`\> \| `null` \| `undefined`

### Returns

[`InjectLiveQueryResult`](../../interfaces/InjectLiveQueryResult.md)\<\{ \[K in string \| number \| symbol\]: (TContext\["result"\] extends object ? any\[any\] : TContext\["hasJoins"\] extends true ? TContext\["schema"\] : TContext\["schema"\]\[TContext\["fromSourceName"\]\])\[K\] \}\>

## Call Signature

```ts
function injectLiveQuery<TContext>(queryFn): InjectLiveQueryResult<{ [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }>;
```

Defined in: [index.ts:71](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L71)

### Type Parameters

#### TContext

`TContext` *extends* `Context`

### Parameters

#### queryFn
Expand All @@ -65,11 +99,35 @@ Defined in: [index.ts:61](https://github.com/TanStack/db/blob/main/packages/angu

## Call Signature

```ts
function injectLiveQuery<TContext>(queryFn): InjectLiveQueryResult<{ [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }>;
```

Defined in: [index.ts:74](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L74)

### Type Parameters

#### TContext

`TContext` *extends* `Context`

### Parameters

#### queryFn

(`q`) => `QueryBuilder`\<`TContext`\> \| `null` \| `undefined`

### Returns

[`InjectLiveQueryResult`](../../interfaces/InjectLiveQueryResult.md)\<\{ \[K in string \| number \| symbol\]: (TContext\["result"\] extends object ? any\[any\] : TContext\["hasJoins"\] extends true ? TContext\["schema"\] : TContext\["schema"\]\[TContext\["fromSourceName"\]\])\[K\] \}\>

## Call Signature

```ts
function injectLiveQuery<TContext>(config): InjectLiveQueryResult<{ [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }>;
```

Defined in: [index.ts:64](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L64)
Defined in: [index.ts:77](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L77)

### Type Parameters

Expand All @@ -93,7 +151,7 @@ Defined in: [index.ts:64](https://github.com/TanStack/db/blob/main/packages/angu
function injectLiveQuery<TResult, TKey, TUtils>(liveQueryCollection): InjectLiveQueryResult<TResult, TKey, TUtils>;
```

Defined in: [index.ts:67](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L67)
Defined in: [index.ts:80](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L80)

### Type Parameters

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,14 @@ Contains reactive signals for the query state and data.
### collection

```ts
collection: Signal<Collection<TResult, TKey, TUtils, StandardSchemaV1<unknown, unknown>, TResult>>;
collection: Signal<
| Collection<TResult, TKey, TUtils, StandardSchemaV1<unknown, unknown>, TResult>
| null>;
```

Defined in: [index.ts:36](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L36)

A signal containing the underlying collection instance
A signal containing the underlying collection instance (null for disabled queries)

***

Expand Down Expand Up @@ -126,7 +128,7 @@ A signal containing the complete state map of results keyed by their ID
### status

```ts
status: Signal<CollectionStatus>;
status: Signal<CollectionStatus | "disabled">;
```

Defined in: [index.ts:38](https://github.com/TanStack/db/blob/main/packages/angular-db/src/index.ts#L38)
Expand Down
150 changes: 147 additions & 3 deletions docs/framework/solid/reference/functions/useLiveQuery.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ title: useLiveQuery
function useLiveQuery<TContext>(queryFn): object;
```

Defined in: [useLiveQuery.ts:80](https://github.com/TanStack/db/blob/main/packages/solid-db/src/useLiveQuery.ts#L80)
Defined in: [useLiveQuery.ts:84](https://github.com/TanStack/db/blob/main/packages/solid-db/src/useLiveQuery.ts#L84)

Create a live query using a query function

Expand Down Expand Up @@ -149,11 +149,155 @@ return (

## Call Signature

```ts
function useLiveQuery<TContext>(queryFn): object;
```

Defined in: [useLiveQuery.ts:99](https://github.com/TanStack/db/blob/main/packages/solid-db/src/useLiveQuery.ts#L99)

Create a live query using a query function

### Type Parameters

#### TContext

`TContext` *extends* `Context`

### Parameters

#### queryFn

(`q`) => `QueryBuilder`\<`TContext`\> \| `null` \| `undefined`

Query function that defines what data to fetch

### Returns

`object`

Object with reactive data, state, and status information

#### collection

```ts
collection: Accessor<
| Collection<{ [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }, string | number, {
}, StandardSchemaV1<unknown, unknown>, { [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }>
| null>;
```

#### data

```ts
data: { [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }[];
```

#### isCleanedUp

```ts
isCleanedUp: Accessor<boolean>;
```

#### isError

```ts
isError: Accessor<boolean>;
```

#### isIdle

```ts
isIdle: Accessor<boolean>;
```

#### isLoading

```ts
isLoading: Accessor<boolean>;
```

#### isReady

```ts
isReady: Accessor<boolean>;
```

#### state

```ts
state: ReactiveMap<string | number, { [K in string | number | symbol]: (TContext["result"] extends object ? any[any] : TContext["hasJoins"] extends true ? TContext["schema"] : TContext["schema"][TContext["fromSourceName"]])[K] }>;
```

#### status

```ts
status: Accessor<CollectionStatus | "disabled">;
```

### Examples

```ts
// Basic query with object syntax
const todosQuery = useLiveQuery((q) =>
q.from({ todos: todosCollection })
.where(({ todos }) => eq(todos.completed, false))
.select(({ todos }) => ({ id: todos.id, text: todos.text }))
)
```

```ts
// With dependencies that trigger re-execution
const todosQuery = useLiveQuery(
(q) => q.from({ todos: todosCollection })
.where(({ todos }) => gt(todos.priority, minPriority())),
)
```

```ts
// Join pattern
const personIssues = useLiveQuery((q) =>
q.from({ issues: issueCollection })
.join({ persons: personCollection }, ({ issues, persons }) =>
eq(issues.userId, persons.id)
)
.select(({ issues, persons }) => ({
id: issues.id,
title: issues.title,
userName: persons.name
}))
)
```

```ts
// Handle loading and error states
const todosQuery = useLiveQuery((q) =>
q.from({ todos: todoCollection })
)

return (
<Switch>
<Match when={todosQuery.isLoading()}>
<div>Loading...</div>
</Match>
<Match when={todosQuery.isError()}>
<div>Error: {todosQuery.status()}</div>
</Match>
<Match when={todosQuery.isReady()}>
<For each={todosQuery.data()}>
{(todo) => <li key={todo.id}>{todo.text}</li>}
</For>
</Match>
</Switch>
)
```

## Call Signature

```ts
function useLiveQuery<TContext>(config): object;
```

Defined in: [useLiveQuery.ts:135](https://github.com/TanStack/db/blob/main/packages/solid-db/src/useLiveQuery.ts#L135)
Defined in: [useLiveQuery.ts:158](https://github.com/TanStack/db/blob/main/packages/solid-db/src/useLiveQuery.ts#L158)

Create a live query using configuration object

Expand Down Expand Up @@ -279,7 +423,7 @@ return (
function useLiveQuery<TResult, TKey, TUtils>(liveQueryCollection): object;
```

Defined in: [useLiveQuery.ts:185](https://github.com/TanStack/db/blob/main/packages/solid-db/src/useLiveQuery.ts#L185)
Defined in: [useLiveQuery.ts:208](https://github.com/TanStack/db/blob/main/packages/solid-db/src/useLiveQuery.ts#L208)

Subscribe to an existing live query collection

Expand Down
Loading