2025-10-01 19:55:38 +02:00

46 lines
1.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var LocalLockManager = /** @class */ (function () {
function LocalLockManager(serializedData) {
this.locks = [];
if (serializedData)
for (var name_1 in serializedData)
this[name_1] = serializedData[name_1];
}
LocalLockManager.prototype.getLocks = function (callback) {
this.locks = this.locks.filter(function (lock) { return !lock.expired(); });
callback(null, this.locks);
};
LocalLockManager.prototype.setLock = function (lock, callback) {
this.locks.push(lock);
callback(null);
};
LocalLockManager.prototype.removeLock = function (uuid, callback) {
for (var index = 0; index < this.locks.length; ++index)
if (this.locks[index].uuid === uuid) {
this.locks.splice(index, 1);
return callback(null, true);
}
callback(null, false);
};
LocalLockManager.prototype.getLock = function (uuid, callback) {
this.locks = this.locks.filter(function (lock) { return !lock.expired(); });
for (var _i = 0, _a = this.locks; _i < _a.length; _i++) {
var lock = _a[_i];
if (lock.uuid === uuid)
return callback(null, lock);
}
callback();
};
LocalLockManager.prototype.refresh = function (uuid, timeoutSeconds, callback) {
this.getLock(uuid, function (e, lock) {
if (e || !lock)
return callback(e);
lock.refresh(timeoutSeconds);
callback(null, lock);
});
};
return LocalLockManager;
}());
exports.LocalLockManager = LocalLockManager;