LiveQueryCollectionConfig

Interface: LiveQueryCollectionConfig<TContext, TResult>

Definiert in: packages/db/src/query/live-query-collection.ts:47

Konfigurationsschnittstelle für Live-Query-Collection-Optionen

Beispiel

typescript
const config: LiveQueryCollectionConfig<any, any> = {
  // id is optional - will auto-generate "live-query-1", "live-query-2", etc.
  query: (q) => q
    .from({ comment: commentsCollection })
    .join(
      { user: usersCollection },
      ({ comment, user }) => eq(comment.user_id, user.id)
    )
    .where(({ comment }) => eq(comment.active, true))
    .select(({ comment, user }) => ({
      id: comment.id,
      content: comment.content,
      authorName: user.name,
    })),
  // getKey is optional - defaults to using stream key
  getKey: (item) => item.id,
}
const config: LiveQueryCollectionConfig<any, any> = {
  // id is optional - will auto-generate "live-query-1", "live-query-2", etc.
  query: (q) => q
    .from({ comment: commentsCollection })
    .join(
      { user: usersCollection },
      ({ comment, user }) => eq(comment.user_id, user.id)
    )
    .where(({ comment }) => eq(comment.active, true))
    .select(({ comment, user }) => ({
      id: comment.id,
      content: comment.content,
      authorName: user.name,
    })),
  // getKey is optional - defaults to using stream key
  getKey: (item) => item.id,
}

Typparameter

TContext erweitert Context

TResult extends object = GetResult<TContext> & object

Eigenschaften

gcTime?

ts
optional gcTime: number;
optional gcTime: number;

Definiert in: packages/db/src/query/live-query-collection.ts:90

GC-Zeit für die Collection


getKey()?

ts
optional getKey: (item) => string | number;
optional getKey: (item) => string | number;

Definiert in: packages/db/src/query/live-query-collection.ts:68

Funktion zum Extrahieren des Schlüssels aus Ergebnis-Elementen. Wenn nicht angegeben, wird standardmäßig der Schlüssel aus dem D2-Stream verwendet.

Parameter

item

TResult

Gibt zurück

string | number


id?

ts
optional id: string;
optional id: string;

Definiert in: packages/db/src/query/live-query-collection.ts:55

Eindeutiger Bezeichner für die Collection. Wenn nicht angegeben, wird standardmäßig live-query-${number} mit automatisch inkrementierender Nummer verwendet.


onDelete?

ts
optional onDelete: DeleteMutationFn<TResult, string | number, Record<string, Fn>>;
optional onDelete: DeleteMutationFn<TResult, string | number, Record<string, Fn>>;

Definiert in: packages/db/src/query/live-query-collection.ts:80


onInsert?

ts
optional onInsert: InsertMutationFn<TResult, string | number, Record<string, Fn>>;
optional onInsert: InsertMutationFn<TResult, string | number, Record<string, Fn>>;

Definiert in: packages/db/src/query/live-query-collection.ts:78

Optionale Mutations-Handler


onUpdate?

ts
optional onUpdate: UpdateMutationFn<TResult, string | number, Record<string, Fn>>;
optional onUpdate: UpdateMutationFn<TResult, string | number, Record<string, Fn>>;

Definiert in: packages/db/src/query/live-query-collection.ts:79


query

ts
query: 
  | QueryBuilder<TContext>
| (q) => QueryBuilder<TContext>;
query: 
  | QueryBuilder<TContext>
| (q) => QueryBuilder<TContext>;

Definiert in: packages/db/src/query/live-query-collection.ts:60

Query-Builder-Funktion, die den Live-Query definiert


schema?

ts
optional schema: StandardSchemaV1<unknown, unknown>;
optional schema: StandardSchemaV1<unknown, unknown>;

Definiert in: packages/db/src/query/live-query-collection.ts:73

Optionales Schema für die Validierung


startSync?

ts
optional startSync: boolean;
optional startSync: boolean;

Definiert in: packages/db/src/query/live-query-collection.ts:85

Starten Sie die Synchronisierung / den Query sofort

Unsere Partner
Code Rabbit
Electric
Prisma
Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.

Bytes abonnieren

Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.

Bytes

Kein Spam. Jederzeit kündbar.