frontend/.pnpm-store/v3/files/ce/39580e87eeeb6c869194d79c4a1b0ca3bb04665aab7c5cf389b63f9fdd2671723f543edb57238a5e20ff129f42078e78d1637dc8ac02efbb09960ae506bfef

30 lines
772 B
Plaintext

var nextHandle = 1;
var resolved;
var activeHandles = {};
function findAndClearHandle(handle) {
if (handle in activeHandles) {
delete activeHandles[handle];
return true;
}
return false;
}
export var Immediate = {
setImmediate: function (cb) {
var handle = nextHandle++;
activeHandles[handle] = true;
if (!resolved) {
resolved = Promise.resolve();
}
resolved.then(function () { return findAndClearHandle(handle) && cb(); });
return handle;
},
clearImmediate: function (handle) {
findAndClearHandle(handle);
},
};
export var TestTools = {
pending: function () {
return Object.keys(activeHandles).length;
}
};
//# sourceMappingURL=Immediate.js.map