localOnlyCollectionOptions

Function: localOnlyCollectionOptions()

ts
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.

Typparameter

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

Parameter

config

LocalOnlyCollectionConfig<TExplicit, TSchema, TFallback, TKey>

Konfigurationsoptionen für die nur lokale Sammlung

Gibt zurück

Objekt

Sammlungsoptionen mit Hilfsprogrammen (derzeit leer, folgt aber dem Muster)

gcTime

ts
gcTime: number = 0;
gcTime: number = 0;

getKey()

ts
getKey: (item) => TKey;
getKey: (item) => TKey;

Parameter

item

ResolveType<TExplicit, TSchema, TFallback>

Gibt zurück

TKey

id?

ts
optional id: string;
optional id: string;

Standard-Sammlungskonfigurationseigenschaften

onDelete()

ts
onDelete: (params) => Promise<any> = wrappedOnDelete;
onDelete: (params) => Promise<any> = wrappedOnDelete;

Wrapper für onDelete-Handler, der auch die Transaktion sofort bestätigt

Parameter

params

DeleteMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>

Gibt zurück

Promise<any>

onInsert()

ts
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

Parameter

params

InsertMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>

Gibt zurück

Promise<any>

onUpdate()

ts
onUpdate: (params) => Promise<any> = wrappedOnUpdate;
onUpdate: (params) => Promise<any> = wrappedOnUpdate;

Wrapper für onUpdate-Handler, der auch die Transaktion sofort bestätigt

Parameter

params

UpdateMutationFnParams<ResolveType<TExplicit, TSchema, TFallback>, TKey, LocalOnlyCollectionUtils>

Gibt zurück

Promise<any>

schema?

ts
optional schema: TSchema;
optional schema: TSchema;

startSync

ts
startSync: boolean = true;
startSync: boolean = true;

sync

ts
sync: SyncConfig<ResolveType<TExplicit, TSchema, TFallback>, TKey> = syncResult.sync;
sync: SyncConfig<ResolveType<TExplicit, TSchema, TFallback>, TKey> = syncResult.sync;

utils

ts
utils: LocalOnlyCollectionUtils;
utils: LocalOnlyCollectionUtils;

Beispiele

ts
// Basic local-only collection
const collection = createCollection(
  localOnlyCollectionOptions({
    getKey: (item) => item.id,
  })
)
// Basic local-only collection
const collection = createCollection(
  localOnlyCollectionOptions({
    getKey: (item) => item.id,
  })
)
ts
// 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' },
    ],
  })
)
ts
// 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
    },
  })
)
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.