Fix teams deletion issue after refactoring

This commit is contained in:
yflory 2025-03-03 14:33:19 +01:00
parent f8fb7238d2
commit c40973e2a0
2 changed files with 60 additions and 56 deletions

View File

@ -813,36 +813,38 @@
* https://www.npmjs.com/package/saferphore (MIT license)
* because the umd definition doesn't work with rollup build
*/
Util.saferphore = resourceCount => {
var queue = [];
var check;
var mkRa = function () {
var outerCalled = 0;
return function (func) {
if (outerCalled++) { throw new Error("returnAfter() called multiple times"); }
var called = 0;
return function () {
if (called++) {
throw new Error("returnAfter wrapped callback called multiple times");
}
if (func) { func.apply(null, arguments); }
resourceCount++;
check();
Util.Saferphore = {
create: resourceCount => {
var queue = [];
var check;
var mkRa = function () {
var outerCalled = 0;
return function (func) {
if (outerCalled++) { throw new Error("returnAfter() called multiple times"); }
var called = 0;
return function () {
if (called++) {
throw new Error("returnAfter wrapped callback called multiple times");
}
if (func) { func.apply(null, arguments); }
resourceCount++;
check();
};
};
};
};
check = function () {
if (resourceCount < 0) { throw new Error("(resourceCount < 0) should never happen"); }
if (resourceCount === 0 || queue.length === 0) { return; }
resourceCount--;
queue.shift()(mkRa());
};
return {
take: function (func) {
queue.push(func);
check();
}
};
check = function () {
if (resourceCount < 0) { throw new Error("(resourceCount < 0) should never happen"); }
if (resourceCount === 0 || queue.length === 0) { return; }
resourceCount--;
queue.shift()(mkRa());
};
return {
take: function (func) {
queue.push(func);
check();
}
};
}
};
/* End of code copied from saferphore */

View File

@ -813,36 +813,38 @@
* https://www.npmjs.com/package/saferphore (MIT license)
* because the umd definition doesn't work with rollup build
*/
Util.saferphore = resourceCount => {
var queue = [];
var check;
var mkRa = function () {
var outerCalled = 0;
return function (func) {
if (outerCalled++) { throw new Error("returnAfter() called multiple times"); }
var called = 0;
return function () {
if (called++) {
throw new Error("returnAfter wrapped callback called multiple times");
}
if (func) { func.apply(null, arguments); }
resourceCount++;
check();
Util.Saferphore = {
create: resourceCount => {
var queue = [];
var check;
var mkRa = function () {
var outerCalled = 0;
return function (func) {
if (outerCalled++) { throw new Error("returnAfter() called multiple times"); }
var called = 0;
return function () {
if (called++) {
throw new Error("returnAfter wrapped callback called multiple times");
}
if (func) { func.apply(null, arguments); }
resourceCount++;
check();
};
};
};
};
check = function () {
if (resourceCount < 0) { throw new Error("(resourceCount < 0) should never happen"); }
if (resourceCount === 0 || queue.length === 0) { return; }
resourceCount--;
queue.shift()(mkRa());
};
return {
take: function (func) {
queue.push(func);
check();
}
};
check = function () {
if (resourceCount < 0) { throw new Error("(resourceCount < 0) should never happen"); }
if (resourceCount === 0 || queue.length === 0) { return; }
resourceCount--;
queue.shift()(mkRa());
};
return {
take: function (func) {
queue.push(func);
check();
}
};
}
};
/* End of code copied from saferphore */