@hypernetlabs/common-redis-provider
Version:
Redis provider, ready for injection, using Neverthrow
24 lines • 780 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RedlockWrapper = void 0;
const neverthrow_1 = require("neverthrow");
const RedisError_1 = require("./RedisError");
class RedlockWrapper {
constructor(lock) {
this.lock = lock;
}
unlock(val) {
return neverthrow_1.ResultAsync.fromSafePromise(this.lock.unlock()).map(() => {
return val;
});
}
extend(ttl) {
return neverthrow_1.ResultAsync.fromPromise(this.lock.extend(ttl), (e) => {
return new RedisError_1.RedisError("Unable to extend lock", e);
}).map((lock) => {
return new RedlockWrapper(lock);
});
}
}
exports.RedlockWrapper = RedlockWrapper;
//# sourceMappingURL=RedlockWrapper.js.map