@yihuangdb/storage-object
Version:
A Node.js storage object layer library using Redis OM
32 lines • 994 B
TypeScript
/**
* Optimistic Locking support for concurrent updates
*/
export declare class OptimisticLockError extends Error {
readonly expectedVersion: number;
readonly actualVersion: number;
readonly entityId: string;
constructor(message: string, expectedVersion: number, actualVersion: number, entityId: string);
}
export interface UpdateOptions {
expectedVersion?: number;
retryOnConflict?: boolean;
maxRetries?: number;
}
export interface TransactionOptions {
isolationLevel?: 'READ_COMMITTED' | 'REPEATABLE_READ' | 'SERIALIZABLE';
timeout?: number;
}
/**
* Conflict resolution strategies
*/
export declare enum ConflictResolution {
/** Fail the operation (default) */
FAIL = "fail",
/** Retry the operation with latest data */
RETRY = "retry",
/** Use last-write-wins semantics */
LAST_WRITE_WINS = "last_write_wins",
/** Merge changes (for compatible updates) */
MERGE = "merge"
}
//# sourceMappingURL=optimistic-lock.d.ts.map