UNPKG

@yihuangdb/storage-object

Version:

A Node.js storage object layer library using Redis OM

34 lines 1.22 kB
"use strict"; /** * Optimistic Locking support for concurrent updates */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ConflictResolution = exports.OptimisticLockError = void 0; class OptimisticLockError extends Error { expectedVersion; actualVersion; entityId; constructor(message, expectedVersion, actualVersion, entityId) { super(message); this.expectedVersion = expectedVersion; this.actualVersion = actualVersion; this.entityId = entityId; this.name = 'OptimisticLockError'; } } exports.OptimisticLockError = OptimisticLockError; /** * Conflict resolution strategies */ var ConflictResolution; (function (ConflictResolution) { /** Fail the operation (default) */ ConflictResolution["FAIL"] = "fail"; /** Retry the operation with latest data */ ConflictResolution["RETRY"] = "retry"; /** Use last-write-wins semantics */ ConflictResolution["LAST_WRITE_WINS"] = "last_write_wins"; /** Merge changes (for compatible updates) */ ConflictResolution["MERGE"] = "merge"; })(ConflictResolution || (exports.ConflictResolution = ConflictResolution = {})); //# sourceMappingURL=optimistic-lock.js.map