@tanstack/offline-transactions
Version:
Offline-first transaction capabilities for TanStack DB
27 lines (26 loc) • 1.11 kB
text/typescript
import { OfflineTransaction, StorageAdapter } from '../types.cjs';
import { Collection } from '@tanstack/db';
export declare class OutboxTransactionNotFoundError extends Error {
}
export declare class OutboxManager {
private storage;
private serializer;
private keyPrefix;
private removalRevision;
private activeReads;
private removedAtRevision;
constructor(storage: StorageAdapter, collections: Record<string, Collection<any, any, any, any, any>>);
private getStorageKey;
private recordRemovals;
private pruneRemovalHistory;
add(transaction: OfflineTransaction): Promise<void>;
get(id: string): Promise<OfflineTransaction | null>;
getAll(): Promise<Array<OfflineTransaction>>;
withAll<T>(consume: (transactions: Array<OfflineTransaction>) => T): Promise<T>;
getByKeys(keys: Array<string>): Promise<Array<OfflineTransaction>>;
update(id: string, updates: Partial<OfflineTransaction>): Promise<void>;
remove(id: string): Promise<void>;
removeMany(ids: Array<string>): Promise<void>;
clear(): Promise<void>;
count(): Promise<number>;
}