@tanstack/optimistic
Version:
Core optimistic updates library
28 lines (27 loc) • 1.01 kB
text/typescript
import { Deferred } from './deferred.cjs';
import { PendingMutation, TransactionConfig, TransactionState } from './types.cjs';
export declare function createTransaction(config: TransactionConfig): Transaction;
export declare function getActiveTransaction(): Transaction | undefined;
export declare class Transaction {
id: string;
state: TransactionState;
mutationFn: import('./types.cjs').MutationFn;
mutations: Array<PendingMutation<any>>;
isPersisted: Deferred<Transaction>;
autoCommit: boolean;
createdAt: Date;
metadata: Record<string, unknown>;
error?: {
message: string;
error: Error;
};
constructor(config: TransactionConfig);
setState(newState: TransactionState): void;
mutate(callback: () => void): Transaction;
applyMutations(mutations: Array<PendingMutation<any>>): void;
rollback(config?: {
isSecondaryRollback?: boolean;
}): Transaction;
touchCollection(): void;
commit(): Promise<Transaction>;
}