redis-semaphore
Version:
Distributed mutex and semaphore based on Redis
35 lines • 1.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createEval = void 0;
exports.delay = delay;
exports.getConnectionName = getConnectionName;
const createEval_1 = __importDefault(require("./createEval"));
exports.createEval = createEval_1.default;
function delay(ms, signal) {
return new Promise((resolve, reject) => {
const timeoutId = setTimeout(() => {
cleanup();
resolve();
}, ms);
const onAbort = () => {
cleanup();
reject(signal.reason);
};
const cleanup = () => {
clearTimeout(timeoutId);
signal?.removeEventListener('abort', onAbort);
};
if (signal?.aborted) {
onAbort();
}
signal?.addEventListener('abort', onAbort);
});
}
function getConnectionName(client) {
const connectionName = client.options?.connectionName;
return connectionName ? `<${connectionName}>` : '<unknown client>';
}
//# sourceMappingURL=index.js.map