function localOnlyCollectionOptions<TExplicit, TSchema, TFallback, TKey>(config): object
function localOnlyCollectionOptions<TExplicit, TSchema, TFallback, TKey>(config): object
Definiert in: packages/db/src/local-only.ts:137
Erstellt Optionen für nur lokale Sammlungen zur Verwendung mit einer Standard-Sammlung
Dies ist eine In-Memory-Sammlung, die nicht mit externen Quellen synchronisiert wird, sondern eine Loopback-Sync-Konfiguration verwendet, die alle optimistischen Änderungen sofort an die Sammlung "synchronisiert" und sie dauerhaft macht. Perfekt für lokale Daten, die keine Persistenz oder externe Synchronisation benötigen.
• TExplicit = unknown
Der explizite Typ der Elemente in der Collection (höchste Priorität)
• TSchema erweitert StandardSchemaV1<unknown, unknown> = never
Der Schema-Typ für Validierung und Typableitung (zweite Priorität)
• TFallback erweitert Record<string, unknown> = Record<string, unknown>
Der Fallback-Typ, wenn kein expliziter Typ oder kein Schema-Typ angegeben wird
• TKey erweitert string | number = string | number
Der Typ des Schlüssels, der von getKey zurückgegeben wird
LocalOnlyCollectionConfig<TExplicit, TSchema, TFallback, TKey>
Konfigurationsoptionen für die nur lokale Sammlung
Objekt
Sammlungsoptionen mit Hilfsprogrammen (derzeit leer, folgt aber dem Muster)
gcTime: number = 0;
gcTime: number = 0;
getKey: (item) => TKey;
getKey: (item) => TKey;
ResolveType<TExplicit, TSchema, TFallback>
TKey
optional id: string;
optional id: string;
Standard-Sammlungskonfigurationseigenschaften
onDelete: (params) => Promise<any> = wrappedOnDelete;
onDelete: (params) => Promise<any> = wrappedOnDelete;
Wrapper für onDelete-Handler, der auch die Transaktion sofort bestätigt
DeleteMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>
Promise<any>
onInsert: (params) => Promise<any> = wrappedOnInsert;
onInsert: (params) => Promise<any> = wrappedOnInsert;
Erstellt Wrapper-Handler, die zuerst Benutzer-Handler aufrufen und dann Transaktionen bestätigen Wickelt den onInsert-Handler des Benutzers ein, um die Transaktion ebenfalls sofort zu bestätigen
InsertMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>
Promise<any>
onUpdate: (params) => Promise<any> = wrappedOnUpdate;
onUpdate: (params) => Promise<any> = wrappedOnUpdate;
Wrapper für onUpdate-Handler, der auch die Transaktion sofort bestätigt
UpdateMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>
Promise<any>
optional schema: TSchema;
optional schema: TSchema;
startSync: boolean = true;
startSync: boolean = true;
sync: SyncConfig<ResolveType<TExplicit, TSchema, TFallback>, TKey> = syncResult.sync;
sync: SyncConfig<ResolveType<TExplicit, TSchema, TFallback>, TKey> = syncResult.sync;
utils: LocalOnlyCollectionUtils;
utils: LocalOnlyCollectionUtils;
// Basic local-only collection
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
})
)
// Basic local-only collection
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
})
)
// Local-only collection with initial data
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
initialData: [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
],
})
)
// Local-only collection with initial data
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
initialData: [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
],
})
)
// Local-only collection with mutation handlers
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
onInsert: async ({ transaction }) => {
console.log('Item inserted:', transaction.mutations[0].modified)
// Custom logic after insert
},
})
)
// Local-only collection with mutation handlers
const collection = createCollection(
localOnlyCollectionOptions({
getKey: (item) => item.id,
onInsert: async ({ transaction }) => {
console.log('Item inserted:', transaction.mutations[0].modified)
// Custom logic after insert
},
})
)
Ihre wöchentliche Dosis JavaScript-Nachrichten. Jeden Montag kostenlos an über 100.000 Entwickler geliefert.